/* Integração do protótipo editorial com WordPress e WooCommerce. */
.site-main {
	margin: 0;
	max-width: none;
	min-height: 50vh;
	padding: 0;
	width: 100%;
}

.site-header__brand,
.footer__brand > a {
	display: inline-flex;
	width: max-content;
}

/*
 * Iconografia controlada pelo tema.
 *
 * As setas antigas eram caracteres Unicode e o Safari/iOS podia renderiza-las
 * como emoji colorido. Os SVGs usam currentColor e mantem exatamente o mesmo
 * desenho, peso e cor em qualquer sistema operacional.
 */
.amo-icon {
	display: inline-block !important;
	width: 1.15em;
	height: 1.15em;
	min-width: 1.15em;
	flex: 0 0 auto;
	vertical-align: -.18em;
	overflow: visible;
}

.button .amo-icon,
.text-link .amo-icon,
.header-cta .amo-icon,
.mobile-menu__actions .amo-icon,
.footer-account-link .amo-icon,
.footer__credit .amo-icon,
.announcement .amo-icon,
.event-card__purchase .amo-icon {
	width: 14px;
	height: 14px;
	min-width: 14px;
}

.circle-link .amo-icon {
	width: 18px;
	height: 18px;
	min-width: 18px;
}

.hero__caption .amo-icon {
	width: 12px;
	height: 12px;
	min-width: 12px;
	margin-left: 3px;
}

.audience__list .amo-icon {
	width: 18px;
	height: 18px;
	min-width: 18px;
}

.floating-whatsapp b .amo-icon {
	width: 15px;
	height: 15px;
	min-width: 15px;
}


.amo-vinho-site .announcement {
	font-size: 11px;
}

body.amo-vinho-site .site-header {
	z-index: 100;
	position: sticky;
	top: 0;
	display: grid !important;
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
	min-height: 82px;
	padding: 0 4.3vw !important;
	grid-template-columns: 220px minmax(0, 1fr) auto;
	grid-template-rows: 82px;
	align-items: center;
	gap: clamp(20px, 2vw, 34px);
	flex-wrap: nowrap !important;
	background-color: var(--paper) !important;
	box-shadow: 0 8px 30px rgba(28, 8, 14, .045);
}

.admin-bar.amo-vinho-site .site-header {
	top: 32px;
}

body.amo-vinho-site .site-header__brand {
	grid-column: 1;
	grid-row: 1;
}

body.amo-vinho-site .desktop-nav {
	display: flex;
	min-width: 0;
	grid-column: 2;
	grid-row: 1;
	font-size: 13px;
}

body.amo-vinho-site .desktop-nav > .menu {
	width: 100%;
	flex-wrap: nowrap;
	gap: clamp(14px, 1.55vw, 28px);
}

body.amo-vinho-site .desktop-nav > .menu > li {
	flex: 0 0 auto;
	margin: 0;
}

body.amo-vinho-site .desktop-nav > .menu > li > a {
	padding: 28px 0;
	font-size: 13px;
	white-space: nowrap;
}

body.amo-vinho-site .header-cta {
	display: inline-flex;
	margin: 0;
	padding: 14px 18px;
	grid-column: 3;
	grid-row: 1;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	white-space: nowrap;
}

body.amo-vinho-site .mobile-menu {
	display: none;
}

.wordmark--image img {
	height: 52px;
	object-fit: contain;
	object-position: left center;
	width: auto;
}

.wordmark--light.wordmark--image img {
	filter: brightness(0) invert(1);
}

.desktop-nav > .menu {
	align-items: center;
	display: flex;
	gap: clamp(18px, 2vw, 32px);
	justify-content: center;
	margin: 0;
	padding: 0;
}

.desktop-nav .current-menu-item > a::after,
.desktop-nav .current_page_item > a::after {
	right: 0;
}

.menu-item--cart-empty {
	display: none !important;
}

.desktop-nav .menu-item--cart > a {
	display: flex;
	align-items: center;
	gap: 7px;
	color: var(--wine);
	font-weight: 800;
}

.header-cart__count {
	display: grid;
	min-width: 21px;
	height: 21px;
	padding: 0 6px;
	place-items: center;
	border-radius: 999px;
	background: var(--wine);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
}

.mobile-menu nav > .menu {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	width: 100%;
}

.mobile-menu .menu-item--cart > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: var(--wine);
}

.footer-menu {
	display: flex;
	flex-direction: column;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer__credit {
	color: var(--gold-light);
	white-space: nowrap;
}

.footer__credit:hover {
	color: #fff;
}

.footer__column h3 {
	font-size: 10px;
}

.footer__column a,
.footer__column p {
	color: #fff;
	font-size: 12px;
	line-height: 1.85;
}

.footer__column a:hover {
	color: var(--gold-light);
}

.footer__column .footer-account-link {
	display: inline-flex;
	min-height: 42px;
	margin-top: 10px;
	padding: 0 14px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	border: 1px solid rgba(255, 255, 255, .28);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	transition: border-color .2s, background .2s, color .2s;
}

.footer__column .footer-account-link:hover {
	border-color: var(--gold-light);
	background: var(--gold-light);
	color: var(--wine-deep);
}

.footer__brand > p {
	color: rgba(255, 255, 255, .88);
	font-size: 12px;
}

.footer__bottom {
	color: rgba(255, 255, 255, .72);
	font-size: 9px;
}

.event-card__footer strong .woocommerce-Price-amount,
.event-card__footer strong .woocommerce-Price-currencySymbol {
	font: inherit;
}

.internal-hero,
.commerce-hero {
	background: var(--wine);
	color: #fff;
	padding: clamp(80px, 9vw, 135px) max(4.3vw, calc(50vw - 660px));
	position: relative;
	overflow: hidden;
}

.internal-hero::after,
.commerce-hero::after {
	border: 1px solid rgba(202, 167, 101, .24);
	border-radius: 50%;
	box-shadow: 0 0 0 42px rgba(202, 167, 101, .035), 0 0 0 84px rgba(202, 167, 101, .02);
	content: "";
	height: 360px;
	position: absolute;
	right: -170px;
	top: -190px;
	width: 360px;
}

.internal-hero h1,
.commerce-hero__title,
.not-found h1 {
	font-family: var(--serif);
	font-size: clamp(52px, 6vw, 88px);
	font-weight: 500;
	letter-spacing: -.035em;
	line-height: .98;
	margin: 0;
	max-width: 1000px;
}

.internal-hero__description {
	color: rgba(255, 255, 255, .7);
	font-size: 13px;
	margin-top: 24px;
	max-width: 620px;
}

.content-shell,
.listing-shell,
.commerce-shell {
	margin: 0 auto;
	max-width: 1320px;
	padding: clamp(70px, 8vw, 120px) 4.3vw;
}

.content-shell {
	font-size: 15px;
	line-height: 1.9;
	max-width: 1040px;
}

.content-shell > *:not(.alignwide):not(.alignfull):not(.elementor) {
	margin-left: auto;
	margin-right: auto;
	max-width: 780px;
}

.content-shell h2,
.content-shell h3,
.content-shell h4 {
	font-family: var(--serif);
	font-weight: 600;
	line-height: 1.1;
}

.content-shell h2 {
	font-size: clamp(38px, 5vw, 58px);
	margin: 1.3em auto .45em;
}

.content-shell h3 {
	font-size: 32px;
	margin: 1.2em auto .45em;
}

.content-shell p,
.content-shell ul,
.content-shell ol {
	margin-bottom: 1.5em;
}

.content-shell ul,
.content-shell ol {
	padding-left: 1.4em;
}

.content-shell ul {
	list-style: disc;
}

.content-shell ol {
	list-style: decimal;
}

.content-shell a:not(.button) {
	color: var(--wine);
	text-decoration: underline;
	text-decoration-color: var(--gold);
	text-underline-offset: 4px;
}

.content-shell blockquote {
	border-left: 2px solid var(--gold);
	color: var(--wine);
	font-family: var(--serif);
	font-size: 28px;
	font-style: italic;
	margin: 2em auto;
	padding-left: 24px;
}

.content-shell__featured {
	margin-bottom: 50px;
	max-width: 1100px !important;
}

.editorial-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.editorial-card {
	background: #fff;
	border: 1px solid var(--line);
}

.editorial-card__image {
	aspect-ratio: 4 / 3;
	display: block;
	overflow: hidden;
}

.editorial-card__image img {
	height: 100%;
	object-fit: cover;
	transition: transform .5s;
}

.editorial-card:hover .editorial-card__image img {
	transform: scale(1.035);
}

.editorial-card > div {
	padding: 28px;
}

.editorial-card h2 {
	font-family: var(--serif);
	font-size: 32px;
	font-weight: 600;
	line-height: 1.05;
	margin: 0 0 15px;
}

.editorial-card p:not(.eyebrow) {
	color: var(--muted);
	font-size: 12px;
}

.navigation.pagination {
	margin-top: 50px;
}

.nav-links {
	display: flex;
	gap: 8px;
}

.nav-links .page-numbers {
	border: 1px solid var(--line);
	display: grid;
	height: 42px;
	place-items: center;
	width: 42px;
}

.nav-links .current,
.nav-links a:hover {
	background: var(--wine);
	color: #fff;
}

.not-found {
	background: var(--cream);
	text-align: center;
}

.not-found h1 {
	color: var(--wine);
	margin: 0 auto;
}

.not-found > p:not(.eyebrow) {
	color: var(--muted);
	margin: 28px auto 36px;
	max-width: 560px;
}

/* WooCommerce */
.commerce-hero {
	padding-bottom: clamp(70px, 7vw, 105px);
	padding-top: clamp(70px, 7vw, 105px);
}

.commerce-hero__title {
	font-size: clamp(46px, 5vw, 74px);
}

.commerce-shell .woocommerce-breadcrumb {
	color: var(--muted);
	font-size: 10px;
	letter-spacing: .08em;
	margin: 0 0 34px;
	text-transform: uppercase;
}

.commerce-shell .woocommerce-result-count,
.commerce-shell .woocommerce-ordering {
	font-size: 11px;
	margin-bottom: 36px;
}

.commerce-shell .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty,
.woocommerce .select2-container--default .select2-selection--single {
	background: #fff;
	border: 1px solid var(--line);
	min-height: 46px;
	padding: 10px 12px;
}

.woocommerce ul.products {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: #fff;
	border: 1px solid var(--line);
	float: none;
	margin: 0;
	padding: 0 0 24px;
	width: auto;
}

.woocommerce ul.products li.product a img {
	aspect-ratio: 1 / 1;
	margin: 0 0 24px;
	object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button {
	margin-left: 24px;
	margin-right: 24px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--ink);
	font-family: var(--serif);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.1;
	min-height: 58px;
	padding: 0;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--wine);
	font-family: var(--serif);
	font-size: 24px;
	font-weight: 600;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--wine);
	border-radius: 0;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1;
	padding: 16px 20px;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--wine-rich);
	color: #fff;
}

.woocommerce div.product {
	display: flow-root;
}

.woocommerce div.product .product_title {
	display: none;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	margin-bottom: 70px;
}

.woocommerce div.product div.summary {
	padding: 20px 0;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--muted);
	font-size: 13px;
	line-height: 1.85;
	margin: 25px 0;
}

.woocommerce div.product .stock {
	color: #557d52;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	margin: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-color: var(--line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--cream);
	border-color: var(--line);
	border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs .panel {
	font-size: 13px;
	line-height: 1.85;
	padding: 35px 0;
}

.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce .related.products > h2,
.woocommerce .cart_totals h2,
.woocommerce .woocommerce-billing-fields h3,
.woocommerce .woocommerce-additional-fields h3,
.woocommerce #order_review_heading,
.woocommerce-account .woocommerce h2 {
	font-family: var(--serif);
	font-size: 38px;
	font-weight: 600;
	line-height: 1.1;
}

.woocommerce table.shop_table {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--line);
	padding: 18px;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	background: var(--cream);
	border-top-color: var(--wine);
	color: var(--ink);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--wine);
}

.woocommerce-checkout #payment {
	background: var(--cream);
	border-radius: 0;
}

/* Checkout em duas colunas: cadastro à esquerda e resumo/pagamento à direita. */
.woocommerce-checkout .content-shell {
	max-width: 1520px;
	padding-top: clamp(56px, 5vw, 80px);
	padding-right: clamp(24px, 3vw, 48px);
	padding-bottom: clamp(72px, 8vw, 112px);
	padding-left: clamp(24px, 3vw, 48px);
}

body.amo-vinho-site.woocommerce-checkout .content-shell > .woocommerce:not(.alignwide):not(.alignfull) {
	width: 100%;
	max-width: none;
}

.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-areas:
		"notices notices"
		"customer review-heading"
		"customer review";
	grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr);
	grid-template-rows: auto auto 1fr;
	column-gap: clamp(26px, 3vw, 44px);
	row-gap: 0;
	align-items: start;
}

.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup,
.woocommerce-checkout form.checkout > .woocommerce-error,
.woocommerce-checkout form.checkout > .woocommerce-message,
.woocommerce-checkout form.checkout > .woocommerce-info {
	grid-area: notices;
	margin-bottom: 24px;
}

.woocommerce-checkout form.checkout::before,
.woocommerce-checkout form.checkout::after,
.woocommerce-checkout #customer_details::before,
.woocommerce-checkout #customer_details::after {
	display: none;
}

.woocommerce-checkout #customer_details {
	grid-area: customer;
	width: 100%;
	padding: clamp(26px, 2.5vw, 36px);
	border: 1px solid var(--line);
	border-top: 4px solid var(--wine);
	background: #fff;
	box-shadow: 0 20px 55px rgba(28, 8, 14, .06);
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	float: none;
	width: 100%;
}

.woocommerce-checkout #customer_details .col-2 {
	margin-top: 38px;
	padding-top: 34px;
	border-top: 1px solid var(--line);
}

.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout #order_review_heading {
	margin: 0;
}

.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
	margin-bottom: 28px;
	color: var(--wine);
	font-size: clamp(30px, 3vw, 40px);
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	display: flow-root;
}

.woocommerce-checkout form .form-row {
	margin: 0 0 19px;
	padding: 0;
}

.woocommerce-checkout form .form-row label {
	margin-bottom: 7px;
	color: var(--ink);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.4;
}

.woocommerce-checkout form .form-row .required {
	color: var(--wine);
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
	min-height: 52px;
	border-color: rgba(38, 27, 24, .18);
	border-radius: 8px;
	background: var(--paper);
	box-shadow: none;
	font-size: 14px;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.woocommerce-checkout form .form-row textarea {
	min-height: 120px;
	padding: 14px 15px;
	line-height: 1.55;
}

.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single {
	border-color: var(--gold);
	background: #fff;
	outline: 0;
	box-shadow: 0 0 0 4px rgba(202, 167, 101, .16);
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-left: 2px;
	line-height: 30px;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 12px;
	right: 8px;
}

.woocommerce-checkout #order_review_heading {
	grid-area: review-heading;
	float: none;
	width: 100%;
	padding: 27px 30px 24px;
	border: 1px solid var(--wine);
	background: var(--wine);
	color: #fff;
	font-size: clamp(29px, 3vw, 37px);
}

.woocommerce-checkout #order_review {
	grid-area: review;
	position: sticky;
	float: none;
	top: 22px;
	width: 100%;
	padding: 10px 28px 28px;
	border: 1px solid var(--line);
	border-top: 1px solid var(--line);
	background: #fff;
	box-shadow: 0 24px 65px rgba(28, 8, 14, .09);
}

.woocommerce-checkout #order_review table.shop_table {
	margin: 0 0 18px;
	border: 0;
	background: transparent;
	font-size: 12px;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	padding: 16px 4px;
	border-color: var(--line);
}

.woocommerce-checkout #order_review table.shop_table thead th {
	color: var(--muted);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.woocommerce-checkout #order_review table.shop_table .product-name {
	padding-right: 18px;
	color: var(--ink);
	font-weight: 600;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.woocommerce-checkout #order_review table.shop_table .product-total,
.woocommerce-checkout #order_review table.shop_table tfoot td {
	color: var(--wine);
	font-weight: 700;
	text-align: right;
}

.woocommerce-checkout #order_review table.shop_table .order-total th,
.woocommerce-checkout #order_review table.shop_table .order-total td {
	padding-top: 20px;
	color: var(--wine);
	font-family: var(--serif);
	font-size: 24px;
}

.woocommerce-checkout #payment {
	margin-top: 16px;
	border-radius: 10px;
	background: var(--cream);
}

.woocommerce-checkout #payment ul.payment_methods {
	padding: 22px;
	border-color: rgba(59, 13, 24, .14);
}

.woocommerce-checkout #payment ul.payment_methods li {
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
}

/* O reset do tema torna imagens fluidas; o ícone do gateway deve continuar compacto. */
.woocommerce-checkout #payment li.payment_method_pix_gateway > label {
	display: inline-flex;
	align-items: center;
	gap: 9px;
}

.woocommerce-checkout #payment li.payment_method_pix_gateway > label img {
	flex: 0 0 26px;
	float: none;
	display: inline-block;
	width: 26px !important;
	min-width: 26px;
	max-width: 26px !important;
	height: 26px !important;
	max-height: 26px !important;
	margin: 0 !important;
	object-fit: contain;
}

.woocommerce-checkout #payment div.payment_box {
	margin: 14px 0 6px;
	border-radius: 7px;
	background: #fff;
	color: var(--muted);
	font-size: 11px;
	line-height: 1.65;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #fff;
}

.woocommerce-checkout #payment .place-order {
	padding: 22px;
}

.woocommerce-checkout #payment #place_order {
	float: none;
	width: 100%;
	min-height: 56px;
	background: var(--wine);
	font-size: 11px;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.woocommerce-checkout #payment #place_order:hover {
	background: var(--wine-rich);
}

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	color: var(--muted);
	font-size: 10px;
	line-height: 1.65;
}

@media (max-width: 980px) {
	.woocommerce-checkout form.checkout {
		grid-template-areas:
			"notices"
			"customer"
			"review-heading"
			"review";
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
	}

	.woocommerce-checkout #order_review_heading {
		margin-top: 34px;
	}

	.woocommerce-checkout #order_review {
		position: static;
	}
}

@media (max-width: 640px) {
	.woocommerce-checkout .content-shell {
		padding-left: 16px;
		padding-right: 16px;
	}

	.woocommerce-checkout #customer_details {
		padding: 24px 18px;
	}

	.woocommerce-checkout form .form-row-first,
	.woocommerce-checkout form .form-row-last {
		float: none;
		width: 100%;
	}

	.woocommerce-checkout #order_review_heading {
		padding: 23px 20px 20px;
	}

	.woocommerce-checkout #order_review {
		padding: 6px 17px 20px;
	}

	.woocommerce-checkout #payment ul.payment_methods,
	.woocommerce-checkout #payment .place-order {
		padding: 18px;
	}
}

/* Minha conta: entrada e painel no mesmo sistema visual da AMO VINHO. */
body.woocommerce-account .content-shell {
	max-width: 1320px;
	padding: clamp(64px, 7vw, 100px) 4.3vw;
}

body.woocommerce-account .content-shell > .woocommerce:not(.alignwide):not(.alignfull) {
	width: 100%;
	max-width: 1180px;
}

.amo-account-login {
	display: grid;
	grid-template-columns: minmax(310px, .9fr) minmax(390px, 1.1fr);
	min-height: 590px;
	background: #fff;
	border: 1px solid var(--line);
	box-shadow: 0 28px 80px rgba(28, 8, 14, .09);
}

.amo-account-login__welcome {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
	padding: clamp(42px, 5vw, 74px);
	background: var(--wine);
	color: #fff;
}

.amo-account-login__welcome::after {
	position: absolute;
	right: -150px;
	bottom: -180px;
	width: 340px;
	height: 340px;
	border: 1px solid rgba(202, 167, 101, .28);
	border-radius: 50%;
	box-shadow: 0 0 0 38px rgba(202, 167, 101, .035), 0 0 0 76px rgba(202, 167, 101, .022);
	content: "";
}

.amo-account-login__welcome h2,
.woocommerce-account .woocommerce .amo-account-login__welcome h2 {
	position: relative;
	z-index: 1;
	max-width: 510px;
	margin: 0 0 26px;
	color: #fffaf3;
	font-family: var(--serif);
	font-size: clamp(44px, 4.4vw, 64px);
	font-weight: 500;
	letter-spacing: -.035em;
	line-height: .98;
}

.amo-account-login__welcome > p:not(.eyebrow) {
	position: relative;
	z-index: 1;
	max-width: 470px;
	margin: 0 0 42px;
	color: rgba(255, 255, 255, .72);
	font-size: 13px;
	line-height: 1.85;
}

.amo-account-login__welcome ul,
.content-shell .amo-account-login__welcome ul {
	position: relative;
	z-index: 1;
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
}

.amo-account-login__welcome li {
	display: grid;
	grid-template-columns: 38px 1fr;
	align-items: center;
	min-height: 52px;
	border-top: 1px solid rgba(255, 255, 255, .16);
	color: rgba(255, 255, 255, .88);
	font-size: 11px;
	font-weight: 600;
}

.amo-account-login__welcome li span {
	color: var(--gold-light);
	font-family: var(--serif);
	font-size: 16px;
	font-weight: 500;
}

.amo-account-login__form {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(42px, 5vw, 78px);
}

.amo-account-login__form > .eyebrow {
	margin-bottom: 12px;
}

.woocommerce-account .woocommerce .amo-account-login__form > h2 {
	margin: 0 0 32px;
	color: var(--wine);
	font-size: clamp(42px, 4vw, 56px);
	font-weight: 500;
}

.woocommerce-account .amo-account-login__form form.login,
.woocommerce-account .amo-account-login__form form.register {
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce-account .amo-account-login__form .form-row {
	margin: 0 0 22px;
	padding: 0;
}

.woocommerce-account .amo-account-login__form label {
	margin-bottom: 8px;
	color: var(--ink);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .015em;
}

.woocommerce-account .amo-account-login__form input.input-text {
	min-height: 56px;
	padding: 13px 15px;
	background: var(--paper);
	font-size: 14px;
}

.woocommerce-account .amo-account-login__form .password-input {
	display: block;
}

.woocommerce-account .amo-account-login__form .show-password-input {
	top: 50%;
	transform: translateY(-50%);
}

.woocommerce-account .amo-account-login__form .woocommerce-form-login__submit {
	min-width: 160px;
	min-height: 52px;
	margin-right: 18px;
}

.woocommerce-account .amo-account-login__form .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
}

.woocommerce-account .amo-account-login__form .woocommerce-LostPassword {
	margin: 4px 0 0;
	font-size: 11px;
	font-weight: 700;
}

.woocommerce-account .amo-account-login__form .woocommerce-LostPassword a {
	color: var(--wine);
	text-underline-offset: 4px;
}

body.logged-in.woocommerce-account .content-shell {
	width: 100%;
	max-width: 1500px;
	padding: clamp(52px, 6vw, 84px) clamp(24px, 3.5vw, 56px);
}

body.logged-in.woocommerce-account .content-shell > .woocommerce:not(.alignwide):not(.alignfull) {
	display: grid !important;
	width: 100%;
	max-width: none;
	margin: 0;
	grid-template-areas: "account-nav account-content";
	grid-template-columns: minmax(230px, 270px) minmax(0, 1fr);
	align-items: start;
	gap: clamp(28px, 3vw, 48px);
}

/* O clearfix nativo do WooCommerce vira item da grade e desloca as colunas. */
body.logged-in.woocommerce-account .content-shell > .woocommerce::before,
body.logged-in.woocommerce-account .content-shell > .woocommerce::after {
	display: none !important;
	content: none !important;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
	grid-area: account-nav;
	float: none !important;
	width: 100% !important;
	min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul,
.content-shell .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, .1);
	background: var(--wine-deep);
	list-style: none;
	box-shadow: 0 20px 50px rgba(28, 8, 14, .1);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a,
.content-shell .woocommerce-MyAccount-navigation li a:not(.button) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 50px;
	padding: 12px 15px;
	border-bottom: 1px solid rgba(255, 255, 255, .11);
	color: rgba(255, 255, 255, .72);
	font-size: 11px;
	font-weight: 700;
	text-decoration: none;
	transition: background .2s, color .2s, padding .2s;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a::after {
	color: var(--gold-light);
	content: "\2192";
	font-size: 14px;
	font-weight: 400;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a {
	border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	padding-left: 19px;
	background: var(--wine);
	color: #fff;
}

body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
	grid-area: account-content;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	padding: clamp(30px, 4vw, 52px);
	border: 1px solid var(--line);
	background: #fff;
	box-shadow: 0 20px 60px rgba(28, 8, 14, .055);
}

.woocommerce-account .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > :last-child {
	margin-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content p {
	color: var(--muted);
	font-size: 13px;
	line-height: 1.85;
}

.woocommerce-account .woocommerce-MyAccount-content strong {
	color: var(--ink);
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title::after {
	display: none !important;
	content: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
	float: none !important;
	width: auto !important;
	padding: 24px;
	border: 1px solid var(--line);
	background: var(--paper);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin-bottom: 18px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2 {
	float: none;
	margin: 0;
	font-size: 30px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit {
	float: none;
	padding: 8px 12px;
	border: 1px solid var(--wine);
	font-size: 10px;
	line-height: 1.2;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover {
	background: var(--wine);
	color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-content address {
	color: var(--muted);
	font-size: 13px;
	font-style: normal;
	line-height: 1.85;
	overflow-wrap: anywhere;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	font-size: 12px;
}

.woocommerce-account .woocommerce-MyAccount-content form {
	width: 100%;
	max-width: none;
}

.woocommerce-account .woocommerce-MyAccount-content form > h2 {
	margin: 0 0 30px;
	color: var(--wine);
	font-size: clamp(38px, 4vw, 52px);
	font-weight: 500;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 20px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper::after {
	display: none;
	content: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row {
	float: none !important;
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-wide {
	grid-column: 1 / -1;
}

/* Distribui os campos nativos e os campos brasileiros sem deixar colunas vazias. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #billing_first_name_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #shipping_first_name_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #billing_postcode_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #shipping_postcode_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #billing_address_2_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #shipping_address_2_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #billing_city_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #shipping_city_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #billing_phone_field {
	grid-column: 1;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #billing_last_name_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #shipping_last_name_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #billing_neighborhood_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #shipping_neighborhood_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #billing_state_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #shipping_state_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #billing_email_field {
	grid-column: 2;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #billing_country_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #shipping_country_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #billing_address_1_field,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields #shipping_address_1_field {
	grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields label {
	display: block;
	margin: 0 0 8px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input.input-text,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields select,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .select2-container,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .select2-selection {
	width: 100% !important;
	max-width: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input.input-text,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields select,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .select2-selection {
	min-height: 54px;
	padding: 13px 15px;
	background: var(--paper);
	font-size: 14px;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields > p:last-child {
	grid-column: 1 / -1;
	margin-top: 8px !important;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields button[type="submit"] {
	min-width: 210px;
	min-height: 52px;
}

@media (min-width: 821px) {
	body.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
		position: sticky;
		top: 110px;
	}

	body.admin-bar.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
		top: 142px;
	}
}

@media (max-width: 820px) {
	.amo-account-login {
		grid-template-columns: 1fr;
	}

	.amo-account-login__welcome,
	.amo-account-login__form {
		padding: 46px clamp(26px, 7vw, 48px);
	}

	.amo-account-login__welcome > p:not(.eyebrow) {
		margin-bottom: 30px;
	}

	body.logged-in.woocommerce-account .content-shell > .woocommerce:not(.alignwide):not(.alignfull) {
		grid-template-areas:
			"account-nav"
			"account-content";
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul,
	.content-shell .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1px;
		padding: 8px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li a,
	.content-shell .woocommerce-MyAccount-navigation li a:not(.button) {
		border: 0;
		background: rgba(255, 255, 255, .045);
	}
}

@media (max-width: 540px) {
	body.woocommerce-account .content-shell {
		padding: 44px 16px 64px;
	}

	.amo-account-login__welcome,
	.amo-account-login__form {
		padding: 38px 24px;
	}

	.amo-account-login__welcome h2,
	.woocommerce-account .woocommerce .amo-account-login__welcome h2 {
		font-size: 43px;
	}

	.woocommerce-account .amo-account-login__form .woocommerce-form-login__submit {
		width: 100%;
		margin: 0 0 16px;
	}

	.woocommerce-account .amo-account-login__form .woocommerce-form-login__rememberme {
		display: flex;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul,
	.content-shell .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr;
	}

	body.logged-in.woocommerce-account .woocommerce-MyAccount-content {
		padding: 26px 20px;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row-wide,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .form-row,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields > p:last-child {
		grid-column: 1 / -1 !important;
	}
}

.woocommerce .star-rating,
.woocommerce ul.products li.product .star-rating {
	color: var(--gold);
}

input:focus,
textarea:focus,
select:focus,
a:focus-visible,
button:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--gold);
	outline-offset: 3px;
}

@media (min-width: 921px) and (max-width: 1180px) {
	body.amo-vinho-site .site-header {
		min-height: 78px;
		padding-inline: 3vw !important;
		grid-template-columns: 168px minmax(0, 1fr) auto;
		grid-template-rows: 78px;
		gap: 12px;
	}

	body.amo-vinho-site .wordmark--image img {
		height: 47px;
	}

	body.amo-vinho-site .desktop-nav > .menu {
		gap: clamp(8px, .85vw, 14px);
	}

	body.amo-vinho-site .desktop-nav > .menu > li > a {
		padding-block: 26px;
		font-size: 11px;
	}

	body.amo-vinho-site .header-cta {
		padding: 13px 14px;
		font-size: 11px;
	}
}

@media (max-width: 920px) {
	body.amo-vinho-site .site-header {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-rows: 74px;
		gap: 16px;
		min-height: 74px;
		padding: 0 22px !important;
	}

	.site-header__brand {
		position: relative;
		z-index: 64;
	}

	body.amo-vinho-site .desktop-nav,
	body.amo-vinho-site .header-cta {
		display: none;
	}

	body.amo-vinho-site .mobile-menu {
		z-index: 63;
		position: relative;
		display: block;
		grid-column: 2;
		grid-row: 1;
	}

	.mobile-menu summary {
		z-index: 64;
		position: relative;
		display: flex;
		width: 46px;
		height: 46px;
		padding: 0;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 7px;
		border: 1px solid var(--line);
		border-radius: 50%;
		background: var(--paper);
		cursor: pointer;
		list-style: none;
	}

	.mobile-menu summary::-webkit-details-marker {
		display: none;
	}

	.mobile-menu summary span {
		display: block;
		width: 21px;
		height: 1px;
		background: var(--wine);
		transition: transform .2s ease;
	}

	.mobile-menu[open] summary {
		border-color: var(--wine);
		background: var(--wine);
	}

	.mobile-menu[open] summary span {
		background: #fff;
	}

	.mobile-menu[open] summary span:first-child {
		transform: translateY(4px) rotate(45deg);
	}

	.mobile-menu[open] summary span:last-child {
		transform: translateY(-4px) rotate(-45deg);
	}

	.mobile-menu nav {
		position: absolute;
		top: 60px;
		right: -22px;
		display: flex;
		width: 100vw;
		max-height: calc(100dvh - 74px);
		padding: 22px 22px 28px;
		flex-direction: column;
		overflow-y: auto;
		border-top: 2px solid var(--gold);
		background: var(--paper);
		box-shadow: 0 28px 55px rgba(28, 8, 14, .2);
		animation: amo-mobile-menu-in .2s ease both;
	}

	.mobile-menu nav > .menu {
		display: flex;
		width: 100%;
		margin: 0;
		padding: 0;
		flex-direction: column;
		gap: 0;
	}

	.mobile-menu nav > .menu > li {
		margin: 0;
	}

	.mobile-menu nav > .menu > li > a {
		display: flex;
		min-height: 56px;
		padding: 11px 2px;
		align-items: center;
		justify-content: space-between;
		border-bottom: 1px solid var(--line);
		color: var(--ink);
		font-family: var(--serif);
		font-size: 27px;
		font-weight: 600;
		line-height: 1.1;
	}

	.mobile-menu nav > .menu > li.current-menu-item > a,
	.mobile-menu nav > .menu > li.current_page_item > a,
	.mobile-menu nav > .menu > li > a:hover {
		color: var(--wine);
	}

	.mobile-menu nav > .menu > li.current-menu-item > a::after,
	.mobile-menu nav > .menu > li.current_page_item > a::after {
		content: "•";
		color: var(--gold);
		font-family: var(--sans);
		font-size: 18px;
	}

	.mobile-menu .menu-item--cart > a {
		color: var(--wine);
	}

	.mobile-menu__actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-top: 24px;
	}

	.mobile-menu nav .mobile-menu__actions a {
		display: flex;
		min-height: 52px;
		padding: 0 16px;
		align-items: center;
		justify-content: space-between;
		font-family: var(--sans);
		font-size: 10px;
		font-weight: 800;
		letter-spacing: .04em;
	}

	.mobile-menu nav .mobile-menu__cta {
		background: var(--wine);
		color: #fff;
	}

	.mobile-menu nav .mobile-menu__contact {
		border: 1px solid rgba(59, 13, 24, .35);
		color: var(--wine);
	}

	body.mobile-menu-open {
		overflow: hidden;
	}

	.editorial-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@keyframes amo-mobile-menu-in {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 640px) {
	.admin-bar.amo-vinho-site .site-header {
		top: 46px;
	}

	.wordmark--image img {
		height: 44px;
	}

	.mobile-menu__actions {
		grid-template-columns: 1fr;
	}

	.internal-hero,
	.commerce-hero {
		padding: 70px 22px;
	}

	.content-shell,
	.listing-shell,
	.commerce-shell {
		padding: 65px 22px;
	}

	.editorial-grid,
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	body.amo-vinho-site.single-product.woocommerce .related.products ul.products {
		display: grid !important;
		width: 100%;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		align-items: stretch !important;
		gap: 12px !important;
	}

	body.amo-vinho-site.single-product.woocommerce .related.products ul.products:has(> li:only-child) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.amo-vinho-site.single-product.woocommerce .related.products ul.products > li.product {
		display: flex;
		width: 100% !important;
		min-width: 0;
		margin: 0 !important;
		padding: 0 0 16px;
		align-items: stretch;
	}

	body.amo-vinho-site.single-product.woocommerce .related.products ul.products li.product a img {
		margin-bottom: 14px;
	}

	body.amo-vinho-site.single-product.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title,
	body.amo-vinho-site.single-product.woocommerce .related.products ul.products li.product .price,
	body.amo-vinho-site.single-product.woocommerce .related.products ul.products li.product .button {
		margin-left: 14px;
		margin-right: 14px;
	}

	body.amo-vinho-site.single-product.woocommerce .related.products ul.products li.product .woocommerce-loop-product__title {
		min-height: 61px;
		font-size: 19px;
		line-height: 1.08;
	}

	body.amo-vinho-site.single-product.woocommerce .related.products ul.products li.product .price {
		font-size: 21px;
	}

	body.amo-vinho-site.single-product.woocommerce .related.products ul.products li.product .button {
		width: calc(100% - 28px);
		min-height: 46px;
		padding: 9px 10px;
		font-size: 9px;
		line-height: 1.25;
	}

	.woocommerce div.product div.images,
	.woocommerce div.product div.summary {
		float: none;
		width: 100%;
	}
}

/* Loja: neutraliza as larguras legadas do WooCommerce e organiza a vitrine. */
body.amo-vinho-site.woocommerce-shop .commerce-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 32px;
	align-items: end;
}

body.amo-vinho-site.woocommerce-shop .woocommerce-products-header {
	grid-column: 1 / -1;
	margin: 0 0 16px;
	padding: 0 0 22px;
	border-bottom: 1px solid var(--line);
}

body.amo-vinho-site.woocommerce-shop .woocommerce-products-header .page-title {
	margin: 0;
	color: var(--wine);
	font-family: var(--serif);
	font-size: clamp(38px, 4vw, 54px);
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: 1;
}

/* O template clássico do WooCommerce imprime o título diretamente no shell. */
body.amo-vinho-site.woocommerce-shop .commerce-shell > .page-title {
	grid-column: 1 / -1;
	margin: 0 0 16px;
	padding: 0 0 20px;
	border-bottom: 1px solid var(--line);
	color: var(--wine);
	font-family: var(--serif);
	font-size: clamp(34px, 3.4vw, 46px);
	font-weight: 600;
	letter-spacing: -.025em;
	line-height: 1;
}

body.amo-vinho-site.woocommerce-shop .woocommerce-result-count,
body.amo-vinho-site.woocommerce-shop .woocommerce-ordering {
	float: none !important;
	margin: 0 !important;
}

body.amo-vinho-site.woocommerce-shop .woocommerce-result-count {
	grid-column: 1;
	grid-row: 2;
	justify-self: start;
	align-self: center;
	color: var(--muted);
	font-size: 12px;
}

body.amo-vinho-site.woocommerce-shop .woocommerce-ordering {
	grid-column: 2;
	grid-row: 2;
	justify-self: end;
}

body.amo-vinho-site.woocommerce-shop .woocommerce-ordering select {
	min-width: 255px;
	min-height: 50px;
	padding-inline: 16px 42px;
	color: var(--ink);
	font-size: 12px;
}

body.amo-vinho-site.woocommerce-shop ul.products[class*="columns-"] {
	grid-column: 1 / -1;
	grid-row: 3;
	display: grid !important;
	width: 100%;
	margin: 36px 0 0 !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 28px;
}

body.amo-vinho-site.woocommerce-shop ul.products[class*="columns-"]::before,
body.amo-vinho-site.woocommerce-shop ul.products[class*="columns-"]::after {
	display: none !important;
}

body.amo-vinho-site.woocommerce-shop ul.products[class*="columns-"] > li.product {
	display: flex;
	float: none !important;
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 0 26px;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--line);
	background: #fff;
	box-shadow: 0 12px 35px rgba(28, 8, 14, 0);
	transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

body.amo-vinho-site.woocommerce-shop ul.products[class*="columns-"] > li.product:hover {
	transform: translateY(-5px);
	border-color: rgba(59, 13, 24, .3);
	box-shadow: 0 18px 42px rgba(28, 8, 14, .1);
}

body.amo-vinho-site.woocommerce-shop li.product > .woocommerce-LoopProduct-link {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
}

body.amo-vinho-site.woocommerce-shop ul.products li.product a img {
	width: 100%;
	margin: 0 0 26px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

body.amo-vinho-site.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
	min-height: 66px;
	margin: 0 26px 12px;
	padding: 0;
	font-size: clamp(27px, 2.25vw, 34px);
	line-height: 1.04;
}

body.amo-vinho-site.woocommerce-shop ul.products li.product .price {
	display: block;
	margin: auto 26px 0;
	padding-top: 12px;
	font-size: 27px;
	line-height: 1.1;
}

body.amo-vinho-site.woocommerce-shop ul.products li.product .button {
	display: inline-flex;
	width: calc(100% - 52px);
	min-height: 52px;
	margin: 24px 26px 0;
	align-items: center;
	justify-content: center;
	padding: 14px 18px;
	text-align: center;
}

body.amo-vinho-site.woocommerce-shop .woocommerce-pagination {
	grid-column: 1 / -1;
	margin-top: 48px;
}

@media (max-width: 920px) {
	body.amo-vinho-site.woocommerce-shop ul.products[class*="columns-"] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (max-width: 640px) {
	body.amo-vinho-site.woocommerce-shop .commerce-shell {
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
	}

	body.amo-vinho-site.woocommerce-shop .woocommerce-products-header {
		margin-bottom: 12px;
		padding-bottom: 18px;
	}

	body.amo-vinho-site.woocommerce-shop .woocommerce-products-header .page-title {
		font-size: 40px;
	}

	body.amo-vinho-site.woocommerce-shop .commerce-shell > .page-title {
		margin-bottom: 12px;
		padding-bottom: 17px;
		font-size: 34px;
	}

	body.amo-vinho-site.woocommerce-shop .woocommerce-ordering {
		grid-column: 1;
		grid-row: 3;
		width: 100%;
		margin-top: 18px !important;
		justify-self: stretch;
	}

	body.amo-vinho-site.woocommerce-shop .woocommerce-ordering select {
		width: 100%;
		min-width: 0;
	}

	body.amo-vinho-site.woocommerce-shop ul.products[class*="columns-"] {
		grid-row: 4;
		grid-template-columns: minmax(0, 1fr);
		margin-top: 28px !important;
		gap: 18px;
	}

	body.amo-vinho-site.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
		min-height: 0;
		font-size: 30px;
	}
}
