/* Quarto Plano: cabeçalho igual ao do site, tema claro e escuro, catálogo e página do projeto. Carrega depois do style.css. */

:root { --preco: #22C55E; --borda-forte: #4A4A4A; --vidro: rgba(0, 0, 0, 0.6); }

/* ---------- Largura do site: uma medida só para cabeçalho, páginas, loja e conta ----------
   Conteúdo até 1408px (como a Archshop) e margem lateral que cresce com a tela:
   16px no celular, 32px no tablet, 48px no notebook e 64px em telas grandes. */
:root { --conteudo: 1408px; --margem: 16px; }
@media (min-width: 640px) { :root { --margem: 32px; } }
@media (min-width: 1024px) { :root { --margem: 48px; } }
@media (min-width: 1280px) { :root { --margem: 64px; } }
.qp-container { max-width: none; width: min(var(--conteudo), 100% - 2 * var(--margem)); padding-inline: 0; }
html body .qs .miolo { width: min(var(--conteudo), 100% - 2 * var(--margem)); }

/* ---------- Tema claro ---------- */
html[data-tema="claro"] {
	--bg: #FFFFFF; --s1: #F5F5F6; --s2: #EDEDEF; --s3: #E4E4E7; --line: #D4D4D8;
	--text: #0A0A0A; --muted: #5B5B64; --soft: #34343B;
	--brand: #00778A; --brand-ink: #FFFFFF; --success: #15803D; --danger: #B91C1C;
	--preco: #15803D; --borda-forte: #A1A1AA; --vidro: rgba(255, 255, 255, 0.72);
	color-scheme: light;
}
html[data-tema="claro"] .qp-gradient-text { background: linear-gradient(90deg, #000000 0%, #666666 100%); -webkit-background-clip: text; background-clip: text; }
html[data-tema="claro"] .qp-js .qp-word { color: rgba(0, 0, 0, 0.28); }
html[data-tema="claro"] .qp-js .qp-word.is-on { color: var(--text); }
html[data-tema="claro"] .qp-btn--primary:hover, html[data-tema="claro"] .woocommerce .button.alt:hover,
html[data-tema="claro"] .woocommerce #place_order:hover, html[data-tema="claro"] .woocommerce .single_add_to_cart_button:hover { background: #0A0A0A; border-color: #0A0A0A; color: #FFFFFF; }
html[data-tema="claro"] .qp-btn--ghost:hover, html[data-tema="claro"] .woocommerce .button:hover { border-color: var(--borda-forte); }
html[data-tema="claro"] .qp-menu { background: rgba(255, 255, 255, 0.92); }
html[data-tema="claro"] .qp-alert--success { color: #166534; }
html[data-tema="claro"] .qp-alert--error, html[data-tema="claro"] .woocommerce-error { color: #991B1B; }
html[data-tema="claro"] .qp-card__icon { background: rgba(0, 119, 138, 0.1); border-color: rgba(0, 119, 138, 0.3); }
html[data-tema="claro"] .woocommerce .blockUI.blockOverlay { background: rgba(255, 255, 255, 0.6) !important; }
.qp-card:hover, .qp-faq__item[open], .qp-work:hover, .woocommerce ul.products li.product:hover { border-color: var(--borda-forte); }

/* ---------- Cabeçalho: barra cheia, igual ao do site ---------- */
.qp-header { padding: 0; }
.admin-bar .qp-header { top: 32px; }
.qp-header__bar {
	max-width: none; border-radius: 0; border-width: 0 0 1px; gap: var(--sp-3);
	padding: var(--sp-3) max(var(--margem), calc((100% - var(--conteudo)) / 2));
	background: var(--vidro); border-color: var(--line); justify-content: flex-start; min-height: 72px;
	backdrop-filter: blur(20px) saturate(140%); -webkit-backdrop-filter: blur(20px) saturate(140%);
}
.qp-header.is-scrolled .qp-header__bar { background: var(--vidro); border-color: var(--line); }
.qp-logo { margin-right: var(--sp-5); }
.qp-nav { margin-right: auto; }
.qp-nav a:hover, .qp-nav a[aria-current="page"] { background: var(--s3); }
.qp-header__actions { margin-left: auto; }
.qp-header__cta { display: none !important; }
.qp-header__login { background: var(--text); color: var(--bg); border-color: var(--text); }
.qp-header__login:hover { background: var(--soft); border-color: var(--soft); transform: none; }
.qp-icon-btn, .qp-tema { width: 40px; height: 40px; }
.qp-tema {
	display: inline-grid; place-items: center; border-radius: var(--r-full); background: var(--s1); border: 1px solid var(--line);
	color: var(--text); font-size: 20px; cursor: pointer; transition: background-color 700ms var(--ease), transform 700ms var(--ease);
}
.qp-tema:hover { background: var(--s3); }
.qp-tema:active { transform: scale(0.96); }
.qp-tema .qp-tema__sol { display: none; }
html[data-tema="claro"] .qp-tema .qp-tema__sol { display: inline-block; }
html[data-tema="claro"] .qp-tema .qp-tema__lua { display: none; }
.qp-menu__tema { display: flex; align-items: center; gap: var(--sp-3); }
@media (min-width: 768px) { .qp-header { padding-top: 0; } }

/* ---------- Aviso curto na tela ---------- */
.qp-toast {
	position: fixed; left: 50%; bottom: var(--sp-7); z-index: 200; transform: translate(-50%, 24px); opacity: 0;
	padding: var(--sp-3) var(--sp-5); border-radius: var(--r-full); background: var(--text); color: var(--bg);
	font-size: 14px; line-height: 20px; font-weight: 600; pointer-events: none;
	transition: opacity 500ms var(--ease), transform 500ms var(--ease);
}
.qp-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* ---------- Catálogo: cartão do projeto ---------- */
.woocommerce .qp-woo ul.products { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: var(--sp-6); }
.woocommerce .qp-woo ul.products::before, .woocommerce .qp-woo ul.products::after { display: none; }
.woocommerce ul.products li.product.qp-cp {
	position: relative; display: block; padding: 0; background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-3xl); overflow: hidden;
	transition: border-color 700ms var(--ease), transform 700ms var(--ease);
}
.woocommerce ul.products li.product.qp-cp:hover { transform: translateY(-4px); }
.qp-cp__img { display: block; aspect-ratio: 16 / 11; overflow: hidden; background: var(--s2); }
.woocommerce ul.products li.product.qp-cp .qp-cp__img img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; margin: 0; transition: transform 900ms var(--ease); }
.qp-cp:hover .qp-cp__img img { transform: scale(1.04); }
.qp-cp__vazio { display: grid; place-items: center; height: 100%; font-size: 48px; color: var(--muted); }
.qp-cp__corpo { display: grid; gap: var(--sp-4); padding: var(--sp-5) var(--sp-5) var(--sp-4); }
.qp-cp__topo { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); }
.woocommerce ul.products li.product.qp-cp .qp-cp__titulo { margin: 0; padding: 0; font-size: 20px; line-height: 28px; color: var(--text); }
.qp-cp__titulo a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.qp-cp__acoes { display: flex; gap: var(--sp-2); position: relative; z-index: 2; }
.qp-cp__bt {
	display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: var(--r-full); border: 1px solid transparent;
	background: transparent; color: var(--soft); font-size: 22px; cursor: pointer;
	transition: background-color 500ms var(--ease), color 500ms var(--ease), transform 500ms var(--ease);
}
.qp-cp__bt:hover { background: var(--s3); color: var(--text); }
.qp-cp__bt:active { transform: scale(0.92); }
.qp-cp__bt[aria-pressed="true"] { color: #EF4444; }
.qp-cp__bt svg { display: block; }
.qp-cp__bt[aria-pressed="true"] svg path { fill: currentColor; }
.qp-cp__meio { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.qp-cp__chips { list-style: none; display: flex; gap: var(--sp-2); margin: 0; padding: 0; }
.qp-cp__chips li { padding: var(--sp-1) var(--sp-3); border-radius: var(--r-full); background: var(--s3); color: var(--text); font-size: 12px; line-height: 16px; font-weight: 600; }
.qp-cp__contas { display: flex; gap: var(--sp-4); margin: 0; color: var(--muted); font-size: 14px; line-height: 20px; }
.qp-cp__contas b { font-weight: 500; color: var(--soft); }
.qp-cp__dados { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-3); margin: 0; padding-top: var(--sp-4); border-top: 1px solid var(--line); text-align: center; }
.qp-cp__dados div { display: grid; gap: var(--sp-1); }
.qp-cp__dados dt { font-size: 14px; line-height: 20px; color: var(--text); font-weight: 500; }
.qp-cp__dados dd { margin: 0; font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-cp__resumo { margin: 0; padding-top: var(--sp-4); border-top: 1px solid var(--line); font-size: 14px; line-height: 20px; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.qp-cp__preco { display: flex; align-items: stretch; border-top: 1px solid var(--line); background: var(--s2); position: relative; z-index: 2; }
.qp-cp__zap { display: grid; place-items: center; width: 56px; flex: none; color: #16A34A; font-size: 28px; border-right: 1px solid var(--line); transition: background-color 500ms var(--ease); }
.qp-cp__zap:hover { background: var(--s3); }
.qp-cp__valor { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-4) var(--sp-5); font-size: 14px; line-height: 20px; color: var(--soft); }
.qp-cp__valor strong { font-size: 16px; line-height: 24px; color: var(--preco); font-weight: 600; }
.woocommerce ul.products li.product.qp-cp .price { padding: 0; color: var(--preco); }

/* ---------- Catálogo: filtros ---------- */
.qp-filtros { margin: 0 0 var(--sp-7); background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-3xl); }
.qp-filtros__abrir {
	display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-4) var(--sp-5); cursor: pointer; list-style: none;
	font-size: 16px; line-height: 24px; font-weight: 600; color: var(--text);
}
.qp-filtros__abrir::-webkit-details-marker { display: none; }
.qp-filtros__abrir .ph { font-size: 20px; color: var(--brand); }
.qp-filtros__abrir b { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 var(--sp-2); border-radius: var(--r-full); background: var(--brand); color: var(--brand-ink); font-size: 12px; line-height: 16px; }
.qp-filtros__form { display: grid; gap: var(--sp-6); padding: 0 var(--sp-5) var(--sp-5); }
.qp-filtros__titulo { display: none; margin: 0; font-size: 20px; line-height: 28px; font-weight: 600; color: var(--text); text-align: center; text-wrap: balance; }
.qp-filtros__linha { display: grid; gap: var(--sp-6); }
.qp-filtro { min-width: 0; margin: 0; padding: 0; border: 0; }
.qp-filtro legend { margin-bottom: var(--sp-3); padding: 0; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--soft); }

.qp-pills { display: flex; gap: var(--sp-3); overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--sp-5) * -1); padding: 2px var(--sp-5); }
.qp-pills::-webkit-scrollbar { display: none; }
.qp-pill { position: relative; flex: none; }
.qp-pill input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.qp-pill span {
	display: inline-flex; align-items: center; gap: var(--sp-2); padding: var(--sp-3) var(--sp-5); border-radius: var(--r-full);
	background: var(--bg); border: 1px solid var(--line); color: var(--soft); font-size: 14px; line-height: 20px; white-space: nowrap;
	transition: background-color 500ms var(--ease), border-color 500ms var(--ease), color 500ms var(--ease), transform 500ms var(--ease);
}
.qp-pill span .ph { font-size: 18px; }
.qp-pill:hover span { border-color: var(--borda-forte); color: var(--text); }
.qp-pill:active span { transform: scale(0.97); }
.qp-pill input:checked + span { background: var(--brand); border-color: var(--brand); color: var(--brand-ink); font-weight: 600; }
.qp-pill input:focus-visible + span { outline: 2px solid var(--brand); outline-offset: 2px; }

.qp-stepper {
	display: inline-flex; align-items: center; gap: var(--sp-2); padding: var(--sp-2); border-radius: var(--r-full);
	background: var(--bg); border: 1px solid var(--line); transition: border-color 500ms var(--ease);
}
.qp-stepper.is-on { border-color: var(--brand); }
.qp-stepper button {
	display: inline-grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: var(--r-full);
	background: var(--s2); color: var(--text); font-size: 16px; cursor: pointer; transition: background-color 500ms var(--ease), transform 500ms var(--ease);
}
.qp-stepper button:hover { background: var(--s3); }
.qp-stepper button:active { transform: scale(0.92); }
.qp-stepper output { min-width: 112px; text-align: center; font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-stepper.is-on output { color: var(--text); font-weight: 600; }

.qp-filtros__rodape { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); padding-top: var(--sp-5); border-top: 1px solid var(--line); }
.qp-ordem { display: inline-flex; align-items: center; gap: var(--sp-3); font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-ordem select {
	appearance: none; -webkit-appearance: none; padding: var(--sp-3) var(--sp-8) var(--sp-3) var(--sp-5); border-radius: var(--r-full);
	background: var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;
	border: 1px solid var(--line); color: var(--text); font: inherit; font-weight: 600; cursor: pointer;
}
.qp-filtros__enviar { margin-left: auto; }
.qp-filtros__limpar {
	display: inline-flex; align-items: center; gap: var(--sp-2); padding: var(--sp-3) var(--sp-5); border-radius: var(--r-full);
	color: var(--danger); font-size: 14px; line-height: 20px; font-weight: 600; transition: background-color 500ms var(--ease);
}
.qp-filtros__limpar:hover { background: color-mix(in srgb, var(--danger) 12%, transparent); }
.qp-filtros__limpar[hidden] { display: none; }

.qp-filtros__total { margin: 0 0 var(--sp-5); font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-resultado { transition: opacity 400ms var(--ease); }
.qp-resultado[aria-busy="true"] { opacity: 0.45; pointer-events: none; }
.qp-filtros__vazio { margin-top: 0; }

@media (min-width: 768px) {
	.qp-filtros__abrir { display: none; }
	.qp-filtros__form { gap: var(--sp-6); padding: var(--sp-7); }
	.qp-filtros__titulo { display: block; padding-bottom: var(--sp-5); border-bottom: 1px solid var(--line); }
	.qp-filtros__linha { display: flex; flex-wrap: wrap; gap: var(--sp-6) var(--sp-7); }
	.qp-pills { flex-wrap: wrap; overflow: visible; margin: 0; padding: 0; }
	.js .qp-filtros__enviar { display: none; }
	.qp-filtros__limpar { margin-left: auto; }
}

/* ---------- Página do projeto ---------- */
.qp-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3); margin: 0 0 var(--sp-6); font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-crumb a { display: inline-flex; align-items: center; gap: var(--sp-2); color: var(--soft); transition: color 500ms var(--ease); }
.qp-crumb a:hover { color: var(--text); }
.qp-crumb [aria-current] { color: var(--brand); }
.qp-crumb .ph { font-size: 14px; }
.qp-proj__cabeca { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-5); margin-bottom: var(--sp-5); }
.qp-proj__cabeca .qp-proj__titulo { margin: 0; text-wrap: balance; }
.qp-proj__social { display: flex; align-items: center; gap: var(--sp-1); flex-shrink: 0; margin-top: var(--sp-2); }
.qp-proj__social b { margin-right: var(--sp-3); font-size: 14px; line-height: 20px; font-weight: 500; color: var(--soft); }
.qp-proj__social b:empty { display: none; }
.qp-proj__atalhos { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin: 0 0 var(--sp-6); }
.qp-proj__atalhos a {
	display: inline-flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-5); border-radius: var(--r-full);
	border: 1px solid var(--line); background: var(--s1); color: var(--text); font-size: 14px; line-height: 20px; font-weight: 500; text-decoration: none;
	transition: background-color 500ms var(--ease), transform 500ms var(--ease);
}
.qp-proj__atalhos a:hover { background: var(--s3); }
.qp-proj__atalhos a:active { transform: scale(0.98); }
.qp-proj__atalhos .ph { color: var(--brand); font-size: 18px; }
#qp-palco, #qp-planta, #qp-carac { scroll-margin-top: 96px; }
.qp-minis { scrollbar-width: thin; scrollbar-color: var(--s3) transparent; }
.qp-minis::-webkit-scrollbar { height: 6px; }
.qp-minis::-webkit-scrollbar-thumb { background: var(--s3); border-radius: var(--r-full); }
.qp-minis::-webkit-scrollbar-button { display: none; }
@media (prefers-reduced-motion: no-preference) { html:has(.qp-proj) { scroll-behavior: smooth; } }

.qp-sec { margin-top: var(--sp-11); text-align: center; }
.qp-sec .qp-eyebrow { justify-content: center; margin-bottom: var(--sp-3); }
.qp-sec .qp-h2 { margin-inline: auto; max-width: 680px; }
.qp-sec__lead { margin: 0 auto var(--sp-7); }
/* Cartões centralizados: a última linha fica no meio e nunca sobra um cartão sozinho no canto. */
.qp-carac { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-4); max-width: 840px; margin: var(--sp-7) auto 0; padding: 0; }
.qp-carac li { flex: 0 1 calc(50% - var(--sp-4) / 2); display: grid; justify-items: center; align-content: start; gap: var(--sp-2); padding: var(--sp-6) var(--sp-3); border-radius: var(--r-2xl); background: var(--s1); border: 1px solid var(--line); text-align: center; }
@media (min-width: 640px) { .qp-carac { max-width: 600px; } .qp-carac li { flex-basis: calc((100% - 2 * var(--sp-4)) / 3); } }
@media (min-width: 1100px) { .qp-carac { max-width: 880px; } .qp-carac li { flex-basis: calc((100% - 4 * var(--sp-4)) / 5); } }
.qp-carac .ph { font-size: 32px; color: var(--brand); margin-bottom: var(--sp-2); }
.qp-carac strong { font-size: 14px; line-height: 20px; color: var(--text); font-weight: 600; }
.qp-carac span { font-size: 14px; line-height: 20px; color: var(--muted); }

.qp-planta { margin: var(--sp-7) 0 0; border-radius: var(--r-3xl); overflow: hidden; border: 1px solid var(--line); background: var(--s1); }
.qp-planta img { width: 100%; height: auto; cursor: zoom-in; }

.qp-fichas { display: grid; gap: var(--sp-4); margin-top: var(--sp-7); text-align: center; }
@media (min-width: 640px) { .qp-fichas { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .qp-fichas { grid-template-columns: repeat(4, 1fr); } }
.qp-ficha { display: grid; align-content: start; justify-items: center; gap: var(--sp-3); padding: var(--sp-7) var(--sp-5); border-radius: var(--r-3xl); background: var(--s1); border: 1px solid var(--line); }
.qp-ficha__ic { font-size: 36px; color: var(--brand); }
.qp-ficha h3 { margin: 0 0 var(--sp-3); font-size: 18px; line-height: 28px; color: var(--text); }
.qp-ficha dl { display: grid; gap: var(--sp-4); margin: 0; width: 100%; }
.qp-ficha dt { font-size: 14px; line-height: 20px; color: var(--soft); }
.qp-ficha dd { margin: 0; font-size: 14px; line-height: 20px; color: var(--brand); font-weight: 600; }
.qp-sec > .qp-note { margin-top: var(--sp-5); text-align: left; }

.qp-desc { display: grid; gap: var(--sp-8); text-align: left; }
@media (min-width: 1000px) { .qp-desc { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; } }
.qp-desc .qp-eyebrow, .qp-desc .qp-h2 { justify-content: flex-start; margin-inline: 0; max-width: none; }
.qp-desc__sub { margin: var(--sp-7) 0 var(--sp-3); }
.qp-desc__texto .qp-note { margin-top: var(--sp-6); }
.qp-tags { padding: var(--sp-6); border-radius: var(--r-3xl); background: var(--s1); border: 1px solid var(--line); text-align: center; }
.qp-tags h3 { font-size: 18px; line-height: 28px; margin-bottom: var(--sp-4); }
.qp-tags ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-3); margin: 0; padding: 0; }
.qp-tags li { padding: var(--sp-2) var(--sp-4); border-radius: var(--r-full); background: var(--s3); color: var(--soft); font-size: 14px; line-height: 20px; }

/* Imagem da planta ou da foto ampliada */
#qp-zoom { border: 0; padding: 0; width: 100vw; height: 100vh; max-width: none; max-height: none; background: rgba(0, 0, 0, 0.96); }
#qp-zoom[open] { display: grid; place-items: center; }
#qp-zoom::backdrop { background: #000; }
#qp-zoom img { max-width: 100vw; max-height: 100vh; object-fit: contain; }
#qp-zoom button { position: fixed; top: var(--sp-5); right: var(--sp-5); width: 48px; height: 48px; border-radius: var(--r-full); border: 1px solid rgba(255, 255, 255, 0.24); background: rgba(0, 0, 0, 0.6); color: #fff; font-size: 20px; cursor: pointer; }

/* Rodapé e conta no claro */
html[data-tema="claro"] .qp-wa-float { box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2); }

/* Logo: versão branca no escuro, versão escura no claro */
.qp-logo .qp-logo__img--claro { display: none; }
html[data-tema="claro"] .qp-logo .qp-logo__img--escuro { display: none; }
html[data-tema="claro"] .qp-logo .qp-logo__img--claro { display: block; }

/* ==========================================================
   Parceiros: cadastro, painel, envio de arquivos e crédito do autor
   ========================================================== */
:root { --qp-aviso: #FBBF24; }
html[data-tema="claro"] { --qp-aviso: #B45309; }

/* Botões dentro de páginas .qs e de Minha conta não herdam cor de link */
.qp-parc a.qp-btn, .qp-parc-cad a.qp-btn, .qp-autor a.qp-btn { text-decoration: none; }
.qp-parc-cad a.qp-btn--primary, .qp-parc a.qp-btn--primary,
.woocommerce-MyAccount-content .qp-parc a.qp-btn--primary,
.woocommerce-MyAccount-content a.qp-btn--primary { color: var(--brand-ink); }
.qp-parc-cad a.qp-btn--ghost, .qp-parc a.qp-btn--ghost,
.woocommerce-MyAccount-content .qp-parc a.qp-btn--ghost,
.woocommerce-MyAccount-content .qp-parc-atalho a.qp-btn--ghost { color: var(--text); }
.qp-parc .qp-btn .ph, .qp-parc-cad .qp-btn .ph { font-size: 18px; }

/* Páginas do site (.qs): começam abaixo do cabeçalho fixo (a capa da início sobe por baixo dele) */
.qp-main > .qs:first-child { padding-top: var(--alto-topo, 72px); }

/* Páginas do site (.qs): ícone dos cartões e links do cadastro */
.qs .icone .ph { font-size: 24px; }
.qs .qp-parc-cad a:not(.qp-btn) { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.qs .qp-parc-cad .qp-parc-check a { color: var(--text); }
.qs .qp-parc-cad .qp-parc-vazio h3 { margin-top: var(--sp-3); }
.qs .qp-parc-cad { margin-inline: 0; }

/* Campos lado a lado: o campo sem texto de ajuda não estica para igualar a altura do vizinho */
.qp-field { align-content: start; }

/* Selos de situação */
.qp-parc-selo { display: inline-flex; align-items: center; gap: var(--sp-2); padding: var(--sp-1) var(--sp-3); border-radius: var(--r-full); border: 1px solid var(--line); background: var(--s2); color: var(--soft); font-size: 12px; line-height: 16px; font-weight: 600; white-space: nowrap; }
.qp-parc-selo::before { content: ""; width: 6px; height: 6px; border-radius: var(--r-full); background: currentColor; }
.qp-parc-selo--ok { color: var(--success); border-color: color-mix(in srgb, var(--success) 40%, transparent); background: color-mix(in srgb, var(--success) 10%, transparent); }
.qp-parc-selo--espera { color: var(--qp-aviso); border-color: color-mix(in srgb, var(--qp-aviso) 40%, transparent); background: color-mix(in srgb, var(--qp-aviso) 10%, transparent); }
.qp-parc-selo--erro { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 40%, transparent); background: color-mix(in srgb, var(--danger) 10%, transparent); }

/* Estado vazio */
.qp-parc-vazio { display: grid; justify-items: center; gap: var(--sp-4); padding: var(--sp-9) var(--sp-6); text-align: center; background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-3xl); }
.qp-parc-vazio__icone { display: grid; place-items: center; width: 64px; height: 64px; border-radius: var(--r-full); background: color-mix(in srgb, var(--brand) 12%, transparent); color: var(--brand); font-size: 32px; }
.qp-parc-vazio h3 { margin: var(--sp-3) 0 0; font-size: 20px; line-height: 28px; font-weight: 600; color: var(--text); text-wrap: balance; }
.qp-parc-vazio p { margin: 0; max-width: 480px; color: var(--muted); text-wrap: pretty; }
.qp-parc-vazio .qp-btn { margin-top: var(--sp-3); }

/* Textos de apoio */
.qp-parc-ajuda { font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-parc-aviso, .qp-parc-regra { margin: 0; }
.qp-parc-aviso a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.qp-parc-motivo { margin: 0; padding: var(--sp-3) var(--sp-4); border-radius: var(--r-lg); border: 1px solid color-mix(in srgb, var(--danger) 35%, transparent); background: color-mix(in srgb, var(--danger) 8%, transparent); color: var(--text); font-size: 14px; line-height: 20px; }
.qp-parc-motivo strong { color: var(--danger); }
.qp-parc-atalho { margin: var(--sp-5) 0 0; }

/* ---------------- Painel ---------------- */
.qp-parc { display: grid; gap: var(--sp-6); min-width: 0; }
.qp-parc-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-5); }
.qp-parc-topo > div { display: grid; gap: var(--sp-2); min-width: 0; }
.qp-parc-topo__ola { margin: 0; font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--text); }
.qp-parc-h2 { margin: 0; font-size: 20px; line-height: 28px; font-weight: 600; letter-spacing: -0.01em; color: var(--text); }
.qp-parc-cabeca { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); }

.qp-parc-abas { display: flex; gap: var(--sp-2); padding: var(--sp-2); width: max-content; max-width: 100%; overflow-x: auto; scrollbar-width: none; background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-full); }
.qp-parc-abas::-webkit-scrollbar { display: none; }
.woocommerce-MyAccount-content .qp-parc-abas a { display: inline-flex; align-items: center; min-height: 36px; padding: var(--sp-3) var(--sp-5); border-radius: var(--r-full); color: var(--muted); font-size: 14px; line-height: 20px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background-color 700ms var(--ease), color 700ms var(--ease); }
.woocommerce-MyAccount-content .qp-parc-abas a:hover { color: var(--text); background: var(--s2); }
.woocommerce-MyAccount-content .qp-parc-abas a.is-ativa { color: var(--text); background: var(--s3); }

.qp-parc-saldos { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--sp-4); }
.qp-parc-saldo { display: grid; align-content: start; gap: var(--sp-3); padding: var(--sp-6); background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-2xl); }
.qp-parc-saldo__rot { display: inline-flex; align-items: center; gap: var(--sp-3); font-size: 14px; line-height: 20px; font-weight: 500; color: var(--soft); }
.qp-parc-saldo__rot .ph { font-size: 18px; color: var(--muted); }
.qp-parc-saldo strong { font-size: 30px; line-height: 36px; font-weight: 600; letter-spacing: -0.02em; color: var(--text); font-variant-numeric: tabular-nums; }
.qp-parc-saldo__dica { font-size: 14px; line-height: 20px; color: var(--muted); text-wrap: pretty; }
.qp-parc-saldo--destaque { border-color: color-mix(in srgb, var(--brand) 45%, transparent); background: color-mix(in srgb, var(--brand) 6%, var(--s1)); }
.qp-parc-saldo--destaque strong, .qp-parc-saldo--destaque .ph { color: var(--brand); }

/* Tabelas */
.qp-parc-tabela-caixa { overflow-x: auto; background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-2xl); }
.qp-parc-tabela { width: 100%; margin: 0; border-collapse: collapse; font-size: 14px; line-height: 20px; }
.qp-parc-tabela th { padding: var(--sp-4) var(--sp-5); text-align: left; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); white-space: nowrap; border: 0; background: transparent; }
.qp-parc-tabela td { padding: var(--sp-4) var(--sp-5); border: 0; border-top: 1px solid var(--line); color: var(--soft); vertical-align: middle; font-variant-numeric: tabular-nums; }
.qp-parc-tabela td strong { color: var(--text); font-weight: 600; }
.qp-parc-tabela tr.is-cancelada td { opacity: 0.55; }
.qp-parc-tabela tr.is-cancelada td strong { text-decoration: line-through; }
@media (max-width: 719px) {
	.qp-parc-tabela-caixa { overflow: visible; background: transparent; border: 0; border-radius: 0; }
	.qp-parc-tabela thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.qp-parc-tabela, .qp-parc-tabela tbody { display: grid; gap: var(--sp-4); }
	.qp-parc-tabela tr { display: grid; gap: var(--sp-3); padding: var(--sp-5); background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-2xl); }
	.qp-parc-tabela td { display: flex; justify-content: space-between; align-items: center; gap: var(--sp-5); padding: 0; border: 0; text-align: right; }
	.qp-parc-tabela td[data-rotulo]::before { content: attr(data-rotulo); color: var(--muted); text-align: left; }
	.qp-parc-tabela td:not([data-rotulo]) { justify-content: flex-start; }
}

/* Lista de projetos */
.qp-parc-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-4); }
.qp-parc-proj { display: grid; grid-template-columns: 176px minmax(0, 1fr); gap: var(--sp-5); padding: var(--sp-3); background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-2xl); }
.qp-parc-proj__foto { display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r-lg); background: var(--s2); color: var(--muted); font-size: 32px; }
.qp-parc-proj__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.qp-parc-proj__corpo { display: grid; align-content: start; gap: var(--sp-3); padding: var(--sp-3) var(--sp-3) var(--sp-3) 0; min-width: 0; }
.qp-parc-proj__corpo h3 { margin: 0; font-size: 18px; line-height: 28px; font-weight: 600; color: var(--text); text-wrap: balance; }
.qp-parc-proj__selos { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.qp-parc-proj__acoes { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--sp-3); margin-top: var(--sp-2); }
.qp-parc-mini { display: inline-flex; margin: 0; }
.qp-parc-remover summary { list-style: none; }
.qp-parc-remover summary::-webkit-details-marker { display: none; }
.qp-parc-remover[open] { flex-basis: 100%; }
.qp-parc-remover[open] summary { background: var(--s3); }
.qp-parc-remover__form { display: grid; gap: var(--sp-4); margin-top: var(--sp-4); padding: var(--sp-5); background: var(--s2); border: 1px solid var(--line); border-radius: var(--r-xl); }
.qp-parc-remover__form textarea { min-height: 72px; }
.qp-parc-remover__form .qp-btn { justify-self: start; }
@media (max-width: 639px) {
	.qp-parc-proj { grid-template-columns: 1fr; }
	.qp-parc-proj__foto { aspect-ratio: 16 / 9; }
	.qp-parc-proj__corpo { padding: 0 var(--sp-3) var(--sp-3); }
}

/* Meus dados */
.qp-parc-ficha { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--sp-4); margin: 0; }
.qp-parc-ficha > div { display: grid; gap: var(--sp-2); padding: var(--sp-4) var(--sp-5); background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-xl); min-width: 0; }
.qp-parc-ficha dt { font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-parc-ficha dd { margin: 0; color: var(--text); overflow-wrap: anywhere; }

/* ---------------- Formulário do projeto ---------------- */
.qp-parc-pform { display: grid; gap: var(--sp-5); }
.woocommerce-MyAccount-content .qp-parc .qp-parc-voltar a { display: inline-flex; align-items: center; gap: var(--sp-3); color: var(--muted); font-size: 14px; line-height: 20px; font-weight: 500; text-decoration: none; transition: color 700ms var(--ease); }
.woocommerce-MyAccount-content .qp-parc .qp-parc-voltar a:hover { color: var(--text); }
.qp-parc-voltar { margin: 0; }
.qp-parc-bloco { display: grid; gap: var(--sp-5); padding: var(--sp-6); background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-3xl); min-width: 0; transition: border-color 700ms var(--ease); }
.qp-parc-bloco > h3 { margin: 0; font-size: 18px; line-height: 28px; font-weight: 600; color: var(--text); }
.qp-parc-bloco > .qp-note { margin-top: calc(var(--sp-3) * -1); }
.qp-parc-bloco.has-error { border-color: color-mix(in srgb, var(--danger) 55%, transparent); }
.qp-parc-bloco.has-error > .qp-field__error { display: block; }
.qp-field.has-error select { border-color: var(--danger); }
.qp-parc-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--sp-5); }
.qp-parc-grade__largo { grid-column: 1 / -1; }
.qp-parc-terreno { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: var(--sp-3); }
.qp-parc-terreno > span { color: var(--muted); }
.qp-parc-prefixo { position: relative; }
.qp-parc-prefixo > span { position: absolute; left: var(--sp-5); top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.qp-field .qp-parc-prefixo input { padding-left: var(--sp-8); font-variant-numeric: tabular-nums; }
.qp-parc-preco { max-width: 320px; }
.qp-parc-contador { justify-self: end; font-size: 12px; line-height: 16px; color: var(--muted); font-variant-numeric: tabular-nums; }
.qp-parc-contador.is-perto { color: var(--qp-aviso); }

.qp-parc-check { display: flex; align-items: flex-start; gap: var(--sp-4); cursor: pointer; font-size: 14px; line-height: 20px; color: var(--soft); }
.qp-parc-check input { flex: none; width: 20px; height: 20px; min-height: 0; margin: 0; padding: 0; accent-color: var(--brand); cursor: pointer; }
.qp-parc-check a, .woocommerce-MyAccount-content .qp-parc-check a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }

.qp-parc-pform__fim { position: sticky; bottom: var(--sp-5); z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); padding: var(--sp-4); background: var(--vidro, rgba(0, 0, 0, 0.72)); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid var(--line); border-radius: var(--r-3xl); }
.qp-parc-pform__estado { flex: 1 1 200px; font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-parc-pform.is-enviando .qp-parc-pform__estado { color: var(--qp-aviso); }
.qp-parc-pform.is-enviando .qp-parc-pform__fim .qp-btn { opacity: 0.6; cursor: progress; }

/* Envio de imagens */
.qp-up { display: grid; gap: var(--sp-4); }
.qp-up__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: var(--sp-4); }
.qp-up__lista:empty { display: none; }
.qp-up__item { position: relative; display: grid; gap: var(--sp-3); padding: var(--sp-3); background: var(--s2); border: 1px solid var(--line); border-radius: var(--r-xl); min-width: 0; }
.qp-up__img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; background: var(--s3); }
.qp-up__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity 700ms var(--ease); }
.qp-up__capa { position: absolute; top: var(--sp-3); left: var(--sp-3); padding: var(--sp-1) var(--sp-3); border-radius: var(--r-full); background: var(--brand); color: var(--brand-ink); font-size: 12px; line-height: 16px; font-weight: 600; }
.qp-up__item:not(:first-child) .qp-up__capa { display: none; }
.qp-up__item.is-enviando .qp-up__img img { opacity: 0.45; }
.qp-up__barra { position: absolute; left: var(--sp-3); right: var(--sp-3); bottom: var(--sp-3); height: 4px; overflow: hidden; border-radius: var(--r-full); background: rgba(0, 0, 0, 0.55); }
.qp-up__barra > span, .qp-arq__barra > span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--brand); transition: width 300ms var(--ease); }
.qp-field .qp-up__legenda, .qp-up__legenda { width: 100%; min-height: 36px; padding: var(--sp-2) var(--sp-4); background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-lg); color: var(--text); font: inherit; font-size: 14px; line-height: 20px; transition: border-color 700ms var(--ease), box-shadow 700ms var(--ease); }
.qp-up__legenda:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent); }
.qp-up__acoes { display: flex; gap: var(--sp-2); }
.qp-up__acoes button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; background: transparent; border: 1px solid var(--line); border-radius: var(--r-lg); color: var(--soft); font-size: 18px; cursor: pointer; transition: background-color 700ms var(--ease), color 700ms var(--ease), border-color 700ms var(--ease); }
.qp-up__acoes button:hover { background: var(--s3); color: var(--text); }
.qp-up__acoes button:active { transform: scale(0.96); }
.qp-up__acoes [data-remover] { margin-left: auto; }
.qp-up__acoes [data-remover]:hover { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 45%, transparent); }
.qp-up__item:first-child [data-mover="-1"], .qp-up__item:last-child [data-mover="1"] { opacity: 0.35; pointer-events: none; }
.qp-up__zona { position: relative; display: grid; justify-items: center; gap: var(--sp-2); padding: var(--sp-7) var(--sp-6); text-align: center; background: var(--bg); border: 1px dashed var(--borda-forte, var(--line)); border-radius: var(--r-2xl); cursor: pointer; transition: border-color 700ms var(--ease), background-color 700ms var(--ease); }
.qp-up__zona:hover, .qp-up__zona.is-sobre { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 6%, var(--bg)); }
.qp-up__zona:focus-within { outline: 2px solid var(--brand); outline-offset: 2px; }
.qp-up__zona input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.qp-up__icone { font-size: 32px; color: var(--brand); margin-bottom: var(--sp-2); }
.qp-up__zona strong { font-size: 16px; line-height: 24px; font-weight: 600; color: var(--text); }
.qp-up__zona span { font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-parc-bloco.has-error .qp-up__zona { border-color: var(--danger); }
.qp-up__erro { display: grid; gap: var(--sp-2); margin: 0; font-size: 14px; line-height: 20px; color: var(--danger); }
.qp-up__erro[hidden] { display: none; }

/* PDF e DWG */
.qp-arq { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--sp-5); padding: var(--sp-5); background: var(--s2); border: 1px solid var(--line); border-radius: var(--r-2xl); transition: border-color 700ms var(--ease); }
.qp-arq__icone { display: grid; place-items: center; width: 48px; height: 48px; border-radius: var(--r-xl); background: var(--s3); color: var(--muted); font-size: 24px; transition: color 700ms var(--ease), background-color 700ms var(--ease); }
.qp-arq.tem-arquivo .qp-arq__icone { color: var(--brand); background: color-mix(in srgb, var(--brand) 12%, transparent); }
.qp-arq__info { display: grid; gap: var(--sp-1); min-width: 0; }
.qp-arq__info strong { font-size: 16px; line-height: 24px; font-weight: 600; color: var(--text); }
.qp-arq__nome { font-size: 14px; line-height: 20px; color: var(--muted); overflow-wrap: anywhere; }
.qp-arq__nome a, .woocommerce-MyAccount-content .qp-arq__nome a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
.qp-arq__barra { height: 4px; margin-top: var(--sp-2); overflow: hidden; border-radius: var(--r-full); background: var(--s3); }
.qp-arq__barra[hidden] { display: none; }
.qp-arq__botao { position: relative; overflow: hidden; }
.qp-arq__botao input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.qp-arq__botao:focus-within { outline: 2px solid var(--brand); outline-offset: 2px; }
.qp-arq.is-enviando .qp-arq__botao { opacity: 0.6; pointer-events: none; }
.qp-arq > .qp-field__error { grid-column: 1 / -1; }
.qp-arq.has-error { border-color: color-mix(in srgb, var(--danger) 55%, transparent); }
.qp-arq.has-error .qp-field__error { display: block; }
@media (max-width: 639px) {
	.qp-arq { grid-template-columns: auto minmax(0, 1fr); }
	.qp-arq__botao { grid-column: 1 / -1; justify-self: start; }
}

/* ---------------- Cadastro (página Seja parceiro) ---------------- */
.qp-parc-cad { max-width: 760px; margin-inline: auto; display: grid; gap: var(--sp-5); }
.qp-parc-cad .qp-form { text-align: left; }
.qp-parc-mel { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.qp-parc-form__topo { display: grid; gap: var(--sp-2); padding-top: var(--sp-6); border-top: 1px solid var(--line); }
.qp-parc-mel + .qp-parc-form__topo { padding-top: 0; border-top: 0; }
.qp-parc-form__topo h3 { margin: 0; font-size: 20px; line-height: 28px; font-weight: 600; color: var(--text); }
.qp-parc-escolhas { margin: 0; padding: 0; border: 0; min-width: 0; }
.qp-parc-escolhas legend { padding: 0; margin-bottom: var(--sp-3); font-size: 14px; line-height: 20px; font-weight: 500; color: var(--soft); }
.qp-parc-escolhas__lista { display: grid; gap: var(--sp-4); }
.qp-parc-escolha { position: relative; display: block; cursor: pointer; }
.qp-parc-escolha input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.qp-parc-escolha span { display: flex; align-items: center; gap: var(--sp-4); min-height: 48px; padding: var(--sp-4) var(--sp-5); background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-xl); color: var(--text); font-weight: 500; transition: border-color 700ms var(--ease), background-color 700ms var(--ease); }
.qp-parc-escolha span::before { content: ""; flex: none; width: 18px; height: 18px; border-radius: var(--r-full); border: 2px solid var(--borda-forte, var(--line)); transition: border-color 700ms var(--ease), box-shadow 700ms var(--ease); }
.qp-parc-escolha:hover span { border-color: var(--borda-forte, var(--line)); }
.qp-parc-escolha input:checked + span { border-color: var(--brand); background: color-mix(in srgb, var(--brand) 8%, var(--bg)); }
.qp-parc-escolha input:checked + span::before { border-color: var(--brand); box-shadow: inset 0 0 0 3px var(--bg), inset 0 0 0 9px var(--brand); }
.qp-parc-escolha input:focus-visible + span { outline: 2px solid var(--brand); outline-offset: 2px; }
.qp-parc-escolhas.has-error .qp-parc-escolha span { border-color: var(--danger); }
.qp-parc-escolhas.has-error .qp-field__error { display: block; }
.qp-parc-form__fim { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-5); }
@media (min-width: 640px) {
	.qp-parc-escolhas__lista { grid-template-columns: 1fr 1fr; }
	.qp-form__row.qp-parc-cidade { grid-template-columns: minmax(0, 1fr) 160px; }
	.qp-parc-bloco { padding: var(--sp-7); }
}

/* ---------------- Página do projeto e loja ---------------- */
.qp-autor { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); margin: 0 0 var(--sp-5); padding: var(--sp-4) var(--sp-5); background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-2xl); }
.qp-autor__ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: var(--r-xl); background: color-mix(in srgb, var(--brand) 12%, transparent); color: var(--brand); font-size: 20px; }
.qp-autor__txt { display: grid; flex: 1 1 200px; min-width: 0; margin: 0; }
.qp-autor__txt span { font-size: 16px; line-height: 24px; color: var(--soft); }
.qp-autor__txt strong { color: var(--text); font-weight: 600; }
.qp-autor__txt small { font-size: 14px; line-height: 20px; color: var(--muted); }
a.qp-autor__link { display: inline-flex; align-items: center; gap: var(--sp-3); min-height: 36px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--brand); text-decoration: none; white-space: nowrap; }
a.qp-autor__link .ph { font-size: 16px; transition: transform 700ms var(--ease); }
a.qp-autor__link:hover { text-decoration: underline; text-underline-offset: 3px; }
a.qp-autor__link:hover .ph-arrow-right { transform: translateX(4px); }
.qp-autor--faixa { margin-bottom: var(--sp-6); }
.qp-autor--faixa a.qp-autor__link { color: var(--soft); }
.qp-autor--faixa a.qp-autor__link:hover { color: var(--text); }
.qp-proj__art { display: flex; align-items: flex-start; gap: var(--sp-3); margin: var(--sp-4) 0 var(--sp-5); }
.qp-proj__art .ph { flex: none; font-size: 18px; margin-top: var(--sp-1); color: var(--brand); }
.qp-proj__art a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 639px) {
	a.qp-autor__link { flex-basis: 100%; padding-left: 52px; min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.qp-up__barra > span, .qp-arq__barra > span, a.qp-autor__link .ph { transition: none; }
}

/* ==========================================================
   Minha conta (estilo CGO): menu com ícones, quadros com linha fina,
   números grandes só onde importam e menu em pílulas no celular e tablet.
   ========================================================== */
.woocommerce-account.logged-in .woocommerce { display: block; }
.qp-conta-pagina { padding: calc(72px + var(--sp-7)) 0 var(--sp-10); }
.qp-conta { display: grid; gap: var(--sp-6); align-items: start; }
.qp-conta__conteudo { min-width: 0; display: grid; gap: var(--sp-6); align-content: start; }
.qp-conta__conteudo > .woocommerce-notices-wrapper:empty { display: none; }
.qp-conta__conteudo .woocommerce-message, .qp-conta__conteudo .woocommerce-info, .qp-conta__conteudo .woocommerce-error { margin: 0; }
@media (min-width: 1024px) {
	.qp-conta { grid-template-columns: 264px minmax(0, 1fr); gap: var(--sp-7); }
}

/* Selo de situação (pedido, parceria) */
.qp-selo { display: inline-flex; align-items: center; gap: var(--sp-2); padding: var(--sp-1) var(--sp-3); border-radius: var(--r-full); border: 1px solid var(--line); background: var(--s2); color: var(--soft); font-size: 12px; line-height: 16px; font-weight: 600; white-space: nowrap; }
.qp-selo::before { content: ""; width: 6px; height: 6px; border-radius: var(--r-full); background: currentColor; }
.qp-selo--ok { color: var(--success); border-color: color-mix(in srgb, var(--success) 40%, transparent); background: color-mix(in srgb, var(--success) 10%, transparent); }
.qp-selo--info { color: var(--brand); border-color: color-mix(in srgb, var(--brand) 40%, transparent); background: color-mix(in srgb, var(--brand) 10%, transparent); }
.qp-selo--espera { color: var(--qp-aviso); border-color: color-mix(in srgb, var(--qp-aviso) 40%, transparent); background: color-mix(in srgb, var(--qp-aviso) 10%, transparent); }
.qp-selo--erro { color: var(--danger); border-color: color-mix(in srgb, var(--danger) 40%, transparent); background: color-mix(in srgb, var(--danger) 10%, transparent); }

/* ---------- Menu lateral ---------- */
.qp-conta-menu { min-width: 0; }
.qp-conta-menu__perfil { display: none; }
.qp-conta-menu__trilho { position: relative; }
.qp-conta-menu ul { list-style: none; margin: 0; padding: 0; }
.qp-conta-menu a { color: var(--soft); text-decoration: none; }
.qp-conta-menu a .ph { font-size: 20px; color: var(--muted); transition: color 700ms var(--ease); }
.qp-conta-menu__conta { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 var(--sp-2); border-radius: var(--r-full); background: var(--brand); color: var(--brand-ink); font-size: 12px; line-height: 16px; font-weight: 600; }
.qp-conta-avatar { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: var(--r-lg); background: var(--s3); border: 1px solid var(--line); color: var(--text); font-size: 14px; line-height: 20px; font-weight: 600; letter-spacing: 0.02em; }

/* Celular e tablet: faixa de pílulas que rola para o lado */
@media (max-width: 1023px) {
	.qp-conta-menu__trilho {
		display: flex; gap: var(--sp-3); overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
		margin-inline: calc(-1 * var(--margem)); padding: var(--sp-1) var(--margem);
	}
	.qp-conta-menu__trilho::-webkit-scrollbar { display: none; }
	.qp-conta-menu__grupo, .qp-conta-menu__grupo ul { display: contents; }
	.qp-conta-menu__rotulo { display: none; }
	.qp-conta-menu li { flex: none; }
	.qp-conta-menu a {
		display: inline-flex; align-items: center; gap: var(--sp-3); min-height: 40px; padding: var(--sp-3) var(--sp-4);
		border: 1px solid var(--line); border-radius: var(--r-full); background: var(--s1);
		font-size: 14px; line-height: 20px; font-weight: 500; white-space: nowrap;
		transition: background-color 700ms var(--ease), border-color 700ms var(--ease), color 700ms var(--ease);
	}
	.qp-conta-menu a .ph { font-size: 18px; }
	.qp-conta-menu a:hover { border-color: var(--borda-forte); color: var(--text); }
	.qp-conta-menu .is-active a { background: var(--text); border-color: var(--text); color: var(--bg); font-weight: 600; }
	.qp-conta-menu .is-active a .ph { color: var(--bg); }
}

/* Computador: coluna fixa com perfil, grupos e pé */
@media (min-width: 1024px) {
	.qp-conta-menu {
		position: sticky; top: calc(72px + var(--sp-6)); display: grid; gap: var(--sp-3);
		padding: var(--sp-3); background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-2xl);
	}
	.admin-bar .qp-conta-menu { top: calc(72px + 32px + var(--sp-6)); }
	.qp-conta-menu__perfil { display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-3) var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--line); }
	.qp-conta-menu__quem { display: grid; min-width: 0; }
	.qp-conta-menu__quem strong { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.qp-conta-menu__quem small { font-size: 12px; line-height: 16px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.qp-conta-menu__trilho { display: grid; gap: var(--sp-5); }
	.qp-conta-menu__grupo { display: grid; gap: var(--sp-2); }
	.qp-conta-menu__rotulo { margin: 0; padding: 0 var(--sp-4); font-size: 12px; line-height: 16px; font-weight: 500; color: var(--muted); }
	.qp-conta-menu ul { display: grid; gap: var(--sp-1); }
	.qp-conta-menu a {
		display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-3) var(--sp-4); border-radius: var(--r-lg);
		font-size: 14px; line-height: 20px; font-weight: 500;
		transition: background-color 700ms var(--ease), color 700ms var(--ease);
	}
	.qp-conta-menu a span { flex: 1; min-width: 0; }
	.qp-conta-menu a:hover { background: var(--s2); color: var(--text); }
	.qp-conta-menu a:hover .ph { color: var(--text); }
	.qp-conta-menu .is-active a { background: var(--s3); color: var(--text); font-weight: 600; }
	.qp-conta-menu .is-active a .ph { color: var(--brand); }
	.qp-conta-menu__grupo--pe { padding-top: var(--sp-3); border-top: 1px solid var(--line); }
	.qp-conta-menu .woocommerce-MyAccount-navigation-link--customer-logout a:hover,
	.qp-conta-menu .woocommerce-MyAccount-navigation-link--customer-logout a:hover .ph { color: var(--danger); }
}
.qp-conta-menu a:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }

/* ---------- Cabeçalho do conteúdo ---------- */
.qp-conta-cabeca { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--sp-5); }
.qp-conta-cabeca__texto { display: grid; gap: var(--sp-3); min-width: 0; }
.qp-conta-cabeca h1 { margin: 0; font-size: 30px; line-height: 36px; font-weight: 600; letter-spacing: -0.02em; color: var(--text); text-wrap: balance; }
.qp-conta-cabeca__desc { margin: 0; max-width: 680px; color: var(--muted); text-wrap: pretty; }
.qp-conta-trilha { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); margin: 0; font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-conta-trilha .ph { font-size: 16px; }
.qp-conta-trilha a { color: var(--muted) !important; transition: color 700ms var(--ease); }
.qp-conta-trilha a:hover { color: var(--text) !important; }
.qp-conta-trilha [aria-current] { color: var(--soft); }
@media (min-width: 768px) { .qp-conta-cabeca h1 { font-size: 36px; line-height: 40px; } }

/* ---------- Quadro (cartão com linha fina, como no CGO) ---------- */
.qp-quadro { min-width: 0; background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-2xl); overflow: hidden; }
.qp-quadro__topo { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); padding: var(--sp-4) var(--sp-5); border-bottom: 1px solid var(--line); }
.qp-quadro__topo h2 { display: flex; align-items: center; gap: var(--sp-3); margin: 0; font-size: 16px; line-height: 24px; font-weight: 600; letter-spacing: 0; color: var(--text); }
.qp-quadro__topo h2 .ph { font-size: 20px; color: var(--muted); }
.qp-quadro__link { display: inline-flex; align-items: center; gap: var(--sp-2); font-size: 14px; line-height: 20px; font-weight: 600; color: var(--text) !important; transition: gap 700ms var(--ease), color 700ms var(--ease); }
.qp-quadro__link:hover { gap: var(--sp-3); color: var(--brand) !important; }
.qp-quadro__corpo { display: grid; gap: var(--sp-4); justify-items: start; padding: var(--sp-5); }
.qp-quadro__corpo--pe { padding-top: 0; }
.qp-conta-texto { margin: 0; font-size: 14px; line-height: 20px; color: var(--muted); text-wrap: pretty; }
.qp-conta-texto strong { color: var(--text); }
@media (min-width: 768px) {
	.qp-quadro__topo { padding: var(--sp-4) var(--sp-6); }
	.qp-quadro__corpo { padding: var(--sp-5) var(--sp-6); }
	.qp-quadro__corpo--pe { padding-top: 0; }
}

/* Números (como "Números da obra") */
.qp-conta-numeros { display: grid; grid-template-columns: 1fr 1fr; }
.qp-conta-numeros > div { display: grid; align-content: start; gap: var(--sp-2); min-width: 0; padding: var(--sp-5); }
.qp-conta-numeros > div + div { border-left: 1px solid var(--line); }
.qp-conta-numeros > div:nth-child(3) { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); }
.qp-conta-numeros span { font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-conta-numeros strong { font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -0.01em; color: var(--text); font-variant-numeric: tabular-nums; }
.qp-conta-numeros small { font-size: 14px; line-height: 20px; color: var(--muted); text-wrap: balance; }
.qp-conta-numeros small a { color: var(--brand); }
.qp-conta-numeros .qp-conta-valor { color: var(--preco); }
@media (min-width: 640px) {
	.qp-conta-numeros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.qp-conta-numeros > div:nth-child(3) { grid-column: auto; border-top: 0; border-left: 1px solid var(--line); }
	.qp-conta-numeros--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) { .qp-conta-numeros > div { padding: var(--sp-5) var(--sp-6); } }
.qp-conta-painel__lado .qp-conta-numeros > div { padding: var(--sp-5); }
.qp-conta-painel__lado .qp-conta-numeros strong { font-size: 20px; line-height: 28px; }

/* Listas em linhas */
.qp-conta-lista { list-style: none; margin: 0; padding: 0; }
.qp-conta-lista > li + li { border-top: 1px solid var(--line); }
.qp-conta-linha { display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-4) var(--sp-5); color: var(--soft); }
a.qp-conta-linha { transition: background-color 700ms var(--ease), color 700ms var(--ease); }
.qp-conta__conteudo a.qp-conta-linha { color: var(--soft); }
.qp-conta__conteudo a.qp-conta-linha:hover { background: var(--s2); color: var(--text); }
.qp-conta-linha > .ph { flex: none; font-size: 20px; color: var(--muted); }
.qp-conta-linha > span:not(.qp-conta-linha__texto) { flex: 1; min-width: 0; font-size: 14px; line-height: 20px; font-weight: 500; }
.qp-conta-linha > .qp-conta-linha__seta { font-size: 16px; }
.qp-conta-linha__texto { display: grid; flex: 1; min-width: 0; }
.qp-conta-linha__titulo { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; color: var(--text) !important; }
.qp-conta-linha__texto small { font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-conta-linha .qp-btn { flex: none; }
@media (min-width: 768px) { .qp-conta-linha { padding: var(--sp-4) var(--sp-6); } }

/* Projeto comprado (linha do início) */
.qp-conta-proj__foto { display: grid; place-items: center; flex: none; width: 72px; height: 48px; border-radius: var(--r-lg); overflow: hidden; background: var(--s3); color: var(--muted); font-size: 20px; }
.woocommerce-page .qp-conta-proj__foto img { width: 100%; height: 100%; object-fit: cover; }

/* Chip de data (dia e mês) */
.qp-conta-data { display: grid; place-content: center; justify-items: center; flex: none; width: 48px; height: 48px; border-radius: var(--r-xl); background: var(--s3); color: var(--text); }
.qp-conta-data strong { font-size: 18px; line-height: 20px; font-weight: 600; font-variant-numeric: tabular-nums; }
.qp-conta-data span { font-size: 12px; line-height: 16px; color: var(--muted); }
.qp-conta-data .ph { font-size: 20px; color: var(--muted); }
html[data-tema="claro"] .qp-conta-data { background: #0A0A0A; color: #FFFFFF; }
html[data-tema="claro"] .qp-conta-data span { color: rgba(255, 255, 255, 0.72); }

/* Pedido em linha */
.qp-conta-pedido { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: var(--sp-3) var(--sp-4); padding: var(--sp-4) var(--sp-5); color: var(--soft); }
.qp-conta-pedido__info { display: grid; min-width: 0; }
.qp-conta-pedido__titulo { font-weight: 600; color: var(--text) !important; }
.qp-conta-pedido__itens { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-conta-pedido__extra { font-size: 14px; line-height: 20px; }
.qp-conta-pedido__fim { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-4); }
.qp-conta-pedido__total { color: var(--text); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.qp-conta-pedido__acoes { grid-column: 2; display: flex; flex-wrap: wrap; gap: var(--sp-3); }
.qp-conta-pedido__seta { display: none; }
.qp-conta__conteudo a.qp-conta-pedido { color: var(--soft); transition: background-color 700ms var(--ease); }
.qp-conta__conteudo a.qp-conta-pedido:hover { background: var(--s2); }
@media (min-width: 768px) {
	.qp-conta-pedido { grid-template-columns: 48px minmax(0, 1fr) auto auto; padding: var(--sp-4) var(--sp-6); }
	.qp-conta-pedido__fim, .qp-conta-pedido__acoes { grid-column: auto; }
	.qp-conta-pedido__fim { flex-wrap: nowrap; justify-content: flex-end; }
	.qp-conta-pedido__total { min-width: 96px; text-align: right; }
	.qp-conta-pedido--link { grid-template-columns: 48px minmax(0, 1fr) auto 20px; }
	.qp-conta-pedido__seta { display: block; font-size: 16px; color: var(--muted); }
}

/* Estado vazio */
.qp-conta-vazio { display: grid; justify-items: center; gap: var(--sp-3); padding: var(--sp-9) var(--sp-6); text-align: center; }
.qp-conta-vazio__icone { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: var(--sp-3); border-radius: var(--r-full); background: color-mix(in srgb, var(--brand) 12%, transparent); color: var(--brand); font-size: 28px; }
.qp-conta-vazio h3 { margin: 0; font-size: 18px; line-height: 28px; font-weight: 600; color: var(--text); text-wrap: balance; }
.qp-conta-vazio p { margin: 0; max-width: 440px; font-size: 14px; line-height: 20px; color: var(--muted); text-wrap: pretty; }
.qp-conta-vazio .qp-btn { margin-top: var(--sp-4); }
.qp-conta__conteudo > .qp-conta-vazio { background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-2xl); }

/* ---------- Início: coluna principal e coluna de atalhos ---------- */
.qp-conta-painel { display: grid; gap: var(--sp-6); align-items: start; }
.qp-conta-painel__principal { display: grid; gap: var(--sp-6); min-width: 0; }
.qp-conta-painel__lado { display: grid; gap: var(--sp-6); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); align-items: start; }
@media (min-width: 1280px) {
	.qp-conta-painel { grid-template-columns: minmax(0, 1fr) 320px; }
	.qp-conta-painel__lado { grid-template-columns: 1fr; }
}
.qp-conta-pendencias { grid-template-columns: auto 1fr; align-items: center; column-gap: var(--sp-4); }
.qp-conta-pendencias strong { font-size: 30px; line-height: 36px; font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }
.qp-conta-pendencias span { font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-conta-pendencias .qp-btn { grid-column: 1 / -1; }
.qp-conta-atalhos { border-top: 1px solid var(--line); }
.qp-conta-painel__lado .qp-conta-linha { padding: var(--sp-4) var(--sp-5); }

/* ---------- Meus projetos ---------- */
.qp-conta-projetos { display: grid; gap: var(--sp-6); grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.qp-conta-projeto { display: flex; flex-direction: column; scroll-margin-top: calc(72px + var(--sp-7)); transition: border-color 700ms var(--ease); }
.qp-conta-projeto__foto { display: grid; place-items: center; aspect-ratio: 3 / 2; background: var(--s3); color: var(--muted); font-size: 32px; overflow: hidden; }
.woocommerce-page .qp-conta-projeto__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--ease); }
.qp-conta-projeto:hover .qp-conta-projeto__foto img { transform: scale(1.02); }
.qp-conta-projeto__topo { display: grid; gap: var(--sp-1); padding: var(--sp-5) var(--sp-5) var(--sp-4); border-bottom: 1px solid var(--line); }
.qp-conta-projeto__topo h2 { margin: 0; font-size: 18px; line-height: 28px; font-weight: 600; letter-spacing: 0; }
.qp-conta-projeto__topo h2 a { color: var(--text) !important; }
.qp-conta-projeto__topo small { font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-conta-arquivos .qp-conta-linha { padding: var(--sp-4) var(--sp-5); }
.qp-conta-linha > .qp-conta-arquivos__icone { color: var(--brand); }
.qp-conta-projeto:target { border-color: var(--brand); }

/* ---------- Detalhe do pedido ---------- */
.qp-conta-notas .woocommerce-OrderUpdate-description p { margin: 0; }
.qp-conta-notas .qp-conta-linha__texto { gap: var(--sp-1); }
.qp-conta__conteudo > section.woocommerce-order-details,
.qp-conta__conteudo > section.woocommerce-customer-details,
.qp-conta__conteudo > section.woocommerce-order-downloads {
	margin: 0; padding: var(--sp-5); background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-2xl); min-width: 0;
}
.qp-conta__conteudo .woocommerce-order-details__title, .qp-conta__conteudo .woocommerce-column__title,
.qp-conta__conteudo .woocommerce-order-downloads__title {
	margin: 0 0 var(--sp-5); font-size: 18px; line-height: 28px; font-weight: 600; letter-spacing: 0; color: var(--text);
}
.qp-conta__conteudo table.shop_table { margin: 0; background: var(--bg); font-size: 14px; line-height: 20px; }
.qp-conta__conteudo table.shop_table tfoot th { color: var(--muted); font-weight: 500; }
.qp-conta__conteudo table.shop_table tfoot tr:last-child td { color: var(--text); font-weight: 600; }
.qp-conta__conteudo .woocommerce-customer-details address {
	font-style: normal; margin: 0; padding: var(--sp-5); border: 1px solid var(--line); border-radius: var(--r-xl); background: var(--bg); color: var(--soft); line-height: 24px;
}
.qp-conta__conteudo .woocommerce-customer-details address p { margin: var(--sp-3) 0 0; }
.qp-conta__conteudo .order-again { margin: var(--sp-5) 0 0; }
@media (min-width: 768px) {
	.qp-conta__conteudo > section.woocommerce-order-details,
	.qp-conta__conteudo > section.woocommerce-customer-details,
	.qp-conta__conteudo > section.woocommerce-order-downloads { padding: var(--sp-6); }
}

/* ---------- Formulários: dados da conta e de cobrança ---------- */
.qp-conta__conteudo .woocommerce-EditAccountForm,
.qp-conta__conteudo .woocommerce-address-fields {
	padding: var(--sp-5); background: var(--s1); border: 1px solid var(--line); border-radius: var(--r-2xl);
}
.qp-conta__conteudo .woocommerce-EditAccountForm { display: grid; column-gap: var(--sp-5); }
.qp-conta__conteudo .woocommerce-EditAccountForm > *, .qp-conta__conteudo .woocommerce-address-fields__field-wrapper > * { grid-column: 1 / -1; }
.qp-conta__conteudo .woocommerce-address-fields__field-wrapper { display: grid; column-gap: var(--sp-5); }
.qp-conta__conteudo form .form-row-first, .qp-conta__conteudo form .form-row-last { float: none; width: auto; }
.qp-conta__conteudo .woocommerce-EditAccountForm .clear { display: none; }
.qp-conta__conteudo form em, .qp-conta__conteudo #account_display_name_description { font-style: normal; font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-conta__conteudo .woocommerce-EditAccountForm fieldset {
	margin: var(--sp-3) 0 var(--sp-6); padding: var(--sp-5); border: 1px solid var(--line); border-radius: var(--r-xl); min-width: 0;
}
.qp-conta__conteudo .woocommerce-EditAccountForm legend { padding: 0 var(--sp-3); font-size: 16px; line-height: 24px; font-weight: 600; color: var(--text); }
.qp-conta__conteudo .woocommerce-EditAccountForm fieldset .form-row:last-child { margin-bottom: 0; }
.qp-conta__conteudo .woocommerce-EditAccountForm > p:last-of-type, .qp-conta__conteudo .woocommerce-address-fields > p:last-child { margin: 0; }
.qp-conta__conteudo .woocommerce-EditAccountForm .button, .qp-conta__conteudo .woocommerce-address-fields .button { background: var(--brand); color: var(--brand-ink); border-color: var(--brand); }
@media (min-width: 640px) {
	.qp-conta__conteudo .woocommerce-EditAccountForm, .qp-conta__conteudo .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr 1fr; }
	.qp-conta__conteudo .woocommerce-EditAccountForm > .form-row-first, .qp-conta__conteudo .woocommerce-address-fields__field-wrapper > .form-row-first { grid-column: 1; }
	.qp-conta__conteudo .woocommerce-EditAccountForm > .form-row-last, .qp-conta__conteudo .woocommerce-address-fields__field-wrapper > .form-row-last { grid-column: 2; }
}
@media (min-width: 768px) {
	.qp-conta__conteudo .woocommerce-EditAccountForm, .qp-conta__conteudo .woocommerce-address-fields { padding: var(--sp-7); }
}

/* Endereço salvo (lista em Dados de cobrança) */
.qp-conta__conteudo > p:not([class]) { margin: 0; color: var(--muted); }
.woocommerce-account.logged-in .qp-conta__conteudo .qp-conta-enderecos { display: grid; gap: var(--sp-6); margin: 0; }
.woocommerce-account.logged-in .qp-conta__conteudo .qp-conta-enderecos::before, .woocommerce-account.logged-in .qp-conta__conteudo .qp-conta-enderecos::after { display: none; }
@media (min-width: 900px) { .woocommerce-account.logged-in .qp-conta__conteudo .qp-conta-enderecos:has(> :nth-child(2)) { grid-template-columns: 1fr 1fr; } }
.woocommerce-account.logged-in .qp-conta__conteudo .qp-conta-enderecos .woocommerce-Address { width: auto; float: none; margin: 0; padding: 0; }
.qp-conta-enderecos .qp-quadro__link { flex: none; min-height: 36px; padding: var(--sp-2) var(--sp-4); border: 1px solid var(--line); border-radius: var(--r-full); background: var(--s2); transition: border-color 700ms var(--ease), color 700ms var(--ease); }
.qp-conta-enderecos .qp-quadro__link:hover { gap: var(--sp-2); border-color: var(--borda-forte); }
.qp-conta-enderecos .qp-quadro__link .ph { font-size: 16px; }
.qp-conta__conteudo .woocommerce-Address address { margin: 0; font-style: normal; font-size: 16px; color: var(--soft); line-height: 28px; }
/* Formulário de cobrança: o título já está no cabeçalho da conta */
.qp-conta__conteudo > form > h2:first-child { display: none; }
.qp-conta__conteudo .woocommerce-address-fields > p:last-child { margin-top: var(--sp-3); }

/* Paginação dos pedidos */
.woocommerce-MyAccount-content a.qp-btn--ghost { color: var(--text); }
.qp-conta-paginas { display: flex; justify-content: space-between; gap: var(--sp-4); }

/* ==========================================================
   Entrar e criar conta (estilo CGO): formulário à esquerda, foto à direita
   ========================================================== */
body.qp-entrar-corpo {
	--entrar-fundo: var(--s1); --entrar-borda: #75757D; --entrar-destaque: var(--s2);
	--entrar-erro: #FF8F84; --entrar-ok: #74D394; --entrar-ok-fundo: #142A1C;
	--entrar-acao: #F4F4F5; --entrar-acao-forte: #FFFFFF; --entrar-sobre-acao: #18181B;
	margin: 0; background: var(--entrar-fundo); color: var(--text);
}
html[data-tema="claro"] body.qp-entrar-corpo {
	--entrar-fundo: #FFFFFF; --entrar-borda: #8B8B93; --entrar-destaque: #F1F1F3;
	--entrar-erro: #B42318; --entrar-ok: #15803D; --entrar-ok-fundo: #ECF8F0;
	--entrar-acao: #18181B; --entrar-acao-forte: #000000; --entrar-sobre-acao: #FFFFFF;
}
.qp-entrar { display: grid; min-height: 100vh; min-height: 100dvh; }
@media (min-width: 1024px) { .qp-entrar { grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); } }
.qp-entrar__lado { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; padding: var(--sp-6); }
@media (min-width: 640px) { .qp-entrar__lado { padding-inline: var(--sp-8); } }

/* Topo: logo e nome da área, como "CGO | Controle e Gestão de Obras" */
.qp-entrar__topo { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); }
.qp-entrar__marca { display: flex; align-items: center; gap: var(--sp-4); min-width: 0; color: var(--text); text-decoration: none; }
.qp-entrar__marca .qp-logo { display: block; flex: none; }
.qp-entrar__marca .qp-logo .qp-logo__img { height: 32px; width: auto; }
@media (min-width: 640px) { .qp-entrar__marca .qp-logo .qp-logo__img { height: 40px; } }
.qp-entrar__nome { display: none; padding-left: var(--sp-4); border-left: 1px solid var(--line); font-size: 14px; line-height: 20px; color: var(--muted); white-space: nowrap; }
.qp-entrar__nome strong { display: block; font-weight: 600; color: var(--text); }
@media (min-width: 420px) { .qp-entrar__nome { display: block; } }
.qp-entrar__acoes { display: flex; align-items: center; gap: var(--sp-3); flex: none; }
.qp-entrar__acoes .qp-tema { background: transparent; }
.qp-entrar__acoes .qp-tema:hover { background: var(--entrar-destaque); }
.qp-entrar__voltar {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-3); min-height: 40px; min-width: 40px; padding: 0 var(--sp-4);
	border: 1px solid var(--line); border-radius: var(--r-full); color: var(--text); font-size: 14px; line-height: 20px; font-weight: 600; text-decoration: none;
	transition: background-color 700ms var(--ease), border-color 700ms var(--ease), transform 700ms var(--ease);
}
.qp-entrar__voltar .ph { font-size: 18px; }
.qp-entrar__voltar:hover { background: var(--entrar-destaque); border-color: var(--borda-forte); }
.qp-entrar__voltar:active { transform: scale(0.96); }
@media (max-width: 639px) {
	.qp-entrar__voltar { padding: 0; }
	.qp-entrar__voltar span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* Miolo: caixa de 384px centralizada */
.qp-entrar__meio { flex: 1; display: flex; align-items: center; justify-content: center; padding-block: var(--sp-8); }
.qp-entrar__caixa { width: 100%; max-width: 384px; }
.qp-entrar__caixa > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.qp-entrar__painel { display: block; }
.qp-entrar__painel[hidden] { display: none; }
.qp-entrar__painel h1 { margin: 0 0 var(--sp-2); font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -0.01em; color: var(--text); text-wrap: balance; }
.qp-entrar__painel h1:focus { outline: none; }
.qp-entrar__desc { margin: 0 0 var(--sp-6); font-size: 16px; line-height: 24px; color: var(--muted); text-wrap: pretty; }

/* Botão do Google (também usado no cadastro de parceiro) */
.qp-google {
	display: flex; align-items: center; justify-content: center; gap: var(--sp-4); width: 100%; min-height: 48px; padding: 0 var(--sp-5);
	border: 1px solid var(--entrar-borda, var(--borda-forte)); border-radius: var(--r-lg); background: var(--entrar-fundo, var(--bg));
	color: var(--text); font-size: 16px; line-height: 24px; font-weight: 500; text-decoration: none; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	transition: background-color 700ms var(--ease), border-color 700ms var(--ease), transform 700ms var(--ease);
}
.qp-google:hover { background: var(--entrar-destaque, var(--s2)); color: var(--text); }
.qp-google:active { transform: scale(0.98); }
.qp-google__g { flex: none; width: 20px; height: 20px; }
.qp-entrar__ou { display: flex; align-items: center; gap: var(--sp-4); margin: var(--sp-6) 0; font-size: 14px; line-height: 20px; color: var(--muted); }
.qp-entrar__ou span { flex: 1; height: 1px; background: var(--line); }

/* Campos */
.qp-entrar .qp-entrar__form { display: grid; gap: var(--sp-5); margin: 0; padding: 0; border: 0; border-radius: 0; }
.qp-entrar__campo label { display: block; margin-bottom: var(--sp-2); font-size: 16px; line-height: 24px; font-weight: 600; color: var(--text); }
.qp-entrar__campo input {
	display: block; width: 100%; min-height: 44px; margin: 0; padding: 0 var(--sp-4);
	border: 1px solid var(--entrar-borda); border-radius: 10px; background: var(--entrar-fundo); color: var(--text);
	font-size: 16px; line-height: 24px; box-shadow: none;
	transition: border-color 700ms var(--ease), box-shadow 700ms var(--ease);
}
.qp-entrar__campo input:hover { border-color: var(--muted); }
.qp-entrar__campo input:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 25%, transparent); }
.qp-entrar__campo input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px var(--entrar-fundo) inset; -webkit-text-fill-color: var(--text); caret-color: var(--text); }
.qp-entrar__campo input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 1000px var(--entrar-fundo) inset, 0 0 0 3px color-mix(in srgb, var(--brand) 25%, transparent); }
.qp-entrar__dica { display: block; margin-top: var(--sp-2); font-size: 14px; line-height: 20px; color: var(--muted); }
p.qp-entrar__dica { margin: 0; }
.qp-entrar__esqueci {
	justify-self: start; display: inline-flex; align-items: center; min-height: 40px; margin-top: calc(-1 * var(--sp-3));
	font-size: 14px; line-height: 20px; color: var(--muted); text-decoration: underline; text-underline-offset: 4px;
	transition: color 700ms var(--ease);
}
.qp-entrar__esqueci:hover { color: var(--text); }
.qp-entrar .woocommerce-privacy-policy-text p { margin: 0; font-size: 14px; line-height: 20px; color: var(--muted); text-wrap: pretty; }
.qp-entrar .woocommerce-privacy-policy-text a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }

/* Avisos dentro do formulário */
.qp-entrar__erro { margin: 0; font-size: 16px; line-height: 24px; font-weight: 500; color: var(--entrar-erro); text-wrap: pretty; }
.qp-entrar__erro a, .qp-entrar__ok a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.qp-entrar__ok { margin: 0; padding: var(--sp-4); border-radius: 10px; background: var(--entrar-ok-fundo); color: var(--entrar-ok); font-size: 16px; line-height: 24px; font-weight: 500; }
.qp-entrar__painel > .qp-entrar__erro, .qp-entrar__painel > .qp-entrar__ok { margin-bottom: var(--sp-5); }

/* Botão principal: claro no tema escuro e escuro no tema claro, como no CGO */
.qp-entrar .qp-entrar__botao {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; margin: 0; padding: var(--sp-3) var(--sp-4);
	border: 0; border-radius: var(--r-lg); background: var(--entrar-acao); color: var(--entrar-sobre-acao);
	font-size: 16px; line-height: 24px; font-weight: 600; text-decoration: none; cursor: pointer; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	transition: background-color 700ms var(--ease), transform 700ms var(--ease), opacity 700ms var(--ease);
}
.qp-entrar .qp-entrar__botao:hover { background: var(--entrar-acao-forte); color: var(--entrar-sobre-acao); }
.qp-entrar .qp-entrar__botao:active { transform: scale(0.98); }
.qp-entrar .qp-entrar__botao:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.qp-entrar .qp-entrar__botao.is-enviando { opacity: 0.6; pointer-events: none; }

/* Olho de mostrar a senha (o WooCommerce coloca sozinho nos campos de senha) */
.qp-entrar form .password-input { display: block; position: relative; }
.qp-entrar form .password-input input[type="password"], .qp-entrar form .password-input input[type="text"] { padding-right: 48px; }
.qp-entrar form .show-password-input {
	position: absolute; top: 2px; right: 2px; transform: none; display: grid; place-items: center; width: 40px; height: 40px; margin: 0; padding: 0;
	border: 0; border-radius: var(--r-lg); background: transparent; color: var(--muted); cursor: pointer;
	transition: color 700ms var(--ease), background-color 700ms var(--ease);
}
.qp-entrar form .show-password-input:hover { color: var(--text); background: var(--entrar-destaque); }
.qp-entrar form .show-password-input:focus-visible { outline: 2px solid var(--brand); outline-offset: 0; }
.qp-entrar form .show-password-input::before {
	content: ""; display: block; width: 20px; height: 20px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px no-repeat;
}
.qp-entrar form .show-password-input.display-password::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E");
}
.qp-entrar__troca { margin: var(--sp-5) 0 0; text-align: center; font-size: 16px; line-height: 24px; color: var(--text); }
.qp-entrar__troca a { display: inline-flex; align-items: center; min-height: 48px; font-weight: 600; color: var(--brand); text-decoration: underline; text-underline-offset: 4px; }
.qp-entrar__selo { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: var(--sp-5); border-radius: var(--r-full); background: var(--entrar-destaque); font-size: 28px; color: var(--text); }
.qp-entrar__painel > .qp-entrar__botao { margin-top: var(--sp-6); }

/* Rodapé */
.qp-entrar__pe { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-2) var(--sp-4); font-size: 12px; line-height: 16px; color: var(--muted); text-align: center; }
.qp-entrar__pe a { color: inherit; text-decoration: none; }
.qp-entrar__pe a:hover { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }

/* Foto do projeto: casa à noite no escuro, casa de dia no claro */
.qp-entrar__foto { display: none; }
@media (min-width: 1024px) {
	.qp-entrar__foto {
		display: block; position: sticky; top: 0; height: 100vh; height: 100dvh;
		background: var(--s2) url("../img/entrar-noite.webp") 45% 50% / cover no-repeat;
	}
	html[data-tema="claro"] .qp-entrar__foto { background-image: url("../img/entrar-dia.webp"); background-position: 50% 60%; }
}

/* Cadastro de parceiro: botão do Google acima dos campos da conta */
.qp-parc-form__google { display: grid; gap: var(--sp-5); }
.qp-parc-form__google .qp-entrar__ou { margin: 0; }
.qp-parc-form__google .qp-google { max-width: 384px; }
