/* =========================================================
   ÁREA DA ASSINANTE — ESTRUTURA BASE
   ========================================================= */

body.woocommerce-account {
	background: #f8f5f2;
	color: #2d2325;
}

body.woocommerce-account .site-header,
body.woocommerce-account .site-footer,
body.woocommerce-account .entry-header {
	display: none !important;
}

body.woocommerce-account .site-content,
body.woocommerce-account .ast-container,
body.woocommerce-account .content-area,
body.woocommerce-account .site-main,
body.woocommerce-account article,
body.woocommerce-account .entry-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.asf-account-page {
	min-height: 100vh;
	background: #f8f5f2;
}

/* Cabeçalho */

.asf-account-header {
	background: #ffffff;
	border-bottom: 1px solid #e9dfda;
}

.asf-account-header__inner {
	width: min(1180px, calc(100% - 40px));
	min-height: 82px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.asf-account-logo {
	color: #6a1e2b;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 1;
}

.asf-account-header__label {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #655b5d;
	font-size: 14px;
	font-weight: 500;
}

/* Estrutura principal */

.asf-account-main {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	padding: 48px 0 72px;
}

.asf-account-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	align-items: start;
	gap: 28px;
}

/* Navegação lateral */

.asf-account-navigation {
	overflow: hidden;
	border: 1px solid #e6ddda;
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 6px 24px rgba(70, 38, 44, 0.05);
}

.asf-account-navigation
.woocommerce-MyAccount-navigation {
	width: 100%;
	float: none;
}

.asf-account-navigation
.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 10px;
	list-style: none;
}

.asf-account-navigation
.woocommerce-MyAccount-navigation li {
	margin: 0;
	border: 0;
}

.asf-account-navigation
.woocommerce-MyAccount-navigation li a {
	min-height: 48px;
	padding: 12px 14px;
	display: flex;
	align-items: center;
	border-radius: 8px;
	color: #5f5557;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition:
		background 0.18s ease,
		color 0.18s ease;
}

.asf-account-navigation
.woocommerce-MyAccount-navigation li a:hover {
	background: #faf5f3;
	color: #6a1e2b;
}

.asf-account-navigation
.woocommerce-MyAccount-navigation li.is-active a {
	background: #6a1e2b;
	color: #ffffff;
}

/* Esconde Downloads desde já */

.asf-account-navigation
.woocommerce-MyAccount-navigation-link--downloads {
	display: none !important;
}

/* Conteúdo */

.asf-account-content {
	min-width: 0;
	padding: 32px;
	border: 1px solid #e6ddda;
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 6px 24px rgba(70, 38, 44, 0.05);
}

.asf-account-content
.woocommerce-MyAccount-content {
	width: 100%;
	float: none;
}

.asf-account-content h1,
.asf-account-content h2,
.asf-account-content h3 {
	color: #2d2325;
	font-family: "Playfair Display", Georgia, serif;
}

.asf-account-content h2 {
	margin: 0 0 22px;
	font-size: 28px;
}

/* Avisos */

.asf-account-content .woocommerce-message,
.asf-account-content .woocommerce-info,
.asf-account-content .woocommerce-error {
	margin: 0 0 22px;
	padding: 16px 18px;
	border: 1px solid #e4d6d2;
	border-radius: 10px;
	background: #faf7f5;
	color: #4f4446;
}

/* Botões */

body.woocommerce-account
.asf-account-content
.woocommerce-button,
body.woocommerce-account
.asf-account-content
.button {
	min-height: 44px;
	padding: 11px 17px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #6a1e2b;
	border-radius: 8px;
	background: #6a1e2b;
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

body.woocommerce-account
.asf-account-content
.woocommerce-button:hover,
body.woocommerce-account
.asf-account-content
.button:hover {
	background: #501620;
	border-color: #501620;
	color: #ffffff !important;
}

/* Tabelas */

.asf-account-content
table.shop_table {
	width: 100%;
	margin: 0;
	border: 1px solid #e6ddda;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 10px;
	overflow: hidden;
}

.asf-account-content
table.shop_table th,
.asf-account-content
table.shop_table td {
	padding: 14px;
	border-width: 0 0 1px;
	border-color: #eee6e3;
	font-size: 13px;
}

.asf-account-content
table.shop_table th {
	background: #faf7f5;
	color: #4f4446;
	font-weight: 700;
}

/* Login */

.asf-account-login {
	max-width: 520px;
	margin: 20px auto;
	padding: 32px;
	border: 1px solid #e6ddda;
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 6px 24px rgba(70, 38, 44, 0.05);
}

/* Responsividade */

@media (max-width: 820px) {
	.asf-account-layout {
		grid-template-columns: 1fr;
	}

	.asf-account-navigation
	.woocommerce-MyAccount-navigation ul {
		display: flex;
		overflow-x: auto;
		gap: 6px;
	}

	.asf-account-navigation
	.woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
	}

	.asf-account-navigation
	.woocommerce-MyAccount-navigation li a {
		white-space: nowrap;
	}
}

@media (max-width: 600px) {
	.asf-account-header__inner,
	.asf-account-main {
		width: min(100% - 28px, 1180px);
	}

	.asf-account-header__inner {
		min-height: 68px;
	}

	.asf-account-logo {
		font-size: 27px;
	}

	.asf-account-header__label {
		font-size: 12px;
	}

	.asf-account-main {
		padding: 28px 0 48px;
	}

	.asf-account-content {
		padding: 20px;
		border-radius: 12px;
	}

	.asf-account-login {
		padding: 22px;
	}
}

/* =========================================================
   ÁREA DA ASSINANTE — NAVEGAÇÃO E DASHBOARD
   ========================================================= */

/* Navegação */

.asf-member-nav {
	width: 100%;
}

.asf-member-nav__toggle {
	display: none;
}

.asf-member-nav__list {
	margin: 0;
	padding: 10px;
	list-style: none;
}

.asf-member-nav__list li {
	margin: 0;
}

.asf-member-nav__list a {
	min-height: 50px;
	padding: 12px 14px;
	display: flex;
	align-items: center;
	gap: 12px;
	border-radius: 10px;
	color: #5f5557;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease;
}

.asf-member-nav__list a:hover {
	background: #faf5f3;
	color: #6a1e2b;
	transform: translateX(2px);
}

.asf-member-nav__list li.is-active a {
	background: #6a1e2b;
	color: #ffffff;
}

.asf-member-nav__icon {
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(106, 30, 43, 0.08);
	font-size: 14px;
}

.asf-member-nav__list li.is-active .asf-member-nav__icon {
	background: rgba(255, 255, 255, 0.15);
}

.asf-member-nav__logout {
	margin-top: 10px !important;
	padding-top: 10px;
	border-top: 1px solid #eee5e1;
}

.asf-member-nav__logout a {
	color: #817476;
	font-weight: 500;
}

/* Dashboard */

.asf-dashboard {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.asf-dashboard__welcome {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}

.asf-dashboard__eyebrow {
	display: block;
	margin-bottom: 8px;
	color: #9c7a68;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.asf-dashboard__welcome h1,
.asf-dashboard__highlight h2 {
	margin: 0;
	color: #6a1e2b;
	font-family: "Playfair Display", Georgia, serif;
}

.asf-dashboard__welcome h1 {
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.15;
}

.asf-dashboard__welcome p {
	max-width: 620px;
	margin: 12px 0 0;
	color: #655b5d;
	font-size: 15px;
	line-height: 1.65;
}

.asf-status-badge {
	flex: 0 0 auto;
	padding: 8px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.asf-status-badge.is-active {
	background: #eaf7ef;
	color: #287342;
}

.asf-status-badge.is-warning {
	background: #fff5dc;
	color: #8b6418;
}

.asf-status-badge.is-neutral {
	background: #f1edeb;
	color: #6b6062;
}

/* Card principal */

.asf-dashboard__highlight {
	padding: 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	border: 1px solid #eaded9;
	border-radius: 16px;
	background:
		linear-gradient(
			135deg,
			#faf5f2 0%,
			#f6eee9 100%
		);
}

.asf-dashboard__highlight h2 {
	font-size: 29px;
	line-height: 1.2;
}

.asf-dashboard__highlight p {
	margin: 10px 0 0;
	color: #655b5d;
	font-size: 14px;
}

.asf-dashboard__highlight strong {
	color: #342a2c;
}

.asf-dashboard__primary-button {
	min-height: 48px;
	padding: 13px 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	border-radius: 10px;
	background: #6a1e2b;
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}

.asf-dashboard__primary-button:hover {
	background: #501620;
	color: #ffffff !important;
	transform: translateY(-1px);
}

/* Cards menores */

.asf-dashboard__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.asf-dashboard-card {
	min-height: 108px;
	padding: 20px;
	display: flex;
	align-items: center;
	gap: 15px;
	border: 1px solid #eadfdb;
	border-radius: 14px;
	background: #ffffff;
	color: #352b2d !important;
	text-decoration: none;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.asf-dashboard-card:hover {
	border-color: #d9c1bb;
	box-shadow: 0 10px 28px rgba(80, 37, 46, 0.08);
	color: #352b2d !important;
	transform: translateY(-2px);
}

.asf-dashboard-card__icon {
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: #faf3f0;
	color: #6a1e2b;
	font-size: 19px;
	font-weight: 700;
}

.asf-dashboard-card__content {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.asf-dashboard-card__content strong {
	color: #352b2d;
	font-size: 15px;
}

.asf-dashboard-card__content small {
	color: #776b6d;
	font-size: 12px;
	line-height: 1.45;
}

.asf-dashboard-card__arrow {
	margin-left: auto;
	color: #9f8f91;
	font-size: 18px;
}

/* Links da área */

.asf-account-content a:not(.button):not(.woocommerce-button):not(.asf-dashboard__primary-button):not(.asf-dashboard-card) {
	color: #6a1e2b;
}

.asf-account-content a:not(.button):not(.woocommerce-button):hover {
	color: #501620;
}

/* Mobile */

@media (max-width: 820px) {

	.asf-account-navigation {
		overflow: visible;
	}

	.asf-member-nav__toggle {
		width: 100%;
		min-height: 52px;
		padding: 13px 16px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border: 0;
		border-radius: 12px;
		background: #ffffff;
		color: #4c4143;
		font-size: 14px;
		font-weight: 700;
		cursor: pointer;
	}

	.asf-member-nav__arrow {
		font-size: 18px;
		transition: transform 0.2s ease;
	}

	.asf-member-nav__toggle[aria-expanded="true"]
	.asf-member-nav__arrow {
		transform: rotate(180deg);
	}

	.asf-member-nav__list {
		display: none !important;
		margin-top: 8px;
		padding: 8px;
		border-top: 1px solid #eee5e1;
	}

	.asf-member-nav__list.is-open {
		display: block !important;
	}

	.asf-member-nav__list a {
		min-height: 48px;
	}

	.asf-dashboard__cards {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {

	.asf-dashboard {
		gap: 18px;
	}

	.asf-dashboard__welcome {
		flex-direction: column;
		gap: 14px;
	}

	.asf-dashboard__welcome h1 {
		font-size: 30px;
	}

	.asf-dashboard__welcome p {
		font-size: 14px;
	}

	.asf-dashboard__highlight {
		padding: 22px;
		flex-direction: column;
		align-items: stretch;
	}

	.asf-dashboard__highlight h2 {
		font-size: 25px;
	}

	.asf-dashboard__primary-button {
		width: 100%;
	}

	.asf-dashboard-card {
		min-height: 96px;
		padding: 17px;
	}
}
/* =========================================================
   DETALHES DA CAIXA
   ========================================================= */

.asf-box-details {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.asf-box-details__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}

.asf-box-details__header h1,
.asf-box-progress h2,
.asf-box-summary h2,
.asf-box-address h2 {
	margin: 0;
	color: #6a1e2b;
	font-family: "Playfair Display", Georgia, serif;
}

.asf-box-details__header h1 {
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.15;
}

.asf-box-details__header p {
	margin: 9px 0 0;
	color: #75696b;
	font-size: 13px;
}

.asf-box-payment-badge {
	padding: 9px 13px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

.asf-box-payment-badge.is-success {
	background: #eaf7ef;
	color: #287342;
}

.asf-box-payment-badge.is-warning {
	background: #fff4da;
	color: #8b6418;
}

/* Progresso */

.asf-box-progress {
	padding: 28px;
	border: 1px solid #eaded9;
	border-radius: 16px;
	background: #faf7f5;
}

.asf-box-progress h2 {
	margin-bottom: 28px;
	font-size: 27px;
}

.asf-box-progress__track {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
}

.asf-box-progress__track::before,
.asf-box-progress__track::after {
	content: "";
	position: absolute;
	top: 18px;
	left: 10%;
	height: 3px;
	border-radius: 999px;
}

.asf-box-progress__track::before {
	right: 10%;
	background: #e4d7d3;
}

.asf-box-progress__track::after {
	width: calc(var(--asf-progress) * 0.8);
	max-width: 80%;
	background: #6a1e2b;
	transition: width 0.8s ease;
}

.asf-box-step {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.asf-box-step__circle {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #dfd0cc;
	border-radius: 50%;
	background: #ffffff;
	color: #968789;
	font-size: 13px;
	font-weight: 700;
}

.asf-box-step.is-complete .asf-box-step__circle,
.asf-box-step.is-current .asf-box-step__circle {
	border-color: #6a1e2b;
	background: #6a1e2b;
	color: #ffffff;
}

.asf-box-step.is-current .asf-box-step__circle {
	box-shadow: 0 0 0 6px rgba(106, 30, 43, 0.1);
}

.asf-box-step__content {
	margin-top: 13px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.asf-box-step__content strong {
	color: #403537;
	font-size: 13px;
}

.asf-box-step__content small {
	color: #867a7c;
	font-size: 11px;
	line-height: 1.4;
}

/* Cards */

.asf-box-details__grid {
	margin-top: 4px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.asf-box-info-card {
	min-height: 145px;
	padding: 28px 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border: 1px solid #eadfdb;
	border-radius: 14px;
	background: #ffffff;
}

.asf-box-info-card > * {
	margin-left: 0;
	margin-right: 0;
}

.asf-box-info-card__label {
	margin-bottom: 18px;
	color: #9c7a68;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.asf-box-info-card strong {
	color: #3c3133;
	font-size: 16px;
}

.asf-box-info-card small {
	margin-top: 7px;
	color: #7c7072;
	font-size: 12px;
	line-height: 1.45;
}

/* Alerta */

.asf-box-alert {
	padding: 24px;
	border: 1px solid #eccac5;
	border-radius: 14px;
	background: #fff4f1;
}

.asf-box-alert strong {
	color: #8b302f;
	font-size: 16px;
}

.asf-box-alert p {
	margin: 8px 0 14px;
	color: #694b4b;
}

.asf-box-alert a {
	color: #6a1e2b;
	font-weight: 700;
}

/* Resumo */

.asf-box-summary,
.asf-box-address {
	padding: 27px;
	border: 1px solid #eadfdb;
	border-radius: 16px;
	background: #ffffff;
}

.asf-box-summary h2,
.asf-box-address h2 {
	font-size: 27px;
}

.asf-box-product {
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid #eee5e1;
}

.asf-box-product__main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.asf-box-product__main strong {
	color: #403537;
	font-size: 16px;
}

.asf-box-product__main span {
	color: #776b6d;
	font-size: 12px;
}

.asf-box-product__meta {
	margin-top: 15px;
	padding: 17px;
	border-radius: 12px;
	background: #faf6f3;
}

.asf-box-product__meta ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.asf-box-product__meta li,
.asf-box-product__meta p {
	margin: 0;
	color: #62575a;
	font-size: 13px;
	line-height: 1.7;
}

.asf-box-address {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
}

.asf-box-address address {
	min-width: 280px;
	margin: 0;
	padding: 18px;
	border-radius: 12px;
	background: #faf6f3;
	color: #53484a;
	font-size: 13px;
	font-style: normal;
	line-height: 1.75;
}

/* Rodapé */

.asf-box-details__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.asf-box-back-link,
.asf-box-support-link {
	font-size: 13px;
	font-weight: 700;
}

.asf-box-support-link {
	padding: 11px 16px;
	border: 1px solid #6a1e2b;
	border-radius: 9px;
	text-decoration: none;
}

/* Responsivo */

@media (max-width: 820px) {

	.asf-box-details__grid {
		grid-template-columns: 1fr;
	}

	.asf-box-progress__track {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.asf-box-progress__track::before,
	.asf-box-progress__track::after {
		top: 19px;
		bottom: 19px;
		left: 18px;
		width: 3px;
		height: auto;
	}

	.asf-box-progress__track::before {
		right: auto;
	}

	.asf-box-progress__track::after {
		width: 3px;
		height: calc(var(--asf-progress) * 0.8);
		max-height: 80%;
	}

	.asf-box-step {
		min-height: 88px;
		flex-direction: row;
		align-items: flex-start;
		text-align: left;
	}

	.asf-box-step__circle {
		flex: 0 0 38px;
	}

	.asf-box-step__content {
		margin: 2px 0 0 16px;
	}

	.asf-box-address {
		flex-direction: column;
	}

	.asf-box-address address {
		width: 100%;
		min-width: 0;
	}
}

@media (max-width: 600px) {

	.asf-box-details__header {
		flex-direction: column;
		gap: 13px;
	}

	.asf-box-details__header h1 {
		font-size: 30px;
	}
	
		.asf-box-info-card {
		min-height: auto;
		padding: 24px 22px;
	}

	.asf-box-progress,
	.asf-box-summary,
	.asf-box-address {
		padding: 21px;
	}

	.asf-box-progress h2,
	.asf-box-summary h2,
	.asf-box-address h2 {
		font-size: 24px;
	}

	.asf-box-product__main {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}

	.asf-box-details__footer {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	.asf-box-support-link {
		display: block;
	}
}

.asf-box-details .asf-box-info-card {
	padding: 28px 30px !important;
}

@media (max-width: 600px) {
	.asf-box-details .asf-box-info-card {
		padding: 24px 22px !important;
	}
}

/* =========================================================
   MINHA ASSINATURA
   ========================================================= */

.asf-subscription {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.asf-subscription__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}

.asf-subscription__header h1,
.asf-subscription__hero h2,
.asf-subscription-progress h2 {
	margin: 0;
	color: #6a1e2b;
	font-family: "Playfair Display", Georgia, serif;
}

.asf-subscription__header h1 {
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.15;
}

.asf-subscription__header p {
	margin: 9px 0 0;
	color: #776b6d;
	font-size: 13px;
}

/* Hero */

.asf-subscription__hero {
	padding: 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	border: 1px solid #eaded9;
	border-radius: 16px;
	background:
		linear-gradient(
			135deg,
			#faf5f2 0%,
			#f5ebe6 100%
		);
}

.asf-subscription__hero h2 {
	font-size: 30px;
}

.asf-subscription__hero p {
	margin: 10px 0 0;
	color: #5f5355;
	font-size: 15px;
	font-weight: 700;
}

.asf-subscription__hero-date {
	min-width: 250px;
	padding: 18px 20px;
	border-radius: 13px;
	background: rgba(255, 255, 255, 0.75);
}

.asf-subscription__hero-date span {
	display: block;
	margin-bottom: 7px;
	color: #9c7a68;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.asf-subscription__hero-date strong {
	color: #403537;
	font-size: 16px;
}

/* Linha do tempo */

.asf-subscription-progress {
	padding: 28px;
	border: 1px solid #eaded9;
	border-radius: 16px;
	background: #faf7f5;
}

.asf-subscription-progress h2 {
	margin-bottom: 26px;
	font-size: 27px;
}

.asf-subscription-progress__items {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.asf-subscription-progress__item {
	padding: 18px;
	display: flex;
	align-items: flex-start;
	gap: 13px;
	border: 1px solid #e8dcd8;
	border-radius: 13px;
	background: #ffffff;
}

.asf-subscription-progress__item > span {
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #dfd0cc;
	border-radius: 50%;
	color: #968789;
	font-size: 12px;
	font-weight: 700;
}

.asf-subscription-progress__item.is-complete > span,
.asf-subscription-progress__item.is-current > span {
	border-color: #6a1e2b;
	background: #6a1e2b;
	color: #ffffff;
}

.asf-subscription-progress__item.is-current {
	border-color: #d7bdb7;
	box-shadow: 0 7px 20px rgba(106, 30, 43, 0.07);
}

.asf-subscription-progress__item div {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.asf-subscription-progress__item strong {
	color: #403537;
	font-size: 13px;
}

.asf-subscription-progress__item small {
	color: #817577;
	font-size: 11px;
	line-height: 1.45;
}

/* Cards */

.asf-subscription__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.asf-subscription-card {
	min-height: 220px;
	padding: 28px 30px;
	display: flex;
	flex-direction: column;
	border: 1px solid #eadfdb;
	border-radius: 15px;
	background: #ffffff;
}

.asf-subscription-card__label {
	margin-bottom: 17px;
	color: #9c7a68;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.asf-subscription-card strong {
	color: #3c3133;
	font-size: 17px;
}

.asf-subscription-card p,
.asf-subscription-card__address {
	margin: 11px 0 18px;
	color: #716568;
	font-size: 13px;
	line-height: 1.65;
}

.asf-subscription-card__address {
	font-style: normal;
}

.asf-subscription-card a {
	margin-top: auto;
	color: #6a1e2b;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.asf-subscription-card a:hover {
	color: #501620;
	text-decoration: underline;
}

/* Ações */

.asf-subscription-actions {
	padding: 23px;
	border: 1px solid #eadfdb;
	border-radius: 14px;
	background: #ffffff;
}

.asf-subscription-action {
	margin: 6px 8px 0 0;
	padding: 11px 15px;
	display: inline-flex;
	border: 1px solid #6a1e2b;
	border-radius: 9px;
	color: #6a1e2b !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

/* Cancelamento discreto */

.asf-subscription-cancel {
	padding-top: 18px;
	border-top: 1px solid #eadfdb;
	text-align: center;
}

.asf-subscription-cancel p {
	margin: 0;
	color: #8a7d7f;
	font-size: 11px;
	line-height: 1.6;
}

.asf-subscription-cancel a {
	color: #6a1e2b;
	font-weight: 700;
}

/* Responsivo */

@media (max-width: 920px) {

	.asf-subscription-progress__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {

	.asf-subscription__grid {
		grid-template-columns: 1fr;
	}

	.asf-subscription__hero {
		flex-direction: column;
		align-items: stretch;
	}

	.asf-subscription__hero-date {
		min-width: 0;
	}
}

@media (max-width: 600px) {

	.asf-subscription__header {
		flex-direction: column;
		gap: 13px;
	}

	.asf-subscription__header h1 {
		font-size: 30px;
	}

	.asf-subscription__hero,
	.asf-subscription-progress,
	.asf-subscription-card {
		padding: 22px;
	}

	.asf-subscription-progress__items {
		grid-template-columns: 1fr;
	}

	.asf-subscription-card {
		min-height: auto;
	}
}

/* Ajuste definitivo do preenchimento dos cards da assinatura */

.asf-subscription .asf-subscription-card {
	padding: 28px 30px !important;
}

.asf-subscription .asf-subscription-card__label {
	margin-bottom: 18px;
}

.asf-subscription .asf-subscription-card strong {
	display: block;
	margin-bottom: 10px;
}

.asf-subscription .asf-subscription-card p,
.asf-subscription .asf-subscription-card__address {
	margin-top: 0;
	margin-bottom: 20px;
}

@media (max-width: 600px) {
	.asf-subscription .asf-subscription-card {
		padding: 24px 22px !important;
	}
}

.asf-subscription .asf-subscription-actions {
	padding: 28px 30px !important;
}

@media (max-width: 600px) {
	.asf-subscription .asf-subscription-actions {
		padding: 24px 22px !important;
	}
}


/* =========================================================
   MEUS DADOS
   ========================================================= */

.asf-profile {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.asf-profile__header h1,
.asf-profile-card h2 {
	margin: 0;
	color: #6a1e2b;
	font-family: "Playfair Display", Georgia, serif;
}

.asf-profile__header h1 {
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.15;
}

.asf-profile__header p {
	max-width: 680px;
	margin: 12px 0 0;
	color: #6f6365;
	font-size: 14px;
	line-height: 1.65;
}

.asf-profile-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.asf-profile-card {
	padding: 28px 30px !important;
	border: 1px solid #eadfdb;
	border-radius: 16px;
	background: #ffffff;
}

.asf-profile-card__heading {
	margin-bottom: 24px;
}

.asf-profile-card h2 {
	font-size: 27px;
}

.asf-profile-card__heading p {
	margin: 9px 0 0;
	color: #796d6f;
	font-size: 13px;
}

.asf-profile-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.asf-field {
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.asf-field--full {
	grid-column: 1 / -1;
}

.asf-field label {
	color: #423739;
	font-size: 13px;
	font-weight: 700;
}

.asf-field .required {
	color: #9c3342;
}

.asf-field input {
	width: 100%;
	min-height: 50px;
	padding: 12px 14px !important;
	border: 1px solid #ddd0cc !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	color: #352b2d;
	font-size: 14px;
	box-shadow: none !important;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.asf-field input:focus {
	border-color: #6a1e2b !important;
	box-shadow: 0 0 0 3px rgba(106, 30, 43, 0.09) !important;
	outline: none;
}

.asf-field small {
	color: #887b7d;
	font-size: 11px;
	line-height: 1.45;
}

.asf-profile-actions {
	display: flex;
	justify-content: flex-end;
}

.asf-profile-save {
	min-height: 50px;
	padding: 13px 24px;
	border: 0;
	border-radius: 10px;
	background: #6a1e2b;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}

.asf-profile-save:hover {
	background: #501620;
	transform: translateY(-1px);
}

@media (max-width: 700px) {

	.asf-profile-grid {
		grid-template-columns: 1fr;
	}

	.asf-field--full {
		grid-column: auto;
	}
}

@media (max-width: 600px) {

	.asf-profile-card {
		padding: 22px !important;
	}

	.asf-profile-card h2 {
		font-size: 24px;
	}

	.asf-profile-actions {
		display: block;
	}

	.asf-profile-save {
		width: 100%;
	}
}

/* =========================================================
   TIPO DE CADASTRO — PF / PJ
   ========================================================= */

.asf-person-type {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.asf-person-type__option {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-height: 112px;
	padding: 22px 24px;
	border: 1px solid #e3d6d2;
	border-radius: 14px;
	background: #fff;
	cursor: pointer;
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.asf-person-type__option:hover {
	border-color: #c9a24a;
	transform: translateY(-1px);
}

.asf-person-type__option.is-active {
	border-color: #6a1e2b;
	background: #fbf6f4;
	box-shadow: 0 0 0 3px rgba(106, 30, 43, 0.07);
}

.asf-person-type__option input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.asf-person-type__title {
	color: #6a1e2b;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.2;
}

.asf-person-type__description {
	color: #796d6f;
	font-size: 12px;
	line-height: 1.5;
}

.asf-person-type__option.is-active::after {
	content: "✓";
	position: absolute;
	top: 18px;
	right: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: #6a1e2b;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
}

.asf-profile-card[hidden] {
	display: none !important;
}

@media (max-width: 700px) {

	.asf-person-type {
		grid-template-columns: 1fr;
	}

	.asf-person-type__option {
		min-height: auto;
	}
}

/* =========================================================
   LOGIN — ÁREA DA ASSINANTE
   ========================================================= */

.asf-auth {
	padding: 48px 20px 72px;
	background: #f6f0e8;
}

.asf-auth__container {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
	width: min(1120px, 100%);
	margin: 0 auto;
	overflow: hidden;
	border: 1px solid rgba(106, 30, 43, 0.12);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 24px 70px rgba(47, 27, 30, 0.1);
}

/* LADO ESQUERDO */

.asf-auth__intro {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 610px;
	padding: 56px;
	background:
		linear-gradient(
			145deg,
			rgba(106, 30, 43, 0.98),
			rgba(78, 18, 31, 0.98)
		);
	color: #fff;
}

.asf-auth__intro::before {
	content: "";
	position: absolute;
	top: -90px;
	right: -80px;
	width: 260px;
	height: 260px;
	border: 1px solid rgba(201, 162, 74, 0.2);
	border-radius: 50%;
}

.asf-auth__intro::after {
	content: "";
	position: absolute;
	right: -30px;
	bottom: -90px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: rgba(201, 162, 74, 0.08);
}

.asf-auth__intro-content {
	position: relative;
	z-index: 1;
	max-width: 420px;
}

.asf-auth__eyebrow {
	display: inline-block;
	margin-bottom: 14px;
	color: #c9a24a;
	font-family: "Montserrat", Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.4;
	text-transform: uppercase;
}

.asf-auth__intro h1 {
	margin: 0 0 20px;
	color: #fff;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(38px, 4vw, 54px);
	font-weight: 700;
	line-height: 1.08;
}

.asf-auth__intro p {
	max-width: 390px;
	margin: 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 15px;
	line-height: 1.75;
}

.asf-auth__benefits {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-top: 38px;
}

.asf-auth__benefit {
	display: flex;
	align-items: center;
	gap: 12px;
	color: rgba(255, 255, 255, 0.94);
	font-size: 14px;
	font-weight: 500;
}

.asf-auth__benefit-icon {
	display: inline-flex;
	flex: 0 0 27px;
	align-items: center;
	justify-content: center;
	width: 27px;
	height: 27px;
	border: 1px solid rgba(201, 162, 74, 0.52);
	border-radius: 50%;
	background: rgba(201, 162, 74, 0.1);
	color: #e5c778;
	font-size: 12px;
	font-weight: 800;
}

/* LADO DIREITO */

.asf-auth__panel {
	display: flex;
	align-items: center;
	padding: 56px 64px;
	background: #fff;
}

.asf-auth__panel-content {
	width: 100%;
	max-width: 470px;
	margin: 0 auto;
}

.asf-auth__header {
	margin-bottom: 30px;
}

.asf-auth__header h2 {
	margin: 0 0 10px;
	color: #301f22;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 38px;
	font-weight: 700;
	line-height: 1.15;
}

.asf-auth__header p {
	margin: 0;
	color: #786c6e;
	font-size: 14px;
	line-height: 1.65;
}

/* CAMPOS */

.asf-auth-form {
	margin: 0;
	padding: 0;
	border: 0 !important;
}

.asf-auth-field {
	margin: 0 0 20px;
}

.asf-auth-field label {
	display: block;
	margin-bottom: 8px;
	color: #3c2b2e;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.asf-auth-field .required {
	color: #8e263a;
}

.asf-auth-field input[type="text"],
.asf-auth-field input[type="email"],
.asf-auth-field input[type="password"] {
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid #d8ccca;
	border-radius: 10px;
	background: #fff;
	color: #2f2325;
	font-size: 15px;
	box-shadow: none;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.asf-auth-field input::placeholder {
	color: #aaa0a1;
}

.asf-auth-field input:focus {
	outline: none;
	border-color: #6a1e2b;
	box-shadow: 0 0 0 3px rgba(106, 30, 43, 0.08);
}

/* SENHA */

.asf-auth-field .password-input {
	display: block;
	position: relative;
}

.asf-auth-field .password-input input {
	padding-right: 50px;
}

.asf-auth-field .show-password-input {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 22px;
	height: 22px;
	margin: 0;
	transform: translateY(-50%);
	cursor: pointer;
}

/* OPÇÕES */

.asf-auth-form__options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 2px 0 24px;
}

.asf-auth-remember {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	color: #5e5052;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
}

.asf-auth-remember input {
	width: 17px;
	height: 17px;
	margin: 0 !important;
	accent-color: #6a1e2b;
}

.asf-auth-forgot {
	color: #6a1e2b;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.asf-auth-forgot:hover {
	color: #4d1422;
	text-decoration: underline;
}

/* BOTÃO */

.asf-auth .asf-auth-submit,
.asf-auth .woocommerce-button.asf-auth-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 54px;
	margin: 0;
	padding: 14px 24px;
	border: 1px solid #6a1e2b;
	border-radius: 10px;
	background: #6a1e2b;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	box-shadow: none;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.asf-auth .asf-auth-submit:hover {
	border-color: #501522;
	background: #501522;
	color: #fff;
	transform: translateY(-1px);
}

/* SUPORTE */

.asf-auth__support {
	margin-top: 28px;
	padding-top: 22px;
	border-top: 1px solid #eee6e3;
}

.asf-auth__support span {
	display: block;
	margin-bottom: 4px;
	color: #3e2d30;
	font-size: 13px;
	font-weight: 700;
}

.asf-auth__support p {
	margin: 0;
	color: #897d7f;
	font-size: 12px;
	line-height: 1.6;
}

/* MENSAGENS DO WOOCOMMERCE */

.asf-auth + .woocommerce-notices-wrapper,
.woocommerce-notices-wrapper:has(+ .asf-auth) {
	width: min(1120px, calc(100% - 40px));
	margin: 20px auto;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	border-top-color: #6a1e2b;
	border-radius: 10px;
	background: #fff;
	color: #4d3d40;
	box-shadow: 0 8px 30px rgba(47, 27, 30, 0.08);
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
	color: #6a1e2b;
}

/* TABLET */

@media (max-width: 900px) {

	.asf-auth {
		padding: 30px 18px 54px;
	}

	.asf-auth__container {
		grid-template-columns: 1fr;
		max-width: 660px;
	}

	.asf-auth__intro {
		min-height: auto;
		padding: 42px;
	}

	.asf-auth__intro h1 {
		font-size: 40px;
	}

	.asf-auth__benefits {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 12px;
		margin-top: 28px;
	}

	.asf-auth__benefit {
		align-items: flex-start;
		font-size: 12px;
	}

	.asf-auth__panel {
		padding: 48px 42px;
	}
}

/* MOBILE */

@media (max-width: 600px) {

	.asf-auth {
		padding: 18px 12px 42px;
	}

	.asf-auth__container {
		border-radius: 18px;
	}

	.asf-auth__intro {
		padding: 32px 25px;
	}

	.asf-auth__intro h1 {
		margin-bottom: 15px;
		font-size: 34px;
	}

	.asf-auth__intro p {
		font-size: 13px;
		line-height: 1.65;
	}

	.asf-auth__benefits {
		display: flex;
		gap: 11px;
		margin-top: 24px;
	}

	.asf-auth__benefit {
		align-items: center;
		font-size: 12px;
	}

	.asf-auth__benefit-icon {
		flex-basis: 24px;
		width: 24px;
		height: 24px;
	}

	.asf-auth__panel {
		padding: 34px 24px 38px;
	}

	.asf-auth__header {
		margin-bottom: 25px;
	}

	.asf-auth__header h2 {
		font-size: 32px;
	}

	.asf-auth-form__options {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}

	.asf-auth-field input[type="text"],
	.asf-auth-field input[type="email"],
	.asf-auth-field input[type="password"] {
		height: 50px;
		font-size: 16px;
	}
}
/* =========================================================
   LOGIN SOCIAL — GOOGLE
   ========================================================= */

.asf-social-login {
	width: 100%;
	margin: 0 0 24px;
}

.asf-social-login .wc-social-login {
	width: 100%;
	margin: 0;
	padding: 0;
}

.asf-social-login .wc-social-login > p,
.asf-social-login .wc-social-login > h2,
.asf-social-login .wc-social-login > h3 {
	display: none;
}

.asf-social-login .socials-list {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.asf-social-login .socials-list li {
	width: 100%;
	margin: 0;
	padding: 0;
}

.asf-social-login a.button-social-login,
.asf-social-login a.button-social-login-google,
.asf-social-login .button-social-login {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 54px;
	margin: 0 !important;
	padding: 13px 20px 13px 54px !important;
	border: 1px solid #d9cecb !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: #342629 !important;
	font-family: "Montserrat", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.asf-social-login a.button-social-login:hover,
.asf-social-login a.button-social-login-google:hover,
.asf-social-login .button-social-login:hover {
	border-color: #6a1e2b !important;
	background: #fbf7f5 !important;
	color: #6a1e2b !important;
	box-shadow: 0 0 0 3px rgba(106, 30, 43, 0.06) !important;
	transform: translateY(-1px);
}

.asf-social-login .social-badge {
	position: absolute !important;
	top: 50% !important;
	left: 17px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 26px !important;
	height: 26px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translateY(-50%);
	border: 0 !important;
	background: transparent !important;
}

.asf-social-login .social-badge img,
.asf-social-login .social-badge svg {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.asf-auth-divider {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	margin: 0 0 24px;
	color: #998d8f;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-align: center;
	text-transform: uppercase;
}

.asf-auth-divider::before,
.asf-auth-divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #ebe2df;
}

.asf-auth-divider span {
	white-space: nowrap;
}

/* Corrige links azuis herdados do tema */

.asf-auth .asf-auth-forgot,
.asf-auth .asf-auth-forgot:visited {
	color: #6a1e2b !important;
}

.asf-auth .asf-auth-forgot:hover,
.asf-auth .asf-auth-forgot:focus {
	color: #4d1422 !important;
}

/* Corrige o botão principal no hover */

.asf-auth .asf-auth-submit,
.asf-auth .asf-auth-submit:hover,
.asf-auth .asf-auth-submit:focus {
	border-color: #6a1e2b !important;
	background: #6a1e2b !important;
	color: #fff !important;
}

.asf-auth .asf-auth-submit:hover,
.asf-auth .asf-auth-submit:focus {
	border-color: #501522 !important;
	background: #501522 !important;
}

@media (max-width: 600px) {

	.asf-social-login a.button-social-login,
	.asf-social-login a.button-social-login-google,
	.asf-social-login .button-social-login {
		min-height: 52px;
		padding-right: 14px !important;
		font-size: 13px !important;
	}

	.asf-auth-divider {
		gap: 10px;
		font-size: 10px;
	}
}

/* LOGIN — compactação segura apenas no desktop */

@media (min-width: 901px) {

	.asf-auth {
		padding-top: 28px;
		padding-bottom: 42px;
	}

	.asf-auth__container {
		width: min(1060px, 100%);
	}

	.asf-auth__intro {
		min-height: 540px;
		padding: 44px 48px;
	}

	.asf-auth__intro h1 {
		font-size: clamp(40px, 3.7vw, 50px);
	}

	.asf-auth__benefits {
		margin-top: 30px;
	}

	.asf-auth__panel {
		padding: 42px 56px;
	}

	.asf-auth__header {
		margin-bottom: 24px;
	}

	.asf-social-login {
		margin-bottom: 18px;
	}

	.asf-auth-divider {
		margin-bottom: 20px;
	}

	.asf-auth-field {
		margin-bottom: 16px;
	}

	.asf-auth__support {
		margin-top: 22px;
		padding-top: 18px;
	}
}

/* =========================================================
   GOOGLE LOGIN — CONTENÇÃO DE LARGURA
   ========================================================= */

.asf-auth__panel-content .asf-social-login {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 0 18px;
	padding: 0;
	box-sizing: border-box;
}

.asf-auth__panel-content .asf-social-login *,
.asf-auth__panel-content .asf-social-login *::before,
.asf-auth__panel-content .asf-social-login *::after {
	box-sizing: border-box;
}

.asf-auth__panel-content .asf-social-login .wc-social-login,
.asf-auth__panel-content .asf-social-login .socials-list,
.asf-auth__panel-content .asf-social-login ul,
.asf-auth__panel-content .asf-social-login li {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

.asf-auth__panel-content .asf-social-login a.button-social-login,
.asf-auth__panel-content .asf-social-login a.button-social-login-google,
.asf-auth__panel-content .asf-social-login .button-social-login {
	display: flex !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 11px 18px !important;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 10px !important;
}

.asf-auth__panel-content .asf-social-login .social-badge {
	position: static !important;
	flex: 0 0 auto;
	width: 24px !important;
	height: 24px !important;
	margin: 0 10px 0 0 !important;
	padding: 0 !important;
	transform: none !important;
}

.asf-auth__panel-content .asf-social-login .social-badge img,
.asf-auth__panel-content .asf-social-login .social-badge svg {
	display: block;
	width: 22px !important;
	height: 22px !important;
}

@media (max-width: 600px) {

	.asf-auth__panel-content .asf-social-login a.button-social-login,
	.asf-auth__panel-content .asf-social-login a.button-social-login-google,
	.asf-auth__panel-content .asf-social-login .button-social-login {
		min-height: 46px !important;
		padding: 10px 14px !important;
		font-size: 13px !important;
	}
}

/* =========================================================
   CONFIRMAÇÃO DE RECUPERAÇÃO DE SENHA
   ========================================================= */

.asf-password-success-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin: 0 0 24px;
	border-radius: 50%;
	background: #edf7f0;
	color: #287a43;
	font-size: 24px;
	font-weight: 800;
}

.asf-password-confirmation {
	margin-bottom: 24px;
}

.asf-password-confirmation > p {
	margin: 0 0 18px;
	color: #685b5d;
	font-size: 14px;
	line-height: 1.7;
}

.asf-password-confirmation__notice {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 18px;
	border: 1px solid #eadeda;
	border-radius: 12px;
	background: #faf6f3;
}

.asf-password-confirmation__notice strong {
	color: #3c2b2e;
	font-size: 13px;
}

.asf-password-confirmation__notice span {
	color: #786c6e;
	font-size: 12px;
	line-height: 1.6;
}

.asf-auth-submit--link {
	text-decoration: none !important;
}

.asf-auth-submit--link:hover,
.asf-auth-submit--link:focus {
	text-decoration: none !important;
}

@media (max-width: 600px) {

	.asf-password-success-icon {
		width: 50px;
		height: 50px;
		margin-bottom: 20px;
		font-size: 21px;
	}

	.asf-password-confirmation__notice {
		padding: 16px;
	}
}

/* =========================================================
   CRIAÇÃO DE NOVA SENHA
   ========================================================= */

.asf-password-guidance {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 2px 0 22px;
	padding: 16px 18px;
	border: 1px solid #eadeda;
	border-radius: 11px;
	background: #faf6f3;
}

.asf-password-guidance strong {
	color: #3c2b2e;
	font-size: 13px;
	line-height: 1.45;
}

.asf-password-guidance span {
	color: #786c6e;
	font-size: 12px;
	line-height: 1.6;
}

.asf-auth--reset-password .woocommerce-password-strength {
	margin-top: 8px;
	padding: 8px 10px;
	border-radius: 7px;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
}

.asf-auth--reset-password .woocommerce-password-strength.short,
.asf-auth--reset-password .woocommerce-password-strength.bad {
	background: #f9e4e3;
	color: #9d2723;
}

.asf-auth--reset-password .woocommerce-password-strength.good {
	background: #fff2d8;
	color: #85600f;
}

.asf-auth--reset-password .woocommerce-password-strength.strong {
	background: #e8f5ec;
	color: #26733f;
}

.asf-auth--reset-password .woocommerce-password-hint {
	display: block;
	margin-top: 7px;
	color: #897d7f;
	font-size: 11px;
	line-height: 1.5;
}

@media (max-width: 600px) {

	.asf-password-guidance {
		padding: 14px 15px;
	}

}

/* =========================================================
   AVISOS DO WOOCOMMERCE — ÁREA DA ASSINANTE
   ========================================================= */

.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-error {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 52px;
	margin: 0 0 20px !important;
	padding: 14px 18px 14px 52px !important;
	border: 1px solid #eadeda !important;
	border-top: 0 !important;
	border-radius: 10px !important;
	background: #faf6f3 !important;
	color: #5f5053 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	box-sizing: border-box;
}

.woocommerce-MyAccount-content .woocommerce-message::before,
.woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-MyAccount-content .woocommerce-error::before {
	position: absolute !important;
	top: 50% !important;
	left: 18px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: translateY(-50%) !important;
	border-radius: 50%;
	font-size: 13px !important;
	line-height: 1 !important;
}

.woocommerce-MyAccount-content .woocommerce-message::before {
	content: "✓" !important;
	background: #e8f5ec !important;
	color: #26733f !important;
}

.woocommerce-MyAccount-content .woocommerce-info::before {
	content: "i" !important;
	background: #f6eee5 !important;
	color: #8a631d !important;
	font-family: Arial, sans-serif !important;
	font-weight: 700;
}

.woocommerce-MyAccount-content .woocommerce-error::before {
	content: "!" !important;
	background: #f9e4e3 !important;
	color: #9d2723 !important;
	font-family: Arial, sans-serif !important;
	font-weight: 700;
}

.woocommerce-MyAccount-content .woocommerce-error li {
	margin: 0 !important;
}

@media (max-width: 600px) {

	.woocommerce-MyAccount-content .woocommerce-message,
	.woocommerce-MyAccount-content .woocommerce-info,
	.woocommerce-MyAccount-content .woocommerce-error {
		padding: 13px 14px 13px 46px !important;
		font-size: 13px !important;
	}

	.woocommerce-MyAccount-content .woocommerce-message::before,
	.woocommerce-MyAccount-content .woocommerce-info::before,
	.woocommerce-MyAccount-content .woocommerce-error::before {
		left: 14px !important;
	}
}

/* =========================================================
   CORREÇÃO REAL DOS AVISOS NA ÁREA DA ASSINANTE
   ========================================================= */

body.woocommerce-account .woocommerce-notices-wrapper,
body.woocommerce-account .woocommerce-notices-wrapper ul {
	margin: 0 0 20px !important;
	padding: 0 !important;
	list-style: none !important;
}

body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-account .woocommerce-message[role="alert"],
body.woocommerce-account .woocommerce-info[role="alert"],
body.woocommerce-account .woocommerce-error[role="alert"] {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	min-height: auto !important;
	margin: 0 0 20px !important;
	padding: 15px 18px !important;
	border: 1px solid #eadeda !important;
	border-top: 1px solid #eadeda !important;
	border-radius: 10px !important;
	background: #faf6f3 !important;
	color: #5f5053 !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	box-sizing: border-box !important;
}

/* Remove recuos que podem permanecer nos itens */

body.woocommerce-account .woocommerce-notices-wrapper li,
body.woocommerce-account .woocommerce-error li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

/* Corrige o posicionamento do ícone dos avisos */

body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error {
    position: relative !important;
    padding-left: 48px !important;
}

body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message::before,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info::before,
body.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error::before {
    position: absolute !important;
    top: 50% !important;
    left: 18px !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    line-height: 1 !important;
}

/* =========================================================
   ENDEREÇOS — ÁREA DA ASSINANTE
   ========================================================= */

.asf-address-page {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* Cabeçalho */

.asf-address-page__header h1 {
	margin: 0;
	color: #6a1e2b;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.15;
}

.asf-address-page__header p {
	max-width: 680px;
	margin: 12px 0 0;
	color: #6f6365;
	font-size: 14px;
	line-height: 1.65;
}

.asf-address-page__eyebrow {
	display: block;
	margin-bottom: 8px;
	color: #9c7a68;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Grid */

.asf-address-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

/* Card */

.asf-address-card {
	min-width: 0;
	min-height: 430px;
	padding: 28px 30px;
	display: flex;
	flex-direction: column;
	border: 1px solid #eadfdb;
	border-radius: 16px;
	background: #ffffff;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.asf-address-card:hover {
	border-color: #d9c3bd;
	box-shadow: 0 10px 28px rgba(80, 37, 46, 0.07);
	transform: translateY(-2px);
}

/* Cabeçalho do card */

.asf-address-card__header {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.asf-address-card__icon {
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 13px;
	background: #faf3f0;
	color: #6a1e2b;
}

.asf-address-card__icon svg {
	width: 23px;
	height: 23px;
	display: block;
}

.asf-address-card__heading {
	min-width: 0;
}

.asf-address-card__type {
	display: block;
	margin-bottom: 6px;
	color: #9c7a68;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.asf-address-card__heading h2 {
	margin: 0 !important;
	color: #6a1e2b !important;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 25px !important;
	line-height: 1.2;
}

.asf-address-card__heading p {
	margin: 9px 0 0;
	color: #796d6f;
	font-size: 12px;
	line-height: 1.55;
}

/* Endereço */

.asf-address-card__content {
	margin-top: 24px;
	padding: 20px;
	border-radius: 13px;
	background: #faf6f3;
}

.asf-address-card__content address {
	margin: 0;
	color: #53484a;
	font-size: 14px;
	font-style: normal;
	line-height: 1.75;
}

.asf-address-card__empty {
	min-height: 135px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.asf-address-card__empty strong {
	color: #403537;
	font-size: 14px;
}

.asf-address-card__empty p {
	margin: 6px 0 0;
	color: #817577;
	font-size: 12px;
	line-height: 1.5;
}

/* Aviso */

.asf-address-card__notice {
	margin-top: 16px;
	display: flex;
	align-items: flex-start;
	gap: 9px;
}

.asf-address-card__notice > span {
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #eaf7ef;
	color: #287342;
	font-size: 11px;
	font-weight: 800;
}

.asf-address-card__notice p {
	margin: 1px 0 0;
	color: #716568;
	font-size: 12px;
	line-height: 1.5;
}

/* Botão */

body.woocommerce-account
.asf-address-card
.asf-address-card__button {
	width: 100%;
	min-height: 48px;
	margin-top: auto;
	padding: 12px 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	border: 1px solid #d8c6c2;
	border-radius: 10px;
	background: #ffffff;
	color: #6a1e2b !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none !important;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

body.woocommerce-account
.asf-address-card
.asf-address-card__button:hover {
	border-color: #6a1e2b;
	background: #fffafa;
	color: #501620 !important;
}

.asf-address-card__button-arrow {
	color: #a38e91;
	font-size: 18px;
	font-weight: 400;
	transition: transform 0.2s ease;
}

.asf-address-card__button:hover
.asf-address-card__button-arrow {
	color: #6a1e2b;
	transform: translateX(3px);
}

/* Nota final */

.asf-address-note {
	padding: 22px 24px;
	display: flex;
	align-items: flex-start;
	gap: 15px;
	border: 1px solid #eadeda;
	border-radius: 14px;
	background: #faf6f3;
}

.asf-address-note__icon {
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #6a1e2b;
	color: #ffffff;
	font-family: Georgia, serif;
	font-size: 16px;
	font-weight: 700;
}

.asf-address-note h3 {
	margin: 1px 0 6px !important;
	color: #6a1e2b !important;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 20px !important;
	line-height: 1.25;
}

.asf-address-note p {
	max-width: 720px;
	margin: 0;
	color: #716568;
	font-size: 13px;
	line-height: 1.6;
}

/* Tablet */

@media (max-width: 900px) {

	.asf-address-grid {
		grid-template-columns: 1fr;
	}

	.asf-address-card {
		min-height: auto;
	}
}

/* Mobile */

@media (max-width: 600px) {

	.asf-address-page {
		gap: 18px;
	}

	.asf-address-page__header h1 {
		font-size: 30px;
	}

	.asf-address-card {
		padding: 22px;
		border-radius: 14px;
	}

	.asf-address-card__header {
		gap: 13px;
	}

	.asf-address-card__icon {
		width: 42px;
		height: 42px;
		flex-basis: 42px;
	}

	.asf-address-card__icon svg {
		width: 21px;
		height: 21px;
	}

	.asf-address-card__heading h2 {
		font-size: 23px !important;
	}

	.asf-address-card__content {
		margin-top: 20px;
		padding: 17px;
	}

	.asf-address-card__content address {
		font-size: 13px;
	}

	.asf-address-card__notice {
		margin-bottom: 20px;
	}

	.asf-address-note {
		padding: 19px;
	}
}

/* =========================================================
   FORMULÁRIO DE ENDEREÇO — ÁREA DA ASSINANTE
   ========================================================= */

.asf-address-form-page {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* Cabeçalho */

.asf-address-form-page__header h1 {
	margin: 0;
	color: #6a1e2b;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.15;
}

.asf-address-form-page__header p {
	max-width: 680px;
	margin: 12px 0 0;
	color: #6f6365;
	font-size: 14px;
	line-height: 1.65;
}

.asf-address-form-page__eyebrow {
	display: block;
	margin-bottom: 8px;
	color: #9c7a68;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Formulário */

.asf-address-form,
.asf-address-form .woocommerce-address-fields {
	margin: 0;
}

.asf-address-form .woocommerce-address-fields {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

/* Cards */

.asf-address-form-card {
	padding: 28px 30px;
	border: 1px solid #eadfdb;
	border-radius: 16px;
	background: #ffffff;
}

.asf-address-form-card__header {
	margin-bottom: 24px;
}

.asf-address-form-card__eyebrow {
	display: block;
	margin-bottom: 8px;
	color: #9c7a68;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.asf-address-form-card__header h2 {
	margin: 0 !important;
	color: #6a1e2b !important;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 27px !important;
	line-height: 1.2;
}

.asf-address-form-card__header p {
	margin: 9px 0 0;
	color: #796d6f;
	font-size: 13px;
	line-height: 1.55;
}

/* Grid */

.asf-address-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

/*
 * Neutraliza o sistema de floats utilizado pelo WooCommerce.
 */

.asf-address-form-grid
.form-row,
.asf-address-form-grid
.form-row-first,
.asf-address-form-grid
.form-row-last,
.asf-address-form-grid
.form-row-wide {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
	box-sizing: border-box !important;
}

.asf-address-form-field--full {
	grid-column: 1 / -1;
}

.asf-address-form-field--half {
	grid-column: span 1;
}

/*
 * Qualquer campo que não recebeu uma regra específica ocupa toda a largura.
 */

.asf-address-form-grid
.form-row:not(.asf-address-form-field--half) {
	grid-column: 1 / -1;
}

/* Labels */

.asf-address-form-grid label {
	display: block;
	margin: 0 0 8px !important;
	color: #423739;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.asf-address-form-grid label .required,
.asf-address-form-grid abbr.required {
	color: #9c3342;
	text-decoration: none;
}

/* Inputs */

.asf-address-form-grid input.input-text,
.asf-address-form-grid input[type="text"],
.asf-address-form-grid input[type="email"],
.asf-address-form-grid input[type="tel"],
.asf-address-form-grid select,
.asf-address-form-grid textarea {
	width: 100% !important;
	min-height: 50px;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid #ddd0cc !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	color: #352b2d !important;
	font-size: 14px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.asf-address-form-grid textarea {
	min-height: 110px;
	resize: vertical;
}

.asf-address-form-grid input::placeholder,
.asf-address-form-grid textarea::placeholder {
	color: #aaa0a1;
}

.asf-address-form-grid input:focus,
.asf-address-form-grid select:focus,
.asf-address-form-grid textarea:focus {
	border-color: #6a1e2b !important;
	outline: none !important;
	box-shadow:
		0 0 0 3px rgba(106, 30, 43, 0.09) !important;
}

/* Select2 */

.asf-address-form-grid
.select2-container {
	width: 100% !important;
}

.asf-address-form-grid
.select2-container
.select2-selection--single {
	height: 50px !important;
	border: 1px solid #ddd0cc !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	box-shadow: none !important;
}

.asf-address-form-grid
.select2-container
.select2-selection--single
.select2-selection__rendered {
	height: 48px;
	padding: 0 42px 0 14px !important;
	color: #352b2d !important;
	font-size: 14px;
	line-height: 48px !important;
}

.asf-address-form-grid
.select2-container
.select2-selection--single
.select2-selection__arrow {
	top: 50% !important;
	right: 11px !important;
	height: 28px !important;
	transform: translateY(-50%);
}

.asf-address-form-grid
.select2-container--open
.select2-selection--single,
.asf-address-form-grid
.select2-container--focus
.select2-selection--single {
	border-color: #6a1e2b !important;
	box-shadow:
		0 0 0 3px rgba(106, 30, 43, 0.09) !important;
}

/* Validação */

.asf-address-form-grid
.woocommerce-invalid
input.input-text,
.asf-address-form-grid
.woocommerce-invalid
select,
.asf-address-form-grid
.woocommerce-invalid
.select2-selection {
	border-color: #b42318 !important;
	box-shadow:
		0 0 0 3px rgba(180, 35, 24, 0.07) !important;
}

.asf-address-form-grid
.woocommerce-validated
input.input-text,
.asf-address-form-grid
.woocommerce-validated
select {
	border-color: #ddd0cc !important;
}

/* Descrições dos campos */

.asf-address-form-grid
.description,
.asf-address-form-grid
.form-row > span:not(.woocommerce-input-wrapper) {
	display: block;
	margin-top: 7px;
	color: #887b7d;
	font-size: 11px;
	line-height: 1.45;
}

/* Campo número e checkbox S/N */

.asf-address-form-grid
.woocommerce-input-wrapper {
	display: block;
	position: relative;
	width: 100%;
}

.asf-address-form-grid
input[type="checkbox"] {
	accent-color: #6a1e2b;
}

/* =========================================================
   CHECKBOX DE ATUALIZAÇÃO DAS RENOVAÇÕES
   ========================================================= */

.asf-address-form-renewal {
	width: 100%;
	margin: 0;
	padding: 0;
}

.asf-address-form-renewal:empty {
	display: none;
}

.asf-address-form-renewal > *,
.asf-address-form-renewal .form-row,
.asf-address-form-renewal p {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box !important;
}

.asf-address-form-renewal label,
.asf-address-form-renewal .woocommerce-form__label {
	position: relative;
	display: block !important;
	width: 100% !important;
	min-height: 58px;
	margin: 0 !important;
	padding: 18px 20px 18px 52px !important;
	border: 1px solid #eadeda !important;
	border-radius: 12px !important;
	background: #faf6f3 !important;
	color: #514548 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.55 !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	cursor: pointer;
	box-sizing: border-box !important;
}

/*
 * Mantém todos os fragmentos do texto no fluxo normal,
 * em vez de transformá-los em colunas.
 */

.asf-address-form-renewal label span,
.asf-address-form-renewal label strong,
.asf-address-form-renewal label em,
.asf-address-form-renewal label small,
.asf-address-form-renewal .woocommerce-form__label span {
	display: inline !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

/* Checkbox fixado à esquerda */

.asf-address-form-renewal input[type="checkbox"] {
	position: absolute !important;
	top: 19px !important;
	left: 20px !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	accent-color: #6a1e2b;
}

/* Remove estilos herdados que possam separar palavras */

.asf-address-form-renewal label * {
	flex: none !important;
	grid-column: auto !important;
	grid-row: auto !important;
}

/* Mobile */

@media (max-width: 600px) {

	.asf-address-form-renewal label,
	.asf-address-form-renewal .woocommerce-form__label {
		min-height: 54px;
		padding: 16px 16px 16px 46px !important;
		font-size: 12px !important;
		line-height: 1.55 !important;
	}

	.asf-address-form-renewal input[type="checkbox"] {
		top: 17px !important;
		left: 16px !important;
	}
}

/* Ações */

.asf-address-form-actions {
	padding-top: 4px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

body.woocommerce-account
.asf-address-form-back {
	color: #6a1e2b !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
}

body.woocommerce-account
.asf-address-form-back:hover {
	color: #501620 !important;
	text-decoration: underline !important;
}

body.woocommerce-account
.asf-address-form-save {
	min-height: 50px !important;
	padding: 13px 24px !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #6a1e2b !important;
	border-radius: 10px !important;
	background: #6a1e2b !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	cursor: pointer;
	box-shadow: none !important;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

body.woocommerce-account
.asf-address-form-save:hover {
	border-color: #501620 !important;
	background: #501620 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

/* Tablet */

@media (max-width: 700px) {

	.asf-address-form-grid {
		grid-template-columns: 1fr;
	}

	.asf-address-form-field--full,
	.asf-address-form-field--half,
	.asf-address-form-grid
	.form-row:not(.asf-address-form-field--half) {
		grid-column: auto;
	}
}

/* Mobile */

@media (max-width: 600px) {

	.asf-address-form-page {
		gap: 18px;
	}

	.asf-address-form-page__header h1 {
		font-size: 30px;
	}

	.asf-address-form-card {
		padding: 22px;
		border-radius: 14px;
	}

	.asf-address-form-card__header {
		margin-bottom: 21px;
	}

	.asf-address-form-card__header h2 {
		font-size: 24px !important;
	}

	.asf-address-form-grid {
		gap: 17px;
	}

	.asf-address-form-grid input.input-text,
	.asf-address-form-grid input[type="text"],
	.asf-address-form-grid input[type="email"],
	.asf-address-form-grid input[type="tel"],
	.asf-address-form-grid select {
		min-height: 50px;
		font-size: 16px !important;
	}

	.asf-address-form-renewal label {
		padding: 16px;
		font-size: 12px;
	}

	.asf-address-form-actions {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	body.woocommerce-account
	.asf-address-form-save {
		width: 100%;
	}

	body.woocommerce-account
	.asf-address-form-back {
		text-align: center;
	}
}

/* Oculta completamente a opção de atualizar assinaturas */
body.woocommerce-account
#update_all_subscriptions_addresses_field {
	display: none !important;
}
/* =========================================================
   MINHAS PREFERÊNCIAS — VISUALIZAÇÃO
   ========================================================= */

.asf-preferences {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* Cabeçalho */

.asf-preferences__eyebrow {
	display: block;
	margin-bottom: 8px;
	color: #9c7a68;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.asf-preferences__header h1 {
	margin: 0;
	color: #6a1e2b;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.15;
}

.asf-preferences__header p {
	max-width: 680px;
	margin: 12px 0 0;
	color: #6f6365;
	font-size: 14px;
	line-height: 1.65;
}

/* Resumo */

.asf-preferences-summary {
	padding: 28px 30px;
	border: 1px solid #eadfdb;
	border-radius: 16px;
	background: #ffffff;
}

.asf-preferences-summary__heading {
	margin-bottom: 24px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}

.asf-preferences-summary__heading span {
	display: block;
	margin-bottom: 7px;
	color: #9c7a68;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.asf-preferences-summary__heading h2 {
	margin: 0 !important;
	color: #6a1e2b !important;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 27px !important;
	line-height: 1.2;
}

.asf-preferences-summary__heading small {
	padding: 7px 10px;
	border-radius: 999px;
	background: #faf3f0;
	color: #786c6e;
	font-size: 11px;
	font-weight: 600;
	white-space: nowrap;
}

/* Cards */

.asf-preferences-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15px;
}

.asf-preference-card {
	min-height: 104px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 9px;
	border: 1px solid #eadfdb;
	border-radius: 13px;
	background: #faf7f5;
}

.asf-preference-card__label {
	color: #9c7a68;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.asf-preference-card strong {
	color: #403537;
	font-size: 15px;
	font-weight: 650;
	line-height: 1.55;
}

/* Nota */

.asf-preferences-note,
.asf-preferences-empty {
	padding: 22px 24px;
	display: flex;
	align-items: flex-start;
	gap: 15px;
	border: 1px solid #eadeda;
	border-radius: 14px;
	background: #faf6f3;
}

.asf-preferences-note__icon,
.asf-preferences-empty__icon {
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #6a1e2b;
	color: #ffffff;
	font-family: Georgia, serif;
	font-size: 15px;
	font-weight: 700;
}

.asf-preferences-note h3,
.asf-preferences-empty h2 {
	margin: 1px 0 6px !important;
	color: #6a1e2b !important;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 20px !important;
	line-height: 1.25;
}

.asf-preferences-note p,
.asf-preferences-empty p {
	margin: 0;
	color: #716568;
	font-size: 13px;
	line-height: 1.6;
}

/* Responsivo */

@media (max-width: 700px) {

	.asf-preferences-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {

	.asf-preferences {
		gap: 18px;
	}

	.asf-preferences__header h1 {
		font-size: 30px;
	}

	.asf-preferences-summary {
		padding: 22px;
	}

	.asf-preferences-summary__heading {
		flex-direction: column;
		gap: 12px;
	}

	.asf-preferences-summary__heading h2 {
		font-size: 24px !important;
	}

	.asf-preference-card {
		min-height: auto;
		padding: 18px;
	}

	.asf-preferences-note,
	.asf-preferences-empty {
		padding: 19px;
	}
}

/* Corrige o reset global aplicado às tags article */
body.woocommerce-account
.asf-preferences
.asf-preference-card {
	padding: 20px !important;
}

@media (max-width: 600px) {

	body.woocommerce-account
	.asf-preferences
	.asf-preference-card {
		padding: 18px !important;
	}
}

/* Ações do cabeçalho */

.asf-preferences-summary__actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
}

body.woocommerce-account
.asf-preferences-edit-button,
body.woocommerce-account
.asf-preferences-edit-button:visited {
	min-height: 42px;
	padding: 10px 15px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #6a1e2b;
	border-radius: 9px;
	background: #6a1e2b;
	color: #ffffff !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	text-decoration: none !important;
	white-space: nowrap;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

body.woocommerce-account
.asf-preferences-edit-button:hover {
	border-color: #501620;
	background: #501620;
	color: #ffffff !important;
	transform: translateY(-1px);
}

@media (max-width: 700px) {

	.asf-preferences-summary__actions {
		width: 100%;
		align-items: stretch;
		flex-direction: column;
	}

	.asf-preferences-summary__actions small {
		align-self: flex-start;
	}

	body.woocommerce-account
	.asf-preferences-edit-button {
		width: 100%;
	}
}
/* =========================================================
   SUCESSO — PREFERÊNCIAS ATUALIZADAS
   ========================================================= */

.asf-preferences-success {
	padding: 20px 22px;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	border: 1px solid #cfe4d6;
	border-radius: 14px;
	background: #f2faf5;
}

.asf-preferences-success__icon {
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #2f7a4c;
	color: #ffffff;
	font-size: 15px;
	font-weight: 800;
}

.asf-preferences-success h2 {
	margin: 1px 0 5px !important;
	color: #265f3e !important;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 20px !important;
	line-height: 1.25;
}

.asf-preferences-success p {
	margin: 0;
	color: #4e6859;
	font-size: 13px;
	line-height: 1.6;
}

@media (max-width: 600px) {

	.asf-preferences-success {
		padding: 18px;
	}
}

/* Assinatura cancelada — preferências */

.asf-preferences-warning {
	padding: 22px 24px;
	display: flex;
	align-items: flex-start;
	gap: 15px;
	border: 1px solid #ead8b8;
	border-radius: 14px;
	background: #fff8ea;
}

.asf-preferences-warning__icon {
	width: 30px;
	height: 30px;
	flex: 0 0 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #b47a16;
	color: #ffffff;
	font-weight: 800;
}

.asf-preferences-warning h2 {
	margin: 1px 0 6px !important;
	color: #7b5411 !important;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 20px !important;
}

.asf-preferences-warning p {
	margin: 0 0 14px;
	color: #6d5d45;
	font-size: 13px;
	line-height: 1.6;
}

body.woocommerce-account
.asf-preferences-reactivate {
	display: inline-flex;
	min-height: 42px;
	padding: 10px 15px;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: #6a1e2b;
	color: #ffffff !important;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none !important;
}

body.woocommerce-account
.asf-preferences-edit-button--disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

/* =========================================================
   ETAPA 1.1 — CORREÇÕES DE ESPECIFICIDADE DA NAVEGAÇÃO
   ========================================================= */

body.woocommerce-account .asf-member-nav__list a,
body.woocommerce-account .asf-member-nav__list a:visited {
	color: #5f5557 !important;
	text-decoration: none !important;
}

body.woocommerce-account .asf-member-nav__list a:hover,
body.woocommerce-account .asf-member-nav__list a:focus {
	background: #faf5f3 !important;
	color: #6a1e2b !important;
}

body.woocommerce-account .asf-member-nav__list li.is-active > a,
body.woocommerce-account .asf-member-nav__list li.is-active > a:visited,
body.woocommerce-account .asf-member-nav__list li.is-active > a:hover,
body.woocommerce-account .asf-member-nav__list li.is-active > a:focus {
	background: #6a1e2b !important;
	color: #ffffff !important;
}

@media (max-width: 820px) {
	body.woocommerce-account .asf-member-nav__toggle {
		-webkit-appearance: none;
		appearance: none;
		width: 100%;
		min-height: 52px;
		padding: 13px 16px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border: 1px solid #eadfdb !important;
		border-radius: 12px;
		background: #ffffff !important;
		color: #4c4143 !important;
		box-shadow: none !important;
		font-family: "Montserrat", Arial, sans-serif;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.2;
		text-align: left;
		cursor: pointer;
	}

	body.woocommerce-account .asf-member-nav__toggle:hover,
	body.woocommerce-account .asf-member-nav__toggle:focus {
		border-color: #d9c1bb !important;
		background: #faf7f5 !important;
		color: #6a1e2b !important;
	}

	body.woocommerce-account .asf-member-nav__list {
		display: none !important;
	}

	body.woocommerce-account .asf-member-nav__list.is-open {
		display: block !important;
	}
}
