/*
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Version: 0.1.0
 * Text Domain: blocksy
 */

/* =========================================================
   RAVOLLI — T010
   Ponte verificada contra Blocksy 2.1.52
   Fonte canônica: theme.json / T009

   IMPORTANTE:
   Revalidar esta ponte após atualização do Blocksy.
   ========================================================= */

:root {
	/* Tipografia global */
	--theme-font-family: var(--wp--preset--font-family--body);
	--theme-font-weight: 400;
	--theme-font-size: var(--wp--preset--font-size--base);
	--theme-line-height: var(--wp--custom--ravolli--typography--line-height--body);

	/* Slots globais do Blocksy */
	--theme-palette-color-1: var(--wp--preset--color--brand-primary);
	--theme-palette-color-2: var(--wp--preset--color--brand-primary);
	--theme-palette-color-3: var(--wp--preset--color--text-body);
	--theme-palette-color-4: var(--wp--preset--color--brand-primary);
	--theme-palette-color-5: var(--wp--preset--color--border-divider);
	--theme-palette-color-6: var(--wp--preset--color--surface-alt);
	--theme-palette-color-7: var(--wp--preset--color--bg-base);
	--theme-palette-color-8: var(--wp--preset--color--bg-base);

	/* Semântica global */
	--theme-text-color: var(--wp--preset--color--text-body);
	--theme-headings-color: var(--wp--preset--color--brand-primary);
	--theme-link-initial-color: var(--wp--preset--color--brand-primary);
	--theme-link-hover-color: var(--wp--preset--color--brand-primary);
	--theme-border-color: var(--wp--preset--color--border-divider);

	/* Botão primário — branco é regra explícita do Registro 006 */
	--theme-button-font-weight: 600;
	--theme-button-text-initial-color: #ffffff;
	--theme-button-text-hover-color: #ffffff;
	--theme-button-background-initial-color: var(--wp--preset--color--brand-primary);
	--theme-button-background-hover-color: var(--wp--preset--color--brand-primary);

	/* Container canônico T009 */
	--theme-normal-container-max-width: 1280px;
}


/* Títulos / display */

h1,
h2,
h3,
h4,
h5,
h6 {
	--theme-font-family: var(--wp--preset--font-family--display);
	--theme-font-weight: 400;
	--theme-line-height: var(--wp--custom--ravolli--typography--line-height--heading);
}


/* Remove Georgia herdada do Blocksy */

.wp-block-pullquote {
	--theme-font-family: var(--wp--preset--font-family--display);
	--theme-font-weight: 400;
}

/* Header — menus desktop */

[data-header*="type-1"] .ct-header [data-id^="menu"] > ul > li > a {
	--theme-font-family: var(--wp--preset--font-family--body);
	--theme-font-weight: 600;
	--theme-letter-spacing: var(--wp--custom--ravolli--typography--tracking--nav);
}

/* Header — submenu */

[data-header*="type-1"] .ct-header [data-id^="menu"] .sub-menu .ct-menu-link {
	--theme-font-family: var(--wp--preset--font-family--body);
	--theme-font-weight: 400;
}

/* submenu / dropdown do header */

/* Fundo do dropdown */
[data-header*="type-1"] .ct-header .sub-menu {
	background: rgba(6, 14, 30, 0.94);
	border: 1px solid rgba(188, 156, 109, 0.14);
	box-shadow: 0 12px 30px rgba(1, 4, 10, 0.16);
}

/* Links */
[data-header*="type-1"] .ct-header .sub-menu .ct-menu-link {
	font-family: var(--wp--preset--font-family--body);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.3px;

	color: rgba(250, 250, 248, 0.88);
	background: transparent;
}

/* Hover e foco */
[data-header*="type-1"] .ct-header .sub-menu .ct-menu-link:hover,
[data-header*="type-1"] .ct-header .sub-menu .ct-menu-link:focus-visible {
	color: #BC9C6D;
	background: rgba(188, 156, 109, 0.06);
}

/* Item atual */
[data-header*="type-1"] .ct-header .sub-menu .current-menu-item > .ct-menu-link {
	color: #BC9C6D;
}


/* Header — menu mobile */

[data-header*="type-1"] [data-id="mobile-menu"] {
	--theme-font-family: var(--wp--preset--font-family--body);
	--theme-font-weight: 600;
	--theme-letter-spacing: var(--wp--custom--ravolli--typography--tracking--nav);
}

/* =========================================================
   T010 — menu mobile: estados de navegação
   ========================================================= */

[data-header*="type-1"] [data-id="mobile-menu"] .ct-menu-link {
	color: rgba(250, 250, 248, 0.88);
}

[data-header*="type-1"] [data-id="mobile-menu"] .current-menu-item > .ct-menu-link,
[data-header*="type-1"] [data-id="mobile-menu"] .current-menu-ancestor > .ct-menu-link {
	color: #BC9C6D;
}

[data-header*="type-1"] [data-id="mobile-menu"] .ct-menu-link:hover,
[data-header*="type-1"] [data-id="mobile-menu"] .ct-menu-link:focus-visible {
	color: #BC9C6D;
}

/* =========================================================
   T010 — faixa superior do header
   ========================================================= */

@media (min-width: 1000px) {

	#header [data-row="top"] {
		background-color: #01040a !important;
		min-height: 24px !important;
	}

	#header [data-row="top"] > .ct-container {
		min-height: 24px !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	#header [data-row="top"] [data-id="text"] {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 24px;
		text-align: center;
	}

	#header [data-row="top"] [data-id="text"] .entry-content,
	#header [data-row="top"] [data-id="text"] p {
		margin: 0 !important;
		padding: 0 !important;

		font-family: var(--wp--preset--font-family--body) !important;
		font-size: 8px !important;
		font-style: normal !important;
		font-weight: 400 !important;
		line-height: 1 !important;
		letter-spacing: 1.5px !important;
		text-transform: uppercase;

		color: rgba(250, 250, 248, 0.65) !important;
		text-align: center !important;
	}
}

/* =========================================================
   T010 — linha principal do header desktop
   Ajustes visuais sem sobrescrever cores ou estrutura do Blocksy
   ========================================================= */

@media (min-width: 1000px) {

	/* Altura da linha principal */
	#header [data-row="middle"],
	#header [data-row="middle"] > .ct-container {
		min-height: 68px;
	}


	/* Espaçamento entre itens dos menus */
	#header [data-row="middle"] [data-id^="menu"] > ul {
		column-gap: 28px;
	}

	/* Links dos menus — apenas geometria/tamanho */
	#header [data-row="middle"] [data-id^="menu"] > ul > li > a {
		position: relative;
		min-height: 68px;
		padding: 0;
		font-size: 11px;
		line-height: 1;
	}

	/* Espaçamento da área de ações à direita */
	#header [data-row="middle"] [data-column="end"] {
		column-gap: 20px;
	}

	/* Página atual — underline fino */
	#header [data-row="middle"] [data-id^="menu"] > ul > li.current-menu-item > a::after,
	#header [data-row="middle"] [data-id^="menu"] > ul > li.current-menu-ancestor > a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 20px;
		height: 1px;
		background-color: currentColor;
	}

	/* Ícones à direita */
	#header [data-row="middle"] [data-column="end"] svg {
		width: 16px;
		height: 16px;
	}
}

/* WooCommerce — títulos de produto */

[data-products] .woocommerce-loop-product__title,
[data-products] .woocommerce-loop-category__title {
	--theme-font-family: var(--wp--preset--font-family--display);
	--theme-font-weight: 400;
}


/* WooCommerce — preços usam Lora/display */

[data-products] .product .price,
.entry-summary .price {
	--theme-font-family: var(--wp--preset--font-family--display);
	--theme-font-weight: 400;
}

/* T010 — bridge de layout Blocksy ↔ T009 */

html:root {
	--theme-wide-offset: 60px;
	--theme-container-edge-spacing: calc(
		100vw
		- var(--wp--custom--ravolli--layout-reference--gutter-mobile)
		- var(--wp--custom--ravolli--layout-reference--gutter-mobile)
	);
}

@media (min-width: 1024px) {
	html:root {
		--theme-container-edge-spacing: calc(
			100vw
			- var(--wp--custom--ravolli--layout-reference--gutter-desktop)
			- var(--wp--custom--ravolli--layout-reference--gutter-desktop)
		);
	}
}

/* T010 — componentes-base */

#footer.ct-footer {
	background-color: var(--wp--preset--color--chrome-dark);
	--theme-text-color: var(--wp--preset--color--bg-base);
	--theme-link-initial-color: var(--wp--preset--color--bg-base);
	--theme-link-hover-color: var(--wp--preset--color--bg-base);
	color: var(--wp--preset--color--bg-base);
}

#footer.ct-footer .ct-footer-copyright,
#footer.ct-footer .ct-widget {
	--theme-text-color: var(--wp--preset--color--bg-base);
	--theme-link-initial-color: var(--wp--preset--color--bg-base);
	--theme-link-hover-color: var(--wp--preset--color--bg-base);
	color: var(--wp--preset--color--bg-base);
}

#footer.ct-footer .widget-title {
	--theme-font-family: var(--wp--preset--font-family--body);
	--theme-font-weight: 600;
	--theme-letter-spacing: var(--wp--custom--ravolli--typography--tracking--nav);
	text-transform: uppercase;
	color: var(--wp--preset--color--bg-base);
}

/* Cards — somente contrato-base T010 */

.ravolli-card__media {
	background-color: var(--wp--preset--color--surface-product);
}

.ravolli-card__title,
.ravolli-card__price {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	color: var(--wp--preset--color--brand-primary);
}

.ravolli-card__meta {
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--text-body);
}


/* T010 — títulos dos grupos do footer */

#footer.ct-footer .wp-block-heading {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
	letter-spacing: var(--wp--custom--ravolli--typography--tracking--nav);
	text-transform: uppercase;
	color: var(--wp--preset--color--bg-base);
}

/* T010 — footer compacto */

#footer.ct-footer [data-row="middle"] .ct-container {
	padding-block: var(--wp--preset--spacing--xl);
	column-gap: var(--wp--preset--spacing--2-xl);
	row-gap: var(--wp--preset--spacing--lg);
}

#footer.ct-footer [data-column^="widget-area-"] > .ct-widget + .ct-widget {
	margin-top: var(--wp--preset--spacing--xs);
}

#footer.ct-footer .wp-block-heading {
	font-size: var(--wp--preset--font-size--sm);
	line-height: var(--wp--custom--ravolli--typography--line-height--label);
	margin: 0;
}

#footer.ct-footer .wp-block-list {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--sm);
	line-height: var(--wp--custom--ravolli--typography--line-height--label);
	margin: 0;
}

#footer.ct-footer .wp-block-list li + li {
	margin-top: var(--wp--preset--spacing--2xs);
}

@media (max-width: 767px) {
	#footer.ct-footer [data-row="middle"] .ct-container {
		padding-block: var(--wp--preset--spacing--lg);
		row-gap: var(--wp--preset--spacing--lg);
	}
}

/* T010 — contraste do footer */

#footer.ct-footer .wp-block-heading {
	color: rgba(250, 250, 248, 0.80);
}

#footer.ct-footer .wp-block-list a {
	color: rgba(250, 250, 248, 0.70);
}

#footer.ct-footer .wp-block-list a:hover,
#footer.ct-footer .wp-block-list a:focus-visible {
	color: #fafaf8;
}

/* === RAVOLLI GUIA TAMANHOS START v1.3.0 === */

/* Guia de Tamanhos — versão enxuta, preservando as orientações de segurança.
   Display: Lora 400. Corpo/labels: Source Serif 4 400/600. */
.page-id-19 .hero-section {
	display: none !important;
}
.page-id-19 .site-main > .ct-container-full[data-content="normal"] {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.ravolli-size-guide {
	--rsg-navy: var(--wp--preset--color--brand-primary, #060e1e);
	--rsg-body: var(--wp--preset--color--text-body, #606060);
	--rsg-secondary: var(--wp--preset--color--text-secondary, #737373);
	--rsg-gold: var(--wp--preset--color--accent-gold, #BC9C6D);
	--rsg-cream: var(--wp--preset--color--bg-base, #fafaf8);
	--rsg-soft: var(--wp--preset--color--surface-alt, #f5f4f2);
	--rsg-line: var(--wp--preset--color--border-divider, #EBEBEB);
	font-family: var(--wp--preset--font-family--body, 'Source Serif 4', serif);
	font-size: var(--wp--preset--font-size--base, 16px);
	font-weight: 400;
	color: var(--rsg-body);
	max-width: 1180px;
	margin: 0 auto;
	padding: 40px 24px 76px;
}
.ravolli-size-guide * { box-sizing: border-box; }

.ravolli-size-guide h2,
.ravolli-size-guide h3 {
	font-family: var(--wp--preset--font-family--display, Lora, serif);
	font-weight: 400;
	color: var(--rsg-navy);
	margin: 0;
	line-height: 1.18;
	letter-spacing: -0.012em;
}
.ravolli-size-guide h2 {
	font-size: var(--wp--preset--font-size--3xl, 36px);
	max-width: 690px;
}
.ravolli-size-guide h3 {
	font-size: var(--wp--preset--font-size--2xl, 28px);
}
.ravolli-size-guide p,
.ravolli-size-guide li,
.ravolli-size-guide td,
.ravolli-size-guide th,
.ravolli-size-guide a,
.ravolli-size-guide strong,
.ravolli-size-guide span {
	font-family: var(--wp--preset--font-family--body, 'Source Serif 4', serif);
}
.ravolli-size-guide p {
	font-size: var(--wp--preset--font-size--base, 16px);
	line-height: 1.68;
}
.ravolli-size-guide strong { font-weight: 600; }

.ravolli-size-guide__eyebrow {
	margin: 0 0 11px !important;
	font-size: var(--wp--preset--font-size--xs, 12px);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: .20em;
	text-transform: uppercase;
	color: var(--rsg-gold);
}

.ravolli-size-guide__intro {
	max-width: 820px;
	padding: 0 0 34px;
}
.ravolli-size-guide__intro > p:last-child {
	max-width: 650px;
	margin: 16px 0 0;
	color: var(--rsg-body);
}

.ravolli-size-guide__methods {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 48px;
}
.ravolli-size-guide__method {
	display: grid;
	gap: 7px;
	min-height: 138px;
	padding: 23px 26px;
	border: 1px solid var(--rsg-line);
	background: #fff;
	color: var(--rsg-body);
	text-decoration: none !important;
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.ravolli-size-guide__method:hover,
.ravolli-size-guide__method:focus-visible {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--rsg-gold) 58%, transparent);
	box-shadow: 0 14px 36px rgba(6, 14, 30, .055);
}
.ravolli-size-guide__method:focus-visible {
	outline: 2px solid var(--rsg-gold);
	outline-offset: 3px;
}
.ravolli-size-guide__method-number {
	font-size: var(--wp--preset--font-size--xs, 12px);
	font-weight: 600;
	color: var(--rsg-gold);
	letter-spacing: .16em;
}
.ravolli-size-guide__method strong {
	font-size: var(--wp--preset--font-size--lg, 18px);
	font-weight: 600;
	line-height: 1.35;
	color: var(--rsg-navy);
}
.ravolli-size-guide__method > span:last-child {
	font-size: var(--wp--preset--font-size--sm, 14px);
	color: var(--rsg-secondary);
	line-height: 1.55;
}

#anel-que-serve,
#medir-o-dedo {
	scroll-margin-top: 110px;
}

.ravolli-size-guide__section {
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 52px;
	align-items: center;
	padding: 48px 0;
	border-top: 1px solid var(--rsg-line);
}
.ravolli-size-guide__section--alt {
	grid-template-columns: 1.02fr .98fr;
}
.ravolli-size-guide__section-copy > p:not(.ravolli-size-guide__eyebrow) {
	margin: 15px 0 0;
	color: var(--rsg-body);
}
.ravolli-size-guide__section-copy ul {
	margin: 17px 0 0;
	padding-left: 20px;
}
.ravolli-size-guide__section-copy li {
	margin: 7px 0;
	font-size: var(--wp--preset--font-size--base, 16px);
	line-height: 1.56;
	color: var(--rsg-body);
}

.ravolli-size-guide__measure-visual {
	min-height: 300px;
	display: grid;
	place-items: center;
	align-content: center;
	gap: 22px;
	background: var(--rsg-soft);
	padding: 32px;
}
.ravolli-size-guide__ring {
	width: 160px;
	height: 160px;
	border: 16px solid var(--rsg-gold);
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(6,14,30,.06), 0 8px 20px rgba(6,14,30,.06);
}
.ravolli-size-guide__diameter-line {
	width: 200px;
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--rsg-navy);
	font-size: var(--wp--preset--font-size--xs, 12px);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .10em;
}
.ravolli-size-guide__diameter-line i {
	height: 1px;
	flex: 1;
	background: var(--rsg-navy);
}
.ravolli-size-guide__diameter-line b {
	white-space: nowrap;
	font-weight: 600;
}

.ravolli-size-guide__steps {
	display: grid;
	gap: 11px;
}
.ravolli-size-guide__steps > div {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 16px 18px;
	border: 1px solid var(--rsg-line);
	background: var(--rsg-cream);
}
.ravolli-size-guide__steps span {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	background: var(--rsg-navy);
	color: #fff;
	font-size: var(--wp--preset--font-size--xs, 12px);
}
.ravolli-size-guide__steps p {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm, 14px);
}

.ravolli-size-guide__table-section {
	padding: 48px 0;
	border-top: 1px solid var(--rsg-line);
}
.ravolli-size-guide__table-heading {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: end;
	margin-bottom: 23px;
}
.ravolli-size-guide__table-heading > p {
	margin: 0;
	color: var(--rsg-body);
}
.ravolli-size-guide__table-wrap {
	border: 1px solid var(--rsg-line);
	overflow: hidden;
}
.ravolli-size-guide__table {
	width: 100%;
	margin: 0 !important;
	border-collapse: collapse;
	background: #fff;
	table-layout: fixed;
	font-size: var(--wp--preset--font-size--sm, 14px);
}
.ravolli-size-guide__table th:nth-child(1),
.ravolli-size-guide__table td:nth-child(1) { width: 15%; }
.ravolli-size-guide__table th:nth-child(2),
.ravolli-size-guide__table td:nth-child(2) { width: 34%; }
.ravolli-size-guide__table th:nth-child(3),
.ravolli-size-guide__table td:nth-child(3) { width: 51%; }
.ravolli-size-guide__table th,
.ravolli-size-guide__table td {
	padding: 11px 18px;
	border-bottom: 1px solid var(--rsg-line);
	text-align: left;
	color: var(--rsg-body);
}
.ravolli-size-guide__table th {
	background: var(--rsg-soft);
	color: var(--rsg-navy);
	font-size: var(--wp--preset--font-size--xs, 12px);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
}
.ravolli-size-guide__table tbody tr:last-child td { border-bottom: 0; }
.ravolli-size-guide__table-note {
	margin: 12px 0 0;
	color: var(--rsg-secondary);
	font-size: var(--wp--preset--font-size--sm, 14px) !important;
}

.ravolli-size-guide__alliances {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: 46px;
	padding: 34px 38px;
	background: var(--rsg-navy);
	color: rgba(250,250,248,.84);
}
.ravolli-size-guide__alliances h3 { color: #fff; }
.ravolli-size-guide__alliances > p {
	margin: 0;
	align-self: end;
	color: rgba(250,250,248,.84);
}

.ravolli-size-guide__notes {
	padding: 48px 0;
}
.ravolli-size-guide__notes-heading {
	max-width: 600px;
}
.ravolli-size-guide__notes-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 16px;
	margin-top: 23px;
}
.ravolli-size-guide__notes-grid p {
	margin: 0;
	padding: 20px 22px;
	border-top: 1px solid var(--rsg-gold);
	background: var(--rsg-soft);
	font-size: var(--wp--preset--font-size--sm, 14px);
	line-height: 1.62;
}
.ravolli-size-guide__notes-grid strong {
	color: var(--rsg-navy);
	font-weight: 600;
}

.ravolli-size-guide__help {
	padding: 34px 38px;
	background: var(--rsg-soft);
	text-align: center;
}
.ravolli-size-guide__help > p:last-child {
	max-width: 650px;
	margin: 12px auto 0;
	color: var(--rsg-body);
}

@media (max-width: 767px) {
	.page-id-19 .site-main > .ct-container-full[data-content="normal"] {
		padding-top: 0 !important;
	}
	.ravolli-size-guide {
		padding: 26px var(--wp--custom--ravolli--layout-reference--gutter-mobile) 54px;
	}
	.ravolli-size-guide__intro { padding: 0 0 26px; }
	.ravolli-size-guide h2 { font-size: var(--wp--preset--font-size--2xl, 28px); }
	.ravolli-size-guide h3 { font-size: var(--wp--preset--font-size--xl, 22px); }
	.ravolli-size-guide p,
	.ravolli-size-guide__section-copy li {
		font-size: var(--wp--preset--font-size--base, 16px);
	}
	.ravolli-size-guide__methods {
		grid-template-columns: 1fr;
		gap: 11px;
		margin-bottom: 34px;
	}
	.ravolli-size-guide__method {
		min-height: 0;
		padding: 19px 20px;
	}
	.ravolli-size-guide__section,
	.ravolli-size-guide__section--alt {
		grid-template-columns: 1fr;
		gap: 25px;
		padding: 36px 0;
	}
	.ravolli-size-guide__measure-visual {
		min-height: 245px;
		padding: 25px 18px;
	}
	.ravolli-size-guide__ring {
		width: 140px;
		height: 140px;
		border-width: 14px;
	}
	.ravolli-size-guide__steps > div { padding: 15px; }
	.ravolli-size-guide__table-heading,
	.ravolli-size-guide__alliances {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.ravolli-size-guide__table-section { padding: 36px 0; }
	.ravolli-size-guide__table-wrap { overflow: hidden; }
	.ravolli-size-guide__table {
		min-width: 0;
		width: 100%;
		table-layout: fixed;
		font-size: 13px;
	}
	.ravolli-size-guide__table th,
	.ravolli-size-guide__table td {
		padding: 10px 7px;
		overflow-wrap: anywhere;
	}
	.ravolli-size-guide__table th {
		font-size: 10px;
		line-height: 1.25;
		letter-spacing: .015em;
	}
	.ravolli-size-guide__table th:nth-child(1),
	.ravolli-size-guide__table td:nth-child(1) { width: 18%; }
	.ravolli-size-guide__table th:nth-child(2),
	.ravolli-size-guide__table td:nth-child(2) { width: 34%; }
	.ravolli-size-guide__table th:nth-child(3),
	.ravolli-size-guide__table td:nth-child(3) { width: 48%; }
	.ravolli-size-guide__alliances { padding: 25px 22px; }
	.ravolli-size-guide__notes { padding: 36px 0; }
	.ravolli-size-guide__notes-grid {
		grid-template-columns: 1fr;
		gap: 11px;
	}
	.ravolli-size-guide__help { padding: 28px 20px; }
}

@media (prefers-reduced-motion: reduce) {
	.ravolli-size-guide__method { transition: none !important; }
}

/* === RAVOLLI GUIA TAMANHOS END v1.3.0 === */

/* === RAVOLLI TIPOGRAFIA GLOBAL START v1.0.0 === */

/*
 * Hierarquia editorial Ravolli
 * Base: Lora 400 (display) + Source Serif 4 400/600 (corpo).
 * Escopo: títulos principais e seções do site.
 * NÃO altera títulos de cards de produto, footer, menu ou Guia de Tamanhos.
 */

:root {
	--ravolli-title-page: 28px;
	--ravolli-title-display: 36px;
	--ravolli-title-section: 28px;
	--ravolli-title-subsection: 22px;
	--ravolli-title-line-height: 1.18;
	--ravolli-title-tracking: -0.012em;
}

/* Corpo editorial / comercial */
body:not(.page-id-19) #main,
body:not(.page-id-19) #main .entry-content,
body:not(.page-id-19) #main .entry-summary,
body:not(.page-id-19) #main .woocommerce {
	font-family: var(--wp--preset--font-family--body, 'Source Serif 4', serif);
}

/* Títulos de página gerados pelo Blocksy/Woo */
body:not(.page-id-19) .hero-section .page-title,
body:not(.page-id-19) .woocommerce-products-header__title.page-title,
body:not(.page-id-19) .entry-header .page-title {
	font-family: var(--wp--preset--font-family--display, Lora, serif) !important;
	font-size: var(--ravolli-title-page) !important;
	font-weight: 400 !important;
	line-height: var(--ravolli-title-line-height) !important;
	letter-spacing: var(--ravolli-title-tracking) !important;
}

/* PDP */
.single-product .product_title,
.single-product h1.product_title.entry-title {
	font-family: var(--wp--preset--font-family--display, Lora, serif) !important;
	font-size: var(--ravolli-title-page) !important;
	font-weight: 400 !important;
	line-height: var(--ravolli-title-line-height) !important;
	letter-spacing: var(--ravolli-title-tracking) !important;
}

/* Conteúdo editorial.
   Exclui explicitamente títulos dos cards Woo para não aumentar os nomes dos produtos. */
body:not(.page-id-19) .entry-content h1:not(.woocommerce-loop-product__title):not(.woocommerce-loop-category__title) {
	font-family: var(--wp--preset--font-family--display, Lora, serif) !important;
	font-size: var(--ravolli-title-display) !important;
	font-weight: 400 !important;
	line-height: var(--ravolli-title-line-height) !important;
	letter-spacing: var(--ravolli-title-tracking) !important;
}

body:not(.page-id-19) .entry-content h2:not(.woocommerce-loop-product__title):not(.woocommerce-loop-category__title) {
	font-family: var(--wp--preset--font-family--display, Lora, serif) !important;
	font-size: var(--ravolli-title-section) !important;
	font-weight: 400 !important;
	line-height: var(--ravolli-title-line-height) !important;
	letter-spacing: var(--ravolli-title-tracking) !important;
}

body:not(.page-id-19) .entry-content h3:not(.woocommerce-loop-product__title):not(.woocommerce-loop-category__title) {
	font-family: var(--wp--preset--font-family--display, Lora, serif) !important;
	font-size: var(--ravolli-title-subsection) !important;
	font-weight: 400 !important;
	line-height: var(--ravolli-title-line-height) !important;
	letter-spacing: var(--ravolli-title-tracking) !important;
}

/* Páginas gerais de Alianças e Noivado — dobras editoriais */
.ravolli-alliance-experience .ravolli-collection-fold__title,
.ravolli-noivado-experience .ravolli-collection-fold__title {
	font-family: var(--wp--preset--font-family--display, Lora, serif) !important;
	font-size: var(--ravolli-title-section) !important;
	font-weight: 400 !important;
	line-height: var(--ravolli-title-line-height) !important;
	letter-spacing: var(--ravolli-title-tracking) !important;
}

/* Títulos dos cards continuam compactos. */
[data-products] .woocommerce-loop-product__title,
[data-products] .woocommerce-loop-category__title,
.ravolli-collection-card__title {
	font-family: var(--wp--preset--font-family--display, Lora, serif) !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
}

/* Responsividade — mesma lógica da revisão aprovada no Guia de Tamanhos. */
@media (max-width: 767px) {
	:root {
		--ravolli-title-page: 28px;
		--ravolli-title-display: 28px;
		--ravolli-title-section: 28px;
		--ravolli-title-subsection: 22px;
	}

	body:not(.page-id-19) .entry-content h1:not(.woocommerce-loop-product__title):not(.woocommerce-loop-category__title),
	body:not(.page-id-19) .entry-content h2:not(.woocommerce-loop-product__title):not(.woocommerce-loop-category__title),
	body:not(.page-id-19) .entry-content h3:not(.woocommerce-loop-product__title):not(.woocommerce-loop-category__title),
	body:not(.page-id-19) .hero-section .page-title,
	body:not(.page-id-19) .woocommerce-products-header__title.page-title,
	body:not(.page-id-19) .entry-header .page-title,
	.single-product .product_title,
	.ravolli-alliance-experience .ravolli-collection-fold__title,
	.ravolli-noivado-experience .ravolli-collection-fold__title {
		line-height: 1.18 !important;
	}

	.ravolli-alliance-experience .ravolli-collection-fold__title,
	.ravolli-noivado-experience .ravolli-collection-fold__title {
		font-size: 22px !important;
	}
}

/* === RAVOLLI TIPOGRAFIA GLOBAL END v1.0.0 === */

/* === RAVOLLI GALERIA PDP FIT START v1.1.1 === */

/*
 * Galeria PDP Ravolli
 *
 * ALIANÇAS:
 * - proporção quadrada 1:1 (definida também no controle nativo do Blocksy);
 * - object-fit: contain para manter as duas alianças inteiras.
 *
 * ANÉIS DE NOIVADO:
 * - as imagens atuais do catálogo têm composição mais horizontal;
 * - usa 3:2 apenas na imagem principal da PDP;
 * - preserva contain, miniaturas, lightbox, zoom e troca de variação.
 *
 * O seletor product_cat-aneis-de-noivado é gerado pelo WooCommerce
 * no container principal do produto, então a regra é semântica e não
 * depende de IDs de produto.
 */

/* Garantia geral: nunca cortar a joia na imagem principal. */
.single-product .ct-product-gallery-container .flexy-view .ct-media-container img,
.single-product .ct-product-gallery-container .flexy-view .ct-media-container picture > img,
.single-product .ct-product-gallery-container .flexy-view .flexy-item img,
.single-product .ct-product-gallery-container .flexy-view .flexy-item-is-visible img {
	object-fit: contain !important;
	object-position: 50% 50% !important;
}

/* Alianças e demais produtos: mantém 1:1. */
.single-product .ct-product-gallery-container .flexy-view .ct-media-container {
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

/* Compatibilidade com a implementação de ratio do Blocksy que usa
   um elemento .ct-ratio com padding-bottom. */
.single-product .ct-product-gallery-container .flexy-view .ct-media-container > .ct-ratio {
	padding-bottom: 100% !important;
}

/* Noivado: composição horizontal mais compacta (3:2). */
.single-product .product.product_cat-aneis-de-noivado
.ct-product-gallery-container .flexy-view .ct-media-container {
	aspect-ratio: 3 / 2 !important;
}

/* Blocksy clássico / ratio por padding. */
.single-product .product.product_cat-aneis-de-noivado
.ct-product-gallery-container .flexy-view .ct-media-container > .ct-ratio {
	padding-bottom: 66.6666667% !important;
}

/* Garante que slides de variação mantenham a mesma composição. */
.single-product .product.product_cat-aneis-de-noivado
.ct-product-gallery-container .flexy-view .flexy-item {
	min-height: 0 !important;
}

/* Mobile: reforça as mesmas proporções sem alterar thumbnails. */
@media (max-width: 999px) {
	.single-product .ct-product-gallery-container .flexy-view .ct-media-container img,
	.single-product .ct-product-gallery-container .flexy-view .flexy-item img,
	.single-product .ct-product-gallery-container .flexy-view .flexy-item-is-visible img {
		object-fit: contain !important;
		object-position: center center !important;
	}

	.single-product .product.product_cat-aneis-de-noivado
	.ct-product-gallery-container .flexy-view .ct-media-container {
		aspect-ratio: 3 / 2 !important;
	}

	.single-product .product.product_cat-aneis-de-noivado
	.ct-product-gallery-container .flexy-view .ct-media-container > .ct-ratio {
		padding-bottom: 66.6666667% !important;
	}
}

/* === RAVOLLI GALERIA PDP FIT END v1.1.1 === */

/* === RAVOLLI GLOBAL UI START v1.1.0 === */

/*
 * Fonte canônica:
 * - cor primária Ravolli: --wp--preset--color--brand-primary (#060e1e)
 * - display: Lora 400
 * - corpo/interface: Source Serif 4
 *
 * Este bloco faz apenas a ponte visual que Blocksy/Woo precisam no front-end.
 * Variantes próprias de componentes (ex.: carrossel editorial) ficam nos
 * arquivos dos próprios componentes e não são sobrescritas aqui.
 */

/* =========================================================
   TÍTULOS DE PRODUTO — padrão global único
   ========================================================= */

body .woocommerce ul.products li.product .woocommerce-loop-product__title,
body [data-products] .woocommerce-loop-product__title,
body .ravolli-bestsellers .woocommerce-loop-product__title,
body .related.products .woocommerce-loop-product__title,
body .upsells.products .woocommerce-loop-product__title,
body .cross-sells .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--display, Lora, serif) !important;
	font-size: var(--wp--preset--font-size--base, 16px) !important;
	font-weight: 400 !important;
	line-height: var(--wp--custom--ravolli--typography--line-height--product-title, 1.35) !important;
	letter-spacing: 0 !important;
	color: var(--wp--preset--color--brand-primary, #060e1e) !important;
}

/*
 * O Blocksy/Woo pode aplicar a cor no link-pai do card.
 * Fixamos também o link para impedir azul herdado.
 */
body .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body .woocommerce ul.products li.product a.woocommerce-loop-product__link,
body [data-products] li.product a.woocommerce-LoopProduct-link,
body [data-products] li.product a.woocommerce-loop-product__link,
body .ravolli-bestsellers li.product a.woocommerce-LoopProduct-link,
body .ravolli-bestsellers li.product a.woocommerce-loop-product__link {
	color: var(--wp--preset--color--brand-primary, #060e1e) !important;
	text-decoration: none !important;
}

body .woocommerce ul.products li.product a.woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title,
body .woocommerce ul.products li.product a.woocommerce-loop-product__link:hover .woocommerce-loop-product__title,
body [data-products] li.product a:hover .woocommerce-loop-product__title,
body .ravolli-bestsellers li.product a:hover .woocommerce-loop-product__title {
	color: var(--wp--preset--color--brand-primary, #060e1e) !important;
}

/* =========================================================
   BOTÕES / CTAs PÚBLICOS — primário Ravolli

   O tema já recebe os tokens globais em :root. Este bloco existe apenas
   como ponte de compatibilidade para controles públicos de WooCommerce,
   Gutenberg e Blocksy que ainda aplicam estilos próprios no front-end.
   Não alcança CTAs de componentes Ravolli com variante visual própria.
   ========================================================= */

body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body .woocommerce #respond input#submit,
body .woocommerce a.added_to_cart,
body .woocommerce .single_add_to_cart_button,
body .woocommerce a.checkout-button,
body .woocommerce button[name="apply_coupon"],
body .woocommerce button[name="update_cart"],
body .wc-block-components-button:not(.is-link),
body .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
body .wp-element-button:not(.wp-block-button__link),
body a.ct-button,
body .ct-button {
	font-family: var(--wp--preset--font-family--body, 'Source Serif 4', serif) !important;
	font-weight: 600 !important;
	color: #ffffff !important;
	background-color: var(--wp--preset--color--brand-primary, #060e1e) !important;
	border-color: var(--wp--preset--color--brand-primary, #060e1e) !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

body .woocommerce a.button:hover,
body .woocommerce a.button:focus-visible,
body .woocommerce button.button:hover,
body .woocommerce button.button:focus-visible,
body .woocommerce input.button:hover,
body .woocommerce input.button:focus-visible,
body .woocommerce #respond input#submit:hover,
body .woocommerce #respond input#submit:focus-visible,
body .woocommerce a.added_to_cart:hover,
body .woocommerce a.added_to_cart:focus-visible,
body .woocommerce .single_add_to_cart_button:hover,
body .woocommerce .single_add_to_cart_button:focus-visible,
body .woocommerce a.checkout-button:hover,
body .woocommerce a.checkout-button:focus-visible,
body .woocommerce button[name="apply_coupon"]:hover,
body .woocommerce button[name="apply_coupon"]:focus-visible,
body .woocommerce button[name="update_cart"]:hover,
body .woocommerce button[name="update_cart"]:focus-visible,
body .wc-block-components-button:not(.is-link):hover,
body .wc-block-components-button:not(.is-link):focus-visible,
body .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
body .wp-block-button:not(.is-style-outline) > .wp-block-button__link:focus-visible,
body .wp-element-button:not(.wp-block-button__link):hover,
body .wp-element-button:not(.wp-block-button__link):focus-visible,
body a.ct-button:hover,
body a.ct-button:focus-visible,
body .ct-button:hover,
body .ct-button:focus-visible {
	color: #ffffff !important;
	background-color: #111b2d !important;
	border-color: #111b2d !important;
}

/* Variante outline Gutenberg: preserva identidade sem virar botão preenchido. */
body .wp-block-button.is-style-outline > .wp-block-button__link {
	font-family: var(--wp--preset--font-family--body, 'Source Serif 4', serif) !important;
	font-weight: 600 !important;
	background-color: transparent !important;
	color: var(--wp--preset--color--brand-primary, #060e1e) !important;
	border-color: var(--wp--preset--color--brand-primary, #060e1e) !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

body .wp-block-button.is-style-outline > .wp-block-button__link:hover,
body .wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--surface-alt, #f5f4f2) !important;
	color: var(--wp--preset--color--brand-primary, #060e1e) !important;
	border-color: var(--wp--preset--color--brand-primary, #060e1e) !important;
}

/* Mantém botões desabilitados reconhecíveis sem trocar a identidade. */
body .woocommerce button.button:disabled,
body .woocommerce button.button.disabled,
body .woocommerce input.button:disabled,
body .wc-block-components-button:disabled {
	background-color: var(--wp--preset--color--brand-primary, #060e1e) !important;
	border-color: var(--wp--preset--color--brand-primary, #060e1e) !important;
	color: #ffffff !important;
	opacity: 0.45 !important;
}

/* PDP — corrige colisão de classe: o link "Guia de tamanhos" do seletor de
   aro (Ravolli Core MVP, plugin) reaproveita a classe .ravolli-size-guide,
   que aqui no tema é o container de página inteira da Guia de Tamanhos
   (max-width:1180px; margin:0 auto; padding:40px 24px 76px). Isso empurrava
   o link com ~150px de padding/margem e "flutuava" o campo Aro para longe do
   seletor. Escopo restrito ao contexto do formulário de compra (não afeta a
   página /guia-de-tamanhos/). */
.ravolli-mvp-label-row .ravolli-size-guide,
.ravolli-mvp-pair-title .ravolli-size-guide {
	max-width: none;
	margin: 0;
	padding: 0;
}

/* === RAVOLLI GLOBAL UI END v1.1.0 === */

/* Campos de Aro (Noivado/Alianças) — movido do plugin Ravolli Core MVP em 16/09/2026, pendência 3.2 */
.ravolli-mvp-options{margin:20px 0 18px;padding-top:2px}
.ravolli-mvp-field{margin-bottom:14px}
.ravolli-mvp-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px}
.ravolli-mvp-pair-title{margin-bottom:10px}
.ravolli-mvp-field label,.ravolli-mvp-pair-title span{display:block;margin-bottom:8px;font:inherit;color:inherit}
.ravolli-mvp-label-row label{margin-bottom:0}
.ravolli-size-guide{font-size:.875rem;text-decoration:underline;text-underline-offset:2px}
.ravolli-mvp-options select{width:100%;min-height:42px;padding:0 12px;border:1px solid currentColor;background:#fff;color:inherit}
.ravolli-mvp-pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ravolli-mvp-options .required{opacity:.65}
.ravolli-pair-price-note{margin:-4px 0 16px;font-size:.875rem;opacity:.72}
@media (max-width: 767px){.ravolli-mvp-pair-grid{grid-template-columns:1fr}.ravolli-mvp-label-row{align-items:flex-start}}

/* === RAVOLLI CONDIÇÃO COMERCIAL PDP START v1.1.0 === */

/*
 * Preço à vista no Pix (desconto fixo de 5%) e parcelamento em até 10x sem
 * juros, logo abaixo do preço final na PDP — decisão do Ramon (18/09/2026).
 * O cálculo é regra de negócio e vive no Ravolli Core
 * (commercial_conditions_price_html); aqui só a apresentação.
 *
 * Estrutura de conteúdo já registrada no projeto: valor → prova → condição
 * comercial. Por isso o preço principal continua em destaque (herda o
 * display Lora já aplicado a `.price`) e estas duas linhas aparecem
 * menores, sem estilo de "oferta"/selo — ticket alto pede redução de
 * incerteza, não linguagem de varejo.
 *
 * v1.1.0 (18/09/2026, feedback do Ramon): ordem trocada (parcelamento
 * primeiro, Pix depois) e ícone de tag minimalista antes da linha do Pix.
 */

.single-product .price .ravolli-commercial-conditions {
	display: block;
	margin-top: var(--wp--preset--spacing--2xs, 4px);
	font-family: var(--wp--preset--font-family--body, 'Source Serif 4', serif);
	font-size: var(--wp--preset--font-size--sm, 14px);
	font-weight: 400;
	color: var(--wp--preset--color--text-secondary, #737373);
	line-height: 1.5;
}

.single-product .price .ravolli-commercial-conditions > span {
	display: block;
}

.single-product .price .ravolli-commercial-conditions .woocommerce-Price-amount {
	font-weight: 600;
	color: var(--wp--preset--color--brand-primary, #060e1e);
}

/* Linha do Pix: ícone de tag minimalista antes do texto (pedido do Ramon, 18/09/2026). */
.single-product .price .ravolli-commercial-conditions .ravolli-pix-price {
	display: flex;
	align-items: center;
	gap: 5px;
}

.single-product .price .ravolli-commercial-conditions .ravolli-pix-icon {
	flex: 0 0 auto;
	width: 13px;
	height: 13px;
	color: var(--wp--preset--color--accent-gold, #BC9C6D);
}

/* Selo depois do valor do Pix: "[ícone] 5% off" em dourado (pedido da Ana, 24/09/2026).
   O markup é reorganizado em ravolli_pix_badge_price_html() (inc/ravolli-product-card.php). */
.single-product .price .ravolli-commercial-conditions .ravolli-pix-badge {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-weight: 600;
	color: var(--wp--preset--color--accent-gold, #BC9C6D);
	white-space: nowrap;
}

/*
 * PDP de Noivado (24/09/2026): o preço da variação escolhida aparece no topo,
 * no lugar do "A partir de" (ver assets/js/ravolli-pdp-color-swatches.js).
 * O preço que o WooCommerce repete dentro do formulário fica oculto, para a
 * cor do ouro e o tamanho do aro ficarem juntos, sem preço entre eles.
 */
form.variations_form .woocommerce-variation-price {
	display: none;
}

/* === RAVOLLI CONDIÇÃO COMERCIAL PDP END v1.1.0 === */

/* === RAVOLLI — BREADCRUMB START v1.1.0 === */

/*
 * Caminho (Home > Categoria > Coleção > Produto) — breadcrumb nativo do
 * Blocksy (nav.ct-breadcrumbs), mais claro e mais leve para não competir com
 * o título (pedido da Ana, 24/09/2026). Um só visual para os dois lugares
 * onde ele aparece (v1.1.0, 25/09/2026), ambos dentro de .ravolli-breadcrumb:
 * - PDP: acima de galeria + resumo, na largura do container;
 * - páginas de coleção: canto superior esquerdo, acima da listagem.
 * Onde e quando ele é impresso: inc/ravolli-breadcrumbs.php.
 */
.ravolli-breadcrumb {
	--ravolli-breadcrumb-color: #a3a3a3;
	margin-bottom: var(--wp--preset--spacing--md);
}

.ravolli-breadcrumb .ct-breadcrumbs {
	margin: 0;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 400;
	color: var(--ravolli-breadcrumb-color);
}

.ravolli-breadcrumb .ct-breadcrumbs a,
.ravolli-breadcrumb .ct-breadcrumbs span {
	font-weight: 400;
	color: var(--ravolli-breadcrumb-color);
}

.ravolli-breadcrumb .ct-breadcrumbs a:hover,
.ravolli-breadcrumb .ct-breadcrumbs a:focus-visible {
	color: var(--wp--preset--color--brand-primary, #060e1e);
}

/* === RAVOLLI — BREADCRUMB END v1.1.0 === */

/* === RAVOLLI PDP — CORES DE APOIO START v1.0.0 === */

/*
 * Pedido da Ana (24/09/2026): paleta da marca nos elementos de apoio da PDP.
 * - "Não sabe sua medida?" (Ravolli Core) em dourado;
 * - calculadora de frete (plugin Virtuaria Correios): botão "Consultar"
 *   dourado no lugar do verde do plugin; "Não sei meu CEP" em azul-marinho
 *   no lugar do vermelho. Seletores com o #shipping-calc do plugin para
 *   vencer o CSS dele sem !important.
 */
.single-product .ravolli-size-guide,
.single-product .ravolli-size-guide:visited {
	color: var(--wp--preset--color--accent-gold, #BC9C6D);
}

.single-product .ravolli-size-guide:hover,
.single-product .ravolli-size-guide:focus-visible {
	color: var(--wp--preset--color--brand-primary, #060e1e);
}

#shipping-calc #virt-button,
#shipping-calc .virt-button {
	background-color: var(--wp--preset--color--accent-gold, #BC9C6D);
	border-color: var(--wp--preset--color--accent-gold, #BC9C6D);
	color: #fff;
}

#shipping-calc #virt-button:hover,
#shipping-calc #virt-button:focus-visible,
#shipping-calc .virt-button:hover,
#shipping-calc .virt-button:focus-visible {
	background-color: var(--wp--preset--color--brand-primary, #060e1e);
	border-color: var(--wp--preset--color--brand-primary, #060e1e);
	color: #fff;
}

/* Exceção proposital: o plugin Virtuaria Correios usa
   border-color: #8adf9c !important; só !important anula. */
#shipping-calc #virt-postcode,
#shipping-calc #virt-postcode:hover,
#shipping-calc #virt-postcode:focus {
	border-color: var(--wp--preset--color--accent-gold, #BC9C6D) !important;
	box-shadow: none;
	outline: none;
}
#shipping-calc #virt-button:hover { filter: none; }
#shipping-calc .table-calc td:last-child {
	color: var(--wp--preset--color--brand-primary, #060e1e);
}

#shipping-calc a.search-cep,
#shipping-calc a.search-cep:visited {
	color: var(--wp--preset--color--brand-primary, #060e1e);
}

/* === RAVOLLI PDP — CORES DE APOIO END v1.0.0 === */

/* === RAVOLLI PDP — ATRIBUTO OBRIGATÓRIO (COR DO OURO) START v1.0.1 === */

/*
 * "Cor do ouro" é escolha obrigatória (pedido da Ana, 18/09/2026): sem
 * pré-seleção, o cliente precisa decidir antes de adicionar ao carrinho.
 * O asterisco sinaliza isso no rótulo.
 *
 * v1.0.1 (21/09/2026): seletor corrigido. "Cor do ouro" é atributo
 * personalizado (não taxonomia), então o `for` do label é `cor-do-ouro`
 * (verificado no HTML ao vivo), e não `pa_cor-do-ouro`. Mantemos os dois
 * por robustez, caso o atributo venha a virar taxonomia global.
 */

.single-product .variations_form label[for="cor-do-ouro"]::after,
.single-product .variations_form label[for="pa_cor-do-ouro"]::after {
	content: " *";
}

/* === RAVOLLI PDP — ATRIBUTO OBRIGATÓRIO (COR DO OURO) END v1.0.1 === */

/* === RAVOLLI HEADER — ÍCONES START v1.0.0 === */

/*
 * Ícones do header (busca, carrinho, conta, menu hambúrguer) — uma regra só,
 * em qualquer página e dispositivo (pedido da Ana, 25/09/2026):
 * - fundo claro (header normal e sticky): a cor do texto do menu em fundo
 *   claro, rgba(115,115,115,.71) = text-secondary a 71%. O Blocksy define essa
 *   cor direto no Customizer, sem variável; o token abaixo a replica a partir
 *   do theme.json;
 * - fundo escuro (header transparente sobre o hero escuro, como na Home): branco.
 *
 * Feito pelas variáveis do Blocksy (--theme-icon-color e
 * --theme-link-initial-color) no próprio item do header, com a mesma lógica
 * de estados do menu do Customizer: transparente ([data-transparent-row]) e
 * sticky ([data-sticky*="yes"]). O sticky vem depois e é mais específico, então
 * volta ao claro com o header já rolado. O hover continua o do Blocksy
 * (--theme-icon-hover-color / --theme-link-hover-color não são tocadas).
 * O ícone de conta não aparece no mobile (área do cliente: outra entrega).
 */
:root {
	--ravolli-header-icon-on-light: color-mix(in srgb, var(--wp--preset--color--text-secondary) 71%, transparent);
	--ravolli-header-icon-on-dark: #ffffff;
}

[data-header*="type-1"] .ct-header :is(
	[data-id="search"],
	[data-id="trigger"],
	[data-id="cart"] .ct-cart-item,
	[data-id="account"] .ct-account-item
) {
	--theme-icon-color: var(--ravolli-header-icon-on-light);
	--theme-link-initial-color: var(--ravolli-header-icon-on-light);
}

[data-header*="type-1"] .ct-header [data-transparent-row="yes"] :is(
	[data-id="search"],
	[data-id="trigger"],
	[data-id="cart"] .ct-cart-item,
	[data-id="account"] .ct-account-item
) {
	--theme-icon-color: var(--ravolli-header-icon-on-dark);
	--theme-link-initial-color: var(--ravolli-header-icon-on-dark);
}

[data-header*="type-1"] .ct-header [data-sticky*="yes"] [data-transparent-row="yes"] :is(
	[data-id="search"],
	[data-id="trigger"],
	[data-id="cart"] .ct-cart-item,
	[data-id="account"] .ct-account-item
) {
	--theme-icon-color: var(--ravolli-header-icon-on-light);
	--theme-link-initial-color: var(--ravolli-header-icon-on-light);
}

/* === RAVOLLI HEADER — ÍCONES END v1.0.0 === */

/* === RAVOLLI — DÚVIDAS FREQUENTES START v1.0.0 === */

/*
 * Seções de perguntas frequentes da Home (.ravolli-home-faq) e da Sobre
 * (.ravolli-about__faq), blocos wp-block-details (pedido da Ana, 25/09/2026):
 * - a seção inteira, de ponta a ponta da tela, usa o fundo das dobras
 *   alternadas (surface-alt) — o box-shadow + clip-path estende o fundo além
 *   dos 980px do bloco sem mexer no conteúdo da página;
 * - cada pergunta (summary) vira uma faixa (surface-alt-strong), com espaço
 *   entre as perguntas.
 * Só apresentação; o conteúdo continua sendo editado no WordPress.
 *
 * COMPATIBILIDADE: o CSS base da Home vive num <style> dentro do conteúdo da
 * página (fora do Git). Os seletores abaixo levam `body` na frente para vencer
 * esse CSS por especificidade, sem !important. Condição de remoção: quando o
 * <style> da Home migrar para arquivo do tema, mover estas regras para lá.
 */
body .ravolli-home-faq,
body .ravolli-about__faq {
	margin-bottom: 0;
	padding-block: var(--wp--preset--spacing--3xl);
	background: var(--wp--preset--color--surface-alt);
	box-shadow: 0 0 0 100vmax var(--wp--preset--color--surface-alt);
	clip-path: inset(0 -100vmax);
}

body .ravolli-home-faq .wp-block-details,
body .ravolli-about__faq details {
	margin: 0 0 var(--wp--preset--spacing--sm);
	padding: 0;
	border: 0;
}

body .ravolli-home-faq .wp-block-details:last-child,
body .ravolli-about__faq details:last-child {
	margin-bottom: 0;
}

body .ravolli-home-faq summary,
body .ravolli-about__faq summary {
	padding: var(--wp--preset--spacing--md);
	background: var(--wp--preset--color--surface-alt-strong);
}

body .ravolli-home-faq .wp-block-details > p,
body .ravolli-about__faq details > p {
	padding-inline: var(--wp--preset--spacing--md);
}

/* Sobre: o "+"/"−" é desenhado por ::after (ravolli-about.css); acompanha o novo respiro da faixa. */
body .ravolli-about__faq summary {
	padding-right: calc(var(--wp--preset--spacing--md) + 34px);
}

body .ravolli-about__faq summary::after {
	right: var(--wp--preset--spacing--md);
}

/* Home: mesmas margens laterais do resto do site no mobile (o CSS base usa 16px fixos). */
@media (max-width: 767px) {
	body .ravolli-home-faq,
	body .ravolli-home-trust {
		width: calc(100% - 2 * var(--wp--custom--ravolli--layout-reference--gutter-mobile));
	}
}

/* === RAVOLLI — DÚVIDAS FREQUENTES END v1.0.0 === */
