/* ================================================================
   BRZ — Catálogo: Cadastro de cliente + Revisão de pedido
   Tokens alinhados ao woocommerce.css (cores globais do Elementor com
   fallback da marca, Sora + Inter, card 6px / campo e botão 2px).
   ================================================================ */
.brz-reg,
.brz-review,
.brz-cat-notice {
	--brz-cat-accent:    var(--e-global-color-primary, #14139b);
	--brz-cat-ink:       var(--e-global-color-secondary, #1F1F1F);
	--brz-cat-text:      var(--e-global-color-text, #1F1F1F);
	--brz-cat-gray:      var(--e-global-color-68f8450, #6B6B6B);
	--brz-cat-off:       var(--e-global-color-4358b91, #F9F9F9);
	--brz-cat-surface:   #fff;
	--brz-cat-line:      rgba(31, 31, 31, .12);
	--brz-cat-line-2:    rgba(31, 31, 31, .06);
	--brz-cat-danger:    #c62828;
	--brz-cat-success:   #1d7a3a;
	--brz-cat-radius:    6px;
	--brz-cat-radius-sm: 2px;
	--brz-cat-shadow:    0 22px 50px -28px rgba(31, 31, 31, .40);
	--brz-cat-shadow-sm: 0 6px 20px -14px rgba(31, 31, 31, .45);
	--brz-cat-ease:      .3s cubic-bezier(.2, .7, .2, 1);
	font-family: 'Inter', sans-serif;
	color: var(--brz-cat-text);
}
.brz-reg *, .brz-reg *::before, .brz-reg *::after,
.brz-review *, .brz-review *::before, .brz-review *::after { box-sizing: border-box; }

.brz-reg [hidden],
.brz-review [hidden] { display: none !important; }

/* O tema aplica .brz-woo a { opacity: .8 } nas páginas WooCommerce (Minha conta,
   checkout…). Nos componentes do catálogo, links e botões ficam sempre sólidos. */
body :is(.brz-reg, .brz-review, .brz-auth, .brz-signup-cta, .brz-cat-notice) a { opacity: 1; }

.brz-review .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}

/* ════════════════════════════════════════════════════════════
   Avisos
   ════════════════════════════════════════════════════════════ */
.brz-cat-notice {
	margin: 0 0 20px;
	padding: 12px 16px;
	font-size: 14px;
	line-height: 1.5;
	border-left: 3px solid var(--brz-cat-accent);
	border-radius: var(--brz-cat-radius-sm);
	background: rgba(20, 19, 155, .06);
	color: var(--brz-cat-ink);
}
.brz-cat-notice a { color: inherit; font-weight: 600; text-decoration: underline; }
.brz-cat-notice--error   { background: #fdf2f2; border-color: var(--brz-cat-danger); color: #8e1c1c; }
.brz-cat-notice--success { background: #eef8f1; border-color: var(--brz-cat-success); color: #14532a; }
.brz-cat-notice:focus { outline: none; }

/* ════════════════════════════════════════════════════════════
   Botões
   ════════════════════════════════════════════════════════════ */
.brz-reg .brz-btn,
.brz-review .brz-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 15px 28px;
	font-family: 'Sora', sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	border: 1px solid transparent;
	border-radius: var(--brz-cat-radius-sm);
	cursor: pointer;
	transition: var(--brz-cat-ease);
}
.brz-reg .brz-btn--primary,
.brz-review .brz-btn--primary {
	color: #fff;
	background: var(--brz-cat-accent);
}
.brz-reg .brz-btn--primary:hover,
.brz-review .brz-btn--primary:hover {
	color: #fff;
	background: #000;
	transform: translateY(-2px);
	box-shadow: var(--brz-cat-shadow-sm);
}
.brz-reg .brz-btn--ghost,
.brz-review .brz-btn--ghost {
	color: var(--brz-cat-accent);
	background: transparent;
	border-color: var(--brz-cat-line);
}
.brz-reg .brz-btn--ghost:hover,
.brz-review .brz-btn--ghost:hover { border-color: var(--brz-cat-accent); }
.brz-review .brz-btn--block { width: 100%; }
.brz-reg .brz-btn:disabled,
.brz-review .brz-btn:disabled { cursor: not-allowed; opacity: .6; transform: none; box-shadow: none; }
.brz-reg .brz-btn:focus-visible,
.brz-review .brz-btn:focus-visible { outline: 2px solid var(--brz-cat-accent); outline-offset: 2px; }

.brz-btn__spinner {
	display: none;
	width: 18px;
	height: 18px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: brz-cat-spin .7s linear infinite;
}
.brz-btn.is-busy { opacity: 1 !important; }
.brz-btn.is-busy .brz-btn__label { visibility: hidden; }
.brz-btn.is-busy .brz-btn__spinner { display: block; position: absolute; }
@keyframes brz-cat-spin { to { transform: rotate(360deg); } }

/* ════════════════════════════════════════════════════════════
   CADASTRO
   ════════════════════════════════════════════════════════════ */
.brz-reg {
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}
.brz-reg--card .brz-reg__form,
.brz-reg--card .brz-reg__done {
	position: relative;
	padding: clamp(28px, 5vw, 48px);
	background: var(--brz-cat-surface);
	border: 1px solid var(--brz-cat-line);
	border-radius: var(--brz-cat-radius);
	box-shadow: var(--brz-cat-shadow);
	overflow: hidden;
}
/* Faixa de destaque no topo — mesmo recurso do header, modais e senha. */
.brz-reg--card .brz-reg__form::before,
.brz-reg--card .brz-reg__done::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--brz-cat-accent);
}

.brz-reg__head { margin-bottom: 28px; }
.brz-reg__title {
	margin: 0 0 8px;
	font-family: 'Sora', sans-serif;
	font-size: clamp(22px, 2.6vw, 28px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.01em;
	color: var(--brz-cat-ink);
}
.brz-reg__subtitle {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--brz-cat-gray);
}

.brz-reg__group {
	margin: 0 0 28px;
	padding: 0;
	border: 0;
	min-width: 0;
}
.brz-reg__legend {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0 0 16px;
	padding: 0;
	font-family: 'Sora', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--brz-cat-accent);
}
.brz-reg__legend::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--brz-cat-line);
}

.brz-reg__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 18px;
}

/* ── Campo ── */
.brz-field { min-width: 0; }
.brz-field--wide { grid-column: 1 / -1; }
.brz-field--half { grid-column: span 1; }

.brz-field__label {
	display: block;
	margin-bottom: 7px;
	font-family: 'Sora', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--brz-cat-ink);
}
.brz-field__req { color: var(--brz-cat-accent); }
.brz-field__opt { font-family: 'Inter', sans-serif; font-weight: 400; color: var(--brz-cat-gray); }

.brz-reg .brz-field__input,
.brz-review .brz-field__input {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 12px 14px;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	line-height: 1.4;
	color: var(--brz-cat-ink);
	background: #fff;
	border: 1px solid var(--brz-cat-line);
	border-radius: var(--brz-cat-radius-sm);
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease;
	-webkit-appearance: none;
	appearance: none;
}
.brz-reg select.brz-field__input {
	padding-right: 38px;
	background-image: 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='%236B6B6B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}
.brz-review textarea.brz-field__input { min-height: 88px; resize: vertical; }
.brz-reg .brz-field__input:hover,
.brz-review .brz-field__input:hover { border-color: rgba(31, 31, 31, .28); }
.brz-reg .brz-field__input:focus,
.brz-review .brz-field__input:focus {
	outline: none;
	border-color: var(--brz-cat-accent);
	box-shadow: 0 0 0 3px rgba(20, 19, 155, .14);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--brz-cat-accent) 14%, transparent);
}
.brz-reg .brz-field.is-invalid .brz-field__input {
	border-color: var(--brz-cat-danger);
	box-shadow: 0 0 0 3px rgba(198, 40, 40, .10);
}
.brz-field__hint {
	margin: 6px 0 0;
	font-size: 12.5px;
	color: var(--brz-cat-gray);
}
.brz-field__error {
	display: flex;
	gap: 6px;
	margin: 6px 0 0;
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--brz-cat-danger);
}
.brz-field__error::before {
	content: '!';
	flex-shrink: 0;
	display: inline-grid;
	place-items: center;
	width: 15px;
	height: 15px;
	margin-top: 1px;
	font-size: 10px;
	font-weight: 700;
	color: #fff;
	background: var(--brz-cat-danger);
	border-radius: 50%;
}

/* Senha */
.brz-field__pass { position: relative; }
.brz-field__pass .brz-field__input { padding-right: 50px; }
.brz-field__pass .brz-field__input::-ms-reveal { display: none; }
.brz-field__toggle {
	position: absolute;
	top: 50%;
	right: 4px;
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	transform: translateY(-50%);
	color: var(--brz-cat-gray);
	background: transparent;
	border: 0;
	border-radius: var(--brz-cat-radius-sm);
	cursor: pointer;
}
.brz-field__toggle:hover { color: var(--brz-cat-ink); background: rgba(31, 31, 31, .05); }
.brz-field__toggle:focus-visible { outline: 2px solid var(--brz-cat-accent); outline-offset: 1px; }
.brz-field__toggle .brz-eye-off,
.brz-field__toggle[aria-pressed="true"] .brz-eye { display: none; }
.brz-field__toggle[aria-pressed="true"] .brz-eye-off { display: block; }

.brz-strength {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
	font-size: 12px;
	color: var(--brz-cat-gray);
}
.brz-strength__bar {
	flex: 1;
	height: 4px;
	background: var(--brz-cat-line-2);
	border-radius: 2px;
	overflow: hidden;
}
.brz-strength__bar i {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	transition: width .3s ease, background .3s ease;
}
.brz-strength[data-level="0"] i { width: 12%;  background: #c62828; }
.brz-strength[data-level="1"] i { width: 35%;  background: #e0712b; }
.brz-strength[data-level="2"] i { width: 60%;  background: #d4a216; }
.brz-strength[data-level="3"] i { width: 82%;  background: #3f9b4f; }
.brz-strength[data-level="4"] i { width: 100%; background: #1d7a3a; }
.brz-strength__label { min-width: 72px; text-align: right; }

/* Aceite */
.brz-field--check { margin: -8px 0 24px; }
.brz-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.5;
	cursor: pointer;
}
.brz-check input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.brz-check__box {
	flex-shrink: 0;
	position: relative;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	border: 1.5px solid rgba(31, 31, 31, .35);
	border-radius: var(--brz-cat-radius-sm);
	background: #fff;
	transition: background .2s ease, border-color .2s ease;
}
.brz-check input:checked + .brz-check__box {
	background: var(--brz-cat-accent);
	border-color: var(--brz-cat-accent);
}
.brz-check input:checked + .brz-check__box::after {
	content: '';
	position: absolute;
	left: 6px; top: 2px;
	width: 5px; height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.brz-check input:focus-visible + .brz-check__box { outline: 2px solid var(--brz-cat-accent); outline-offset: 2px; }
.brz-field.is-invalid .brz-check__box { border-color: var(--brz-cat-danger); }
.brz-check__text a { color: var(--brz-cat-accent); }

/* Honeypot: fora da tela (não display:none — alguns bots ignoram campos ocultos). */
.brz-reg__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px;
	overflow: hidden;
}

.brz-reg__captcha { margin: 0 0 20px; min-height: 65px; }

.brz-reg__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	padding-top: 8px;
}
.brz-reg__submit { min-width: 200px; }
.brz-reg__login { margin: 0; font-size: 14px; color: var(--brz-cat-gray); }
.brz-reg__login a { color: var(--brz-cat-accent); font-weight: 600; text-decoration: none; }
.brz-reg__login a:hover { text-decoration: underline; }

/* Pós-envio */
.brz-reg__done { text-align: center; }
.brz-reg__done:focus { outline: none; }
.brz-reg__done-icon,
.brz-review__state-icon {
	display: inline-grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin-bottom: 20px;
	border-radius: 50%;
	color: var(--brz-cat-accent);
	background: rgba(20, 19, 155, .08);
	background: color-mix(in srgb, var(--brz-cat-accent) 9%, #fff);
}
.brz-reg__done .brz-reg__subtitle { max-width: 44ch; margin: 0 auto; }
.brz-reg__done .brz-reg__subtitle strong { color: var(--brz-cat-ink); overflow-wrap: anywhere; }
.brz-reg__done-note { margin: 20px 0 18px; font-size: 13.5px; color: var(--brz-cat-gray); }
.brz-reg__resend-status { margin: 14px auto 0; max-width: 44ch; font-size: 13px; color: var(--brz-cat-gray); }

@media (max-width: 600px) {
	.brz-reg__grid { grid-template-columns: 1fr; }
	.brz-field--half { grid-column: 1 / -1; }
	.brz-reg__actions { flex-direction: column; align-items: stretch; text-align: center; }
	.brz-reg__submit { width: 100%; }
	.brz-reg--card .brz-reg__form,
	.brz-reg--card .brz-reg__done { padding: 28px 20px; }
}

/* ════════════════════════════════════════════════════════════
   REVISÃO DE PEDIDO
   ════════════════════════════════════════════════════════════ */
.brz-review { width: 100%; }
.brz-review__head { margin-bottom: 24px; }
.brz-review__title {
	margin: 0 0 6px;
	font-family: 'Sora', sans-serif;
	font-size: clamp(22px, 2.6vw, 30px);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.01em;
	color: var(--brz-cat-ink);
}
.brz-review__subtitle { margin: 0; font-size: 15px; color: var(--brz-cat-gray); }

.brz-review__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 28px;
	align-items: start;
}

/* Tabela */
.brz-review__table-wrap {
	position: relative;
	background: var(--brz-cat-surface);
	border: 1px solid var(--brz-cat-line);
	border-radius: var(--brz-cat-radius);
	overflow: hidden;
}
.brz-review__table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border: 0;
	font-size: 14px;
}
.brz-review__table th,
.brz-review__table td {
	padding: 18px 16px;
	text-align: left;
	vertical-align: middle;
	border: 0;
	border-bottom: 1px solid var(--brz-cat-line-2);
	background: transparent;
}
.brz-review__table thead th {
	padding-top: 14px;
	padding-bottom: 14px;
	font-family: 'Sora', sans-serif;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--brz-cat-gray);
	background: var(--brz-cat-off);
	border-bottom: 1px solid var(--brz-cat-line);
}
.brz-review__table tbody tr:last-child td { border-bottom: 0; }
.brz-review__table .brz-review__price,
.brz-review__table .brz-review__subtotal { text-align: right; white-space: nowrap; }
.brz-review__table .brz-review__qty { text-align: center; }
.brz-review__table .brz-review__remove { width: 52px; padding-left: 0; text-align: right; }
.brz-review__subtotal { font-weight: 600; color: var(--brz-cat-ink); }

.brz-review__prod { display: flex; align-items: center; gap: 14px; min-width: 0; }
.brz-review__thumb {
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	border-radius: var(--brz-cat-radius-sm);
	background: var(--brz-cat-off);
	overflow: hidden;
}
.brz-review__thumb img,
.brz-review__img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; }
.brz-review__info { min-width: 0; }
.brz-review__name {
	display: block;
	font-family: 'Sora', sans-serif;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--brz-cat-ink);
	text-decoration: none;
}
a.brz-review__name:hover { color: var(--brz-cat-accent); }
.brz-review__sku { display: block; margin-top: 3px; font-size: 12px; color: var(--brz-cat-gray); }
.brz-review__meta { margin-top: 6px; font-size: 12.5px; line-height: 1.5; color: var(--brz-cat-gray); }
.brz-review__meta dl { display: grid; grid-template-columns: auto 1fr; gap: 2px 6px; margin: 0; }
.brz-review__meta dt { font-weight: 600; margin: 0; }
.brz-review__meta dd { margin: 0; }
.brz-review__meta dd p { margin: 0; }

/* Stepper */
.brz-stepper {
	display: inline-flex;
	align-items: stretch;
	height: 40px;
	border: 1px solid var(--brz-cat-line);
	border-radius: var(--brz-cat-radius-sm);
	background: #fff;
	overflow: hidden;
}
.brz-stepper__btn {
	display: grid;
	place-items: center;
	width: 36px;
	padding: 0;
	color: var(--brz-cat-ink);
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}
.brz-stepper__btn:hover:not(:disabled) { background: var(--brz-cat-off); color: var(--brz-cat-accent); }
.brz-stepper__btn:disabled { color: rgba(31, 31, 31, .25); cursor: not-allowed; }
.brz-review .brz-stepper__input {
	width: 56px;
	min-height: 0;
	height: auto;
	margin: 0;
	padding: 0 4px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	color: var(--brz-cat-ink);
	background: transparent;
	border: 0;
	border-left: 1px solid var(--brz-cat-line-2);
	border-right: 1px solid var(--brz-cat-line-2);
	border-radius: 0;
	box-shadow: none;
	-moz-appearance: textfield;
	appearance: textfield;
}
.brz-stepper__input::-webkit-outer-spin-button,
.brz-stepper__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.brz-stepper:focus-within { border-color: var(--brz-cat-accent); box-shadow: 0 0 0 3px rgba(20, 19, 155, .12); }
.brz-stepper__input:focus { outline: none; }

.brz-review__remove-btn {
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	color: var(--brz-cat-gray);
	background: transparent;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	transition: color .2s ease, background .2s ease;
}
.brz-review__remove-btn:hover { color: var(--brz-cat-danger); background: #fdf2f2; }
.brz-review__remove-btn:focus-visible,
.brz-stepper__btn:focus-visible { outline: 2px solid var(--brz-cat-accent); outline-offset: -2px; }
.brz-review__row.is-removing { opacity: .4; transition: opacity .2s ease; }

/* Carregando */
.brz-review__loading {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, .6);
	color: var(--brz-cat-accent);
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease, visibility .2s;
}
.brz-review__loading .brz-btn__spinner { display: block; width: 26px; height: 26px; border-width: 3px; }
.brz-review__table-wrap.is-loading .brz-review__loading { opacity: 1; visibility: visible; }

/* Resumo */
.brz-review__aside {
	position: sticky;
	top: 96px;
	display: grid;
	gap: 16px;
}
.brz-review__summary,
.brz-review__customer {
	position: relative;
	padding: 24px;
	background: var(--brz-cat-surface);
	border: 1px solid var(--brz-cat-line);
	border-radius: var(--brz-cat-radius);
}
.brz-review__summary {
	overflow: hidden;
	box-shadow: var(--brz-cat-shadow);
}
.brz-review__summary::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--brz-cat-accent);
}
.brz-review__h3 {
	margin: 0 0 16px;
	font-family: 'Sora', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--brz-cat-ink);
}
.brz-review__totals { margin: 0 0 20px; }
.brz-review__trow {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 9px 0;
	font-size: 14px;
}
.brz-review__trow dt { margin: 0; color: var(--brz-cat-gray); font-weight: 400; }
.brz-review__trow dd { margin: 0; text-align: right; color: var(--brz-cat-ink); font-weight: 500; }
.brz-review__trow.is-discount dd { color: var(--brz-cat-success); }
.brz-review__free {
	display: inline-block;
	padding: 2px 8px;
	font-size: 12px;
	font-weight: 600;
	color: var(--brz-cat-success);
	background: #eef8f1;
	border-radius: 999px;
}
.brz-review__trow.is-total {
	margin-top: 8px;
	padding-top: 16px;
	border-top: 1px solid var(--brz-cat-line);
}
.brz-review__trow.is-total dt {
	font-family: 'Sora', sans-serif;
	font-weight: 600;
	color: var(--brz-cat-ink);
}
.brz-review__trow.is-total dd {
	font-family: 'Sora', sans-serif;
	font-size: 20px;
	font-weight: 700;
}
.brz-review__taxnote { display: block; margin-top: 2px; font-family: 'Inter', sans-serif; font-size: 11.5px; font-weight: 400; color: var(--brz-cat-gray); }
.brz-review__summary .brz-field { margin-bottom: 16px; }
.brz-review__payment {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 12px 0 0;
	font-size: 12.5px;
	color: var(--brz-cat-gray);
}

.brz-review__customer-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.brz-review__customer .brz-review__h3 { margin-bottom: 10px; font-size: 14px; }
.brz-review__edit { font-size: 13px; font-weight: 600; color: var(--brz-cat-accent); text-decoration: none; }
.brz-review__edit:hover { text-decoration: underline; }
.brz-review__customer-lines,
.brz-review__customer-address { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--brz-cat-text); overflow-wrap: anywhere; }
.brz-review__customer-address { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--brz-cat-line-2); color: var(--brz-cat-gray); }

/* Estados: vazio, login, agradecimento */
.brz-review__state {
	position: relative;
	max-width: 560px;
	margin: 0 auto;
	padding: clamp(36px, 6vw, 56px) clamp(24px, 5vw, 48px);
	text-align: center;
	background: var(--brz-cat-surface);
	border: 1px solid var(--brz-cat-line);
	border-radius: var(--brz-cat-radius);
	box-shadow: var(--brz-cat-shadow);
	overflow: hidden;
}
.brz-review__state::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--brz-cat-accent);
}
.brz-review__state:focus { outline: none; }
.brz-review__state-icon.is-success { color: #fff; background: var(--brz-cat-success); }
.brz-review__state-title {
	margin: 0 0 10px;
	font-family: 'Sora', sans-serif;
	font-size: clamp(20px, 2.4vw, 26px);
	font-weight: 700;
	color: var(--brz-cat-ink);
}
.brz-review__state-text { margin: 0 auto 24px; max-width: 42ch; font-size: 15px; line-height: 1.6; color: var(--brz-cat-gray); }
.brz-review__order-no {
	display: inline-block;
	margin: -8px 0 24px;
	padding: 6px 14px;
	font-size: 14px;
	background: var(--brz-cat-off);
	border-radius: 999px;
}
.brz-review__thanks-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

/* ── Responsivo ── */
@media (max-width: 1024px) {
	.brz-review__layout { grid-template-columns: 1fr; }
	.brz-review__aside { position: static; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 720px) {
	.brz-review__aside { grid-template-columns: 1fr; }

	/* Tabela vira lista de cartões. */
	.brz-review__table thead { display: none; }
	.brz-review__table,
	.brz-review__table tbody { display: block; }
	.brz-review__table tr.brz-review__row {
		position: relative;
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 10px 12px;
		padding: 16px;
		border-bottom: 1px solid var(--brz-cat-line-2);
	}
	.brz-review__table tbody tr:last-child { border-bottom: 0; }
	.brz-review__table td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0;
		border: 0;
		text-align: left !important;
	}
	.brz-review__table td.brz-review__product { grid-column: 1 / -1; padding-right: 40px; }
	.brz-review__table td[data-label]::before {
		content: attr(data-label);
		font-size: 12px;
		font-weight: 500;
		color: var(--brz-cat-gray);
	}
	.brz-review__table td.brz-review__price,
	.brz-review__table td.brz-review__subtotal { grid-column: 1 / -1; }
	.brz-review__table td.brz-review__qty { grid-column: 1 / -1; }
	.brz-review__table td.brz-review__remove {
		position: absolute;
		top: 10px;
		right: 8px;
		width: auto;
	}
	.brz-review__thumb { flex-basis: 64px; width: 64px; height: 64px; }
}

@media (prefers-reduced-motion: reduce) {
	.brz-reg .brz-btn, .brz-review .brz-btn,
	.brz-strength__bar i, .brz-review__loading { transition: none; }
	.brz-reg .brz-btn--primary:hover, .brz-review .brz-btn--primary:hover { transform: none; }
	.brz-btn__spinner { animation-duration: 1.5s; }
}

/* ════════════════════════════════════════════════════════════
   TELA DE LOGIN (Minha conta) + CTA DE CADASTRO
   ════════════════════════════════════════════════════════════ */
.brz-auth,
.brz-signup-cta {
	--brz-cat-accent: var(--e-global-color-primary, #14139b);
	--brz-cat-ink:    var(--e-global-color-secondary, #1F1F1F);
	--brz-cat-gray:   var(--e-global-color-68f8450, #6B6B6B);
	--brz-cat-line:   rgba(31, 31, 31, .12);
	--brz-cat-radius: 6px;
	--brz-cat-radius-sm: 2px;
	--brz-cat-shadow: 0 22px 50px -28px rgba(31, 31, 31, .40);
	--brz-cat-ease:   .3s cubic-bezier(.2, .7, .2, 1);
	box-sizing: border-box;
}
.brz-auth *, .brz-signup-cta * { box-sizing: border-box; }

.brz-auth {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 28px;
	align-items: stretch;
	max-width: 1040px;
	margin: 0 auto;
}

/* Coluna de login (formulário nativo do WooCommerce em card) */
.brz-auth__login {
	position: relative;
	padding: clamp(28px, 4vw, 44px);
	background: #fff;
	border: 1px solid var(--brz-cat-line);
	border-radius: var(--brz-cat-radius);
	box-shadow: var(--brz-cat-shadow);
	overflow: hidden;
}
.brz-auth__login::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--brz-cat-accent);
}
.brz-auth__login > h2 {
	margin: 0 0 22px;
	font-family: 'Sora', sans-serif;
	font-size: clamp(22px, 2.4vw, 26px);
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--brz-cat-ink);
}
.brz-auth__login .woocommerce-form-login {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
}
.brz-auth__login .woocommerce-form-row { margin: 0 0 16px; padding: 0; }
.brz-auth__login label {
	display: block;
	margin-bottom: 7px;
	font-family: 'Sora', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--brz-cat-ink);
}
.brz-auth__login .required { color: var(--brz-cat-accent); text-decoration: none; }
.brz-auth__login .input-text {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	color: var(--brz-cat-ink);
	background: #fff;
	border: 1px solid var(--brz-cat-line);
	border-radius: var(--brz-cat-radius-sm);
	box-shadow: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.brz-auth__login .input-text:focus {
	outline: none;
	border-color: var(--brz-cat-accent);
	box-shadow: 0 0 0 3px rgba(20, 19, 155, .14);
}
.brz-auth__login .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 4px 0 18px;
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: var(--brz-cat-gray);
}
.brz-auth__login .woocommerce-form-login__submit,
.brz-auth__login button[name="login"] {
	display: block;
	width: 100%;
	min-height: 50px;
	margin: 0 0 16px !important;
	padding: 15px 28px;
	font-family: 'Sora', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	background: var(--brz-cat-accent);
	border: 0;
	border-radius: var(--brz-cat-radius-sm);
	cursor: pointer;
	transition: var(--brz-cat-ease);
}
.brz-auth__login .woocommerce-form-login__submit:hover,
.brz-auth__login button[name="login"]:hover {
	background: #000;
	transform: translateY(-2px);
}
.brz-auth__login .lost_password { margin: 0; font-size: 14px; text-align: center; }
.brz-auth__login .lost_password a { color: var(--brz-cat-accent); font-weight: 600; text-decoration: none; }
.brz-auth__login .lost_password a:hover { text-decoration: underline; }

/* ── CTA de cadastro ── */
.brz-signup-cta {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 28px;
	padding: clamp(30px, 4vw, 44px);
	color: #fff;
	background:
		radial-gradient(120% 90% at 100% 0%, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 55%),
		linear-gradient(150deg, var(--brz-cat-accent) 0%, #0b0a5c 100%);
	border-radius: var(--brz-cat-radius);
	box-shadow: 0 28px 60px -30px rgba(20, 19, 155, .75);
	overflow: hidden;
	font-family: 'Inter', sans-serif;
}
/* Anéis decorativos */
.brz-signup-cta::before,
.brz-signup-cta::after {
	content: '';
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .14);
	pointer-events: none;
}
.brz-signup-cta::before { width: 340px; height: 340px; right: -120px; bottom: -150px; }
.brz-signup-cta::after  { width: 220px; height: 220px; right: -40px;  bottom: -90px; border-color: rgba(255, 255, 255, .2); }
.brz-signup-cta__glow {
	position: absolute;
	z-index: -1;
	top: -80px;
	left: -60px;
	width: 220px;
	height: 220px;
	background: radial-gradient(circle, rgba(120, 118, 255, .45) 0%, rgba(120, 118, 255, 0) 70%);
	pointer-events: none;
}

.brz-signup-cta__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 18px;
	padding: 6px 12px;
	font-family: 'Sora', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 999px;
	backdrop-filter: blur(4px);
}
/* Especificidade extra: o tema aplica .brz-woo h2 { color: ink } na Minha conta
   e o Elementor pode definir cor global para títulos. */
.brz-signup-cta .brz-signup-cta__title {
	margin: 0 0 12px;
	font-family: 'Sora', sans-serif;
	font-size: clamp(24px, 2.8vw, 32px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.015em;
	color: #fff !important;
}
.brz-signup-cta__text {
	margin: 0;
	max-width: 44ch;
	font-size: 15px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .82);
}
.brz-signup-cta__list {
	display: grid;
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}
.brz-signup-cta__list li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	color: #fff;
}
.brz-signup-cta__check {
	flex-shrink: 0;
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	color: var(--brz-cat-accent);
	background: #fff;
	border-radius: 50%;
}

.brz-signup-cta__btn {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 54px;
	padding: 16px 28px;
	font-family: 'Sora', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--brz-cat-accent) !important;
	text-decoration: none !important;
	background: #fff;
	border-radius: var(--brz-cat-radius-sm);
	box-shadow: 0 12px 28px -12px rgba(0, 0, 0, .45);
	transition: var(--brz-cat-ease);
}
.brz-signup-cta__btn svg { transition: transform var(--brz-cat-ease); }
.brz-signup-cta__btn:hover {
	color: #fff !important;
	background: #000;
	transform: translateY(-2px);
}
.brz-signup-cta__btn:hover svg { transform: translateX(4px); }
.brz-signup-cta__btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* Variante faixa (shortcode): conteúdo e botão lado a lado */
.brz-signup-cta--banner {
	flex-direction: row;
	align-items: center;
	margin: 0 auto;
}
.brz-signup-cta--banner .brz-signup-cta__body { flex: 1; }
.brz-signup-cta--banner .brz-signup-cta__list { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.brz-signup-cta--banner .brz-signup-cta__btn { align-self: center; flex-shrink: 0; }

@media (max-width: 860px) {
	.brz-auth { grid-template-columns: 1fr; }
	.brz-signup-cta--banner { flex-direction: column; align-items: stretch; }
	.brz-signup-cta--banner .brz-signup-cta__btn { align-self: stretch; }
}
@media (max-width: 480px) {
	.brz-signup-cta__btn { align-self: stretch; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	.brz-signup-cta__btn, .brz-signup-cta__btn svg,
	.brz-auth__login button[name="login"] { transition: none; }
	.brz-signup-cta__btn:hover, .brz-auth__login button[name="login"]:hover { transform: none; }
	.brz-signup-cta__btn:hover svg { transform: none; }
}
