/* ==========================================================================
   Sophi Semijoias — estilos complementares ao theme.json
   Cores: use sempre as variáveis --wp--preset--color--*
   ========================================================================== */
:root {
	--sophi-dourado: var(--wp--preset--color--dourado);
	--sophi-dourado-botao: var(--wp--preset--color--dourado-botao);
	--sophi-dourado-texto: var(--wp--preset--color--dourado-texto);
	--sophi-champagne: var(--wp--preset--color--champagne);
	--sophi-champagne-claro: var(--wp--preset--color--champagne-claro);
	--sophi-marfim: var(--wp--preset--color--marfim);
	--sophi-marfim-escuro: var(--wp--preset--color--marfim-escuro);
	--sophi-marrom: var(--wp--preset--color--marrom);
	--sophi-marrom-suave: var(--wp--preset--color--marrom-suave);
	--sophi-linha: var(--wp--preset--color--linha);
	--sophi-rotulo: 0.6875rem;
	--sophi-ease: cubic-bezier(.2, .7, .2, 1);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.wp-site-blocks > * { margin-block-start: 0; }
.sophi-main { margin-block-start: 0 !important; }
.sophi-home > * { margin-block-start: 0 !important; }
:where(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--sophi-dourado-texto); outline-offset: 3px; }

/* ---------- Ícones (máscara SVG, herdam a cor do texto) ---------- */
.sophi-icon::before {
	content: "";
	display: inline-block;
	width: 1.6rem; height: 1.6rem;
	background-color: currentColor;
	-webkit-mask: var(--sophi-icon) center / contain no-repeat;
	        mask: var(--sophi-icon) center / contain no-repeat;
}
p.sophi-icon { position: relative; padding-left: 2.6rem; }
p.sophi-icon::before { position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
a.sophi-icon { display: inline-grid; place-items: center; width: 40px; height: 40px; color: inherit; }
a.sophi-icon::before { width: 22px; height: 22px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* ---------- Estilos de bloco ---------- */
.is-style-sobretitulo {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--sophi-rotulo) !important;
	font-weight: 500;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--sophi-marrom-suave);
	margin-bottom: .25rem !important;
}
hr.is-style-filete-dourado {
	width: 44px !important; max-width: 44px; height: 0;
	border: 0; border-top: 1px solid var(--sophi-dourado) !important;
	background: none !important;
	margin: .9rem auto 0 !important;
	opacity: 1;
}
.wp-block-image.is-style-circulo img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.wp-block-button.is-style-contorno .wp-block-button__link {
	background: transparent; color: var(--sophi-marrom); box-shadow: inset 0 0 0 1px currentColor;
}
.wp-block-button.is-style-contorno .wp-block-button__link:hover { background: var(--sophi-marrom); color: #fff; }
.wp-block-button.is-style-seta .wp-block-button__link { background: none; color: var(--sophi-marrom); padding: 0 0 .35rem; border-bottom: 1px solid var(--sophi-dourado); }
.wp-block-button.is-style-seta .wp-block-button__link::after,
.sophi-btn-seta .wp-block-button__link::after,
.sophi-ver-todos a::after { content: "→"; margin-left: .7em; font-weight: 400; letter-spacing: 0; display: inline-block; transition: transform .3s var(--sophi-ease); }
.sophi-btn-seta .wp-block-button__link:hover::after,
.sophi-ver-todos a:hover::after { transform: translateX(4px); }
.wp-element-button, .wp-block-button__link { transition: background-color .3s var(--sophi-ease), color .3s var(--sophi-ease); }

/* ---------- Barra superior ---------- */
.sophi-topbar { font-size: 0.6875rem; line-height: 1.35; }
.sophi-topbar__itens { gap: .5rem 2rem; }
.sophi-topbar p { margin: 0; color: var(--sophi-champagne); }
.sophi-topbar strong { color: var(--sophi-marfim); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .66rem; }
.sophi-topbar .sophi-icon::before { color: var(--sophi-dourado); width: 1.4rem; height: 1.4rem; }
.sophi-topbar p.sophi-icon { padding-left: 2.2rem; }

/* ---------- Cabeçalho ---------- */
.sophi-site-header { position: relative; z-index: 50; }
.sophi-header { border-bottom: 1px solid var(--sophi-linha); }
.sophi-header__barra {
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
	gap: 1.5rem; padding-block: 1rem;
}
.sophi-header__barra > * { margin: 0 !important; }
/* Blocos que o WooCommerce injeta ao lado do menu: já existem no grupo de ações. */
.sophi-header__barra > .wp-block-woocommerce-customer-account,
.sophi-header__barra > .wp-block-woocommerce-mini-cart,
.sophi-nav + .wp-block-woocommerce-customer-account,
.sophi-nav + .wp-block-woocommerce-mini-cart { display: none !important; }
.sophi-logo { margin: 0 !important; }
.sophi-logo img { display: block; height: auto; max-width: 200px; }
.sophi-nav { gap: 2.25rem; }
.sophi-nav .wp-block-navigation-item__content { padding-block: .35rem; border-bottom: 1px solid transparent; transition: border-color .3s; color: var(--sophi-marrom); }
.sophi-nav .wp-block-navigation-item__content:hover,
.sophi-nav .current-menu-item > .wp-block-navigation-item__content { border-color: var(--sophi-dourado); }
.sophi-nav .wp-block-navigation__submenu-container {
	background: var(--sophi-marfim) !important; border: 1px solid var(--sophi-linha) !important;
	padding: .75rem 0 !important; min-width: 210px !important; box-shadow: 0 18px 40px -18px rgba(63,47,37,.28);
}
.sophi-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.25rem; border: 0; }
.sophi-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--sophi-dourado-texto); }
.sophi-header__acoes { gap: .5rem; }
.sophi-header__acoes > * { margin: 0 !important; }
.sophi-busca { width: 100%; max-width: 230px; }
.sophi-busca .wp-block-search__inside-wrapper {
	border: 1px solid var(--sophi-linha) !important; border-radius: 999px; padding: 2px 4px 2px 14px !important;
	background: var(--sophi-marfim-escuro);
}
.sophi-busca .wp-block-search__input { border: 0; background: transparent; font-size: .75rem; padding: .45rem 0; color: var(--sophi-marrom); }
.sophi-busca .wp-block-search__input::placeholder { color: var(--sophi-marrom-suave); }
.sophi-busca .wp-block-search__button { background: transparent !important; color: var(--sophi-marrom) !important; padding: .35rem !important; margin: 0; }
.sophi-busca .wp-block-search__button svg { width: 18px; height: 18px; }
.sophi-conta a, .sophi-favoritos a, .sophi-sacola .wc-block-mini-cart__button { color: var(--sophi-marrom) !important; }
.sophi-conta svg, .sophi-sacola svg { width: 22px; height: 22px; }
.sophi-favoritos { margin: 0; }
.sophi-sacola .wc-block-mini-cart__badge { background: var(--sophi-dourado-botao) !important; color: #fff !important; border: 0; font-size: .6rem; }
@media (max-width: 960px) {
	.sophi-busca { display: none; }
	.sophi-header__barra { grid-template-columns: auto 1fr auto; }
	.sophi-logo { justify-self: center; }
	.sophi-logo img { max-width: 150px; }
	.sophi-topbar__itens { justify-content: center !important; }
}
@media (max-width: 600px) {
	.sophi-topbar__itens > :not(:first-child) { display: none; }
	.sophi-favoritos { display: none; }
}

/* ---------- Seções e títulos ---------- */
.sophi-secao { padding-block: var(--wp--preset--spacing--50); }
.sophi-secao-titulo { position: relative; margin-bottom: var(--wp--preset--spacing--40); }
.sophi-secao-titulo h2 { margin-top: 0 !important; }
.sophi-ver-todos {
	position: absolute; right: 0; bottom: 1.3rem; margin: 0 !important;
	font-size: var(--sophi-rotulo); font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
}
.sophi-ver-todos a { color: var(--sophi-marrom); }
.sophi-ver-todos a:hover { color: var(--sophi-dourado-texto); }
@media (max-width: 782px) { .sophi-ver-todos { position: static; text-align: center; margin-top: 1rem !important; } }

/* ---------- Hero ---------- */
.sophi-hero { min-height: clamp(460px, 62vh, 620px) !important; padding-left: clamp(1.25rem, 5vw, 4rem) !important; padding-right: clamp(1.25rem, 5vw, 4rem) !important; }
.sophi-hero .wp-block-cover__inner-container { width: 100%; }
.sophi-hero__texto { max-width: 520px; margin-left: 0 !important; }
.sophi-hero__sobre { font-size: .95rem !important; letter-spacing: .42em; color: var(--sophi-marrom) !important; margin-bottom: 0 !important; padding-left: .3rem; }
.sophi-hero__titulo {
	font-size: var(--wp--preset--font-size--hero) !important; line-height: .92 !important; letter-spacing: -.02em !important;
	margin: .1em 0 .3em !important; color: var(--sophi-dourado);
	background: linear-gradient(120deg, #C9A066 0%, #A87B3F 45%, #8A6431 100%);
	-webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.sophi-hero__texto-apoio { color: var(--sophi-marrom) !important; font-size: .95rem; line-height: 1.7; margin-bottom: 1.75rem !important; }
@media (max-width: 782px) {
	.sophi-hero { align-items: flex-end !important; padding-top: 88vw !important; padding-bottom: 2.5rem !important; min-height: 0 !important; background: var(--sophi-champagne-claro); }
	.sophi-hero .wp-block-cover__image-background { height: 100vw !important; bottom: auto !important; object-position: 78% 20% !important; }
	.sophi-hero::after { content: ""; position: absolute; left: 0; right: 0; top: 55vw; height: 46vw; background: linear-gradient(180deg, rgba(239,229,214,0) 0%, var(--sophi-champagne-claro) 92%); }
	.sophi-hero .wp-block-cover__inner-container { position: relative; z-index: 2; }
	.sophi-hero__titulo { font-size: 3.4rem !important; }
}

/* ---------- Faixa de benefícios ---------- */
.sophi-beneficios { padding-block: 1.6rem; border-bottom: 1px solid var(--sophi-linha); }
.sophi-beneficios__itens { gap: 1.25rem 1.5rem; }
.sophi-beneficios p { margin: 0; font-size: .72rem; line-height: 1.45; color: var(--sophi-marrom-suave); }
.sophi-beneficios strong { display: inline-block; color: var(--sophi-marrom); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .66rem; }
.sophi-beneficios .sophi-icon::before { color: var(--sophi-marrom); width: 1.7rem; height: 1.7rem; }
.sophi-beneficios p.sophi-icon { padding-left: 2.75rem; }
@media (max-width: 782px) {
	.sophi-beneficios__itens { display: grid !important; grid-template-columns: 1fr 1fr; }
}

/* ---------- Categorias ---------- */
.sophi-categorias__grade { gap: 1.5rem !important; }
.sophi-categoria { gap: .9rem !important; }
.sophi-categoria .wp-block-image { margin: 0; width: 100%; }
.sophi-categoria .wp-block-image a { display: block; border-radius: 50%; overflow: hidden; }
.sophi-categoria .wp-block-image img { width: 100%; transition: transform .6s var(--sophi-ease); }
.sophi-categoria:hover .wp-block-image img { transform: scale(1.06); }
.sophi-categoria__nome { margin: 0 !important; font-size: .9rem; font-weight: 500; }
.sophi-categoria__nome a { color: var(--sophi-marrom); }
.sophi-categoria__nome a:hover { color: var(--sophi-dourado-texto); }
@media (min-width: 783px) {
	.sophi-categorias__grade { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
	.sophi-valores__itens { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
	.sophi-produtos .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.75rem .9rem !important; }
	.sophi-produtos .wc-block-product-template > li { width: auto !important; max-width: none !important; }
}
@media (max-width: 782px) {
	.sophi-categorias__grade { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .5rem; }
	.sophi-categoria { flex: 0 0 34%; scroll-snap-align: start; }
}

/* ---------- Banners com foto (coleção e sobre) ---------- */
.sophi-colecao, .sophi-sobre { min-height: 420px; }
.sophi-colecao .wp-block-media-text__content,
.sophi-sobre .wp-block-media-text__content { padding: var(--wp--preset--spacing--50) clamp(1.5rem, 6vw, 6rem) !important; }
.sophi-media-titulo { font-size: clamp(2.75rem, 5vw, 4.25rem) !important; line-height: 1 !important; margin: .1em 0 .35em !important; }
.sophi-colecao p:not(.is-style-sobretitulo) { max-width: 30ch; color: var(--sophi-marrom); }
.sophi-sobre { color: var(--sophi-marfim); }
.sophi-sobre .sophi-media-titulo { color: var(--sophi-marfim); }
.sophi-sobre .sophi-media-titulo em { font-style: italic; }
.sophi-sobre .is-style-sobretitulo { color: var(--sophi-champagne); }
.sophi-sobre p:not(.is-style-sobretitulo) { color: var(--sophi-champagne); max-width: 46ch; font-size: .9rem; }
.sophi-sobre .wp-block-media-text__media { order: 0; }
@media (min-width: 601px) {
	.sophi-sobre { grid-template-columns: 55% auto !important; }
}

/* ---------- Valores ---------- */
.sophi-valores { padding-block: var(--wp--preset--spacing--50); }
.sophi-valores__itens { gap: 0 !important; }
.sophi-valores__itens p.sophi-icon {
	padding: 3.5rem 1rem .25rem; margin: 0;
	font-size: .66rem; line-height: 1.7; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--sophi-marrom);
}
.sophi-valores__itens p.sophi-icon::before { left: 50%; top: 0; transform: translateX(-50%); width: 2.2rem; height: 2.2rem; color: var(--sophi-dourado); }
.sophi-valores__itens p + p { border-left: 1px solid var(--sophi-linha); }
@media (max-width: 782px) {
	.sophi-valores__itens { grid-template-columns: 1fr 1fr !important; row-gap: 2rem !important; }
	.sophi-valores__itens p + p { border-left: 0; }
}

/* ---------- Cards de produto (blocos) ---------- */
.sophi-produtos .wc-block-product-template { gap: 1.5rem !important; }
.sophi-produtos .wc-block-product { text-align: left; display: flex; flex-direction: column; gap: .2rem; }
.sophi-produtos .wc-block-components-product-image { margin-bottom: .75rem !important; overflow: hidden; background: var(--sophi-champagne-claro); }
.sophi-produtos .wc-block-components-product-image img { transition: transform .6s var(--sophi-ease); }
.sophi-produtos .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.04); }
.sophi-produtos .sophi-produto-nome, .sophi-produtos .wp-block-post-title {
	font-family: var(--wp--preset--font-family--sans) !important; font-size: .82rem !important; font-weight: 600; line-height: 1.4; margin: 0 !important; text-align: left;
}
.sophi-produtos .wp-block-post-title a { color: var(--sophi-marrom); }
.sophi-produtos .wc-block-components-product-price { font-size: .8rem !important; color: var(--sophi-marrom-suave); text-align: left !important; margin: 0 !important; }
.sophi-produtos .wc-block-components-product-rating { margin: 0 !important; justify-content: flex-start; }
.sophi-produtos .wc-block-components-product-rating__stars { color: var(--sophi-dourado); font-size: .72rem; }
.sophi-produtos .wp-block-button.wc-block-components-product-button { margin-top: auto !important; padding-top: .75rem; }
.sophi-produtos .wc-block-components-product-button .wp-block-button__link { width: 100%; padding: .8rem 1rem; }

/* Selos */
.wc-block-components-product-sale-badge, .woocommerce span.onsale {
	background: var(--sophi-marrom) !important; color: var(--sophi-marfim) !important; border: 0 !important; border-radius: 999px !important;
	font-size: .6rem !important; font-weight: 600 !important; letter-spacing: .18em; text-transform: uppercase;
	padding: .3rem .8rem !important; min-height: 0 !important; min-width: 0 !important; line-height: 1.4 !important; margin: .75rem !important;
}

/* Parcelamento e Pix (inseridos pelo tema abaixo do preço) */
.sophi-condicoes { display: block; }
.sophi-parcelas { display: block; font-size: .72rem; color: var(--sophi-marrom-suave); font-weight: 400; }
.sophi-pix { display: block; margin-top: .35rem; font-size: .82rem; color: var(--sophi-marrom); }
.sophi-pix strong { color: var(--sophi-dourado-texto); font-weight: 600; }
del, del .amount { color: var(--sophi-marrom-suave); opacity: .8; }
ins { text-decoration: none; }

/* ---------- Loja (templates do WooCommerce) ---------- */
.sophi-loja { padding-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60); }
.woocommerce .woocommerce-breadcrumb { font-size: .72rem; letter-spacing: .08em; color: var(--sophi-marrom-suave); margin-bottom: 1.5rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--sophi-marrom-suave); }
.woocommerce-products-header__title.page-title { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: var(--wp--preset--font-size--x-large); text-align: center; margin: 0 0 1rem; }
.woocommerce .term-description { text-align: center; max-width: 60ch; margin: 0 auto 2rem; color: var(--sophi-marrom-suave); }
.woocommerce .woocommerce-result-count { font-size: .75rem; color: var(--sophi-marrom-suave); }
.woocommerce .woocommerce-ordering select { border: 1px solid var(--sophi-linha); background: var(--sophi-marfim); padding: .55rem 2rem .55rem .9rem; font: inherit; font-size: .78rem; color: var(--sophi-marrom); border-radius: 0; }

.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.25rem 1.5rem; margin: 0 0 2rem !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; text-align: left; }
.woocommerce ul.products li.product a img { aspect-ratio: 4 / 5; object-fit: cover; background: var(--sophi-champagne-claro); margin-bottom: .9rem !important; transition: transform .6s var(--sophi-ease); }
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: block; overflow: hidden; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--wp--preset--font-family--sans); font-size: .85rem !important; font-weight: 600; color: var(--sophi-marrom); padding: 0 !important; margin: 0 0 .2rem !important; }
.woocommerce ul.products li.product .price { color: var(--sophi-marrom-suave) !important; font-size: .82rem !important; margin-bottom: .25rem !important; }
.woocommerce ul.products li.product .star-rating { font-size: .7rem; margin: .25rem 0 0 !important; }
.woocommerce ul.products li.product .button { margin-top: auto !important; width: 100%; box-sizing: border-box; text-align: center; }
.woocommerce ul.products li.product > .button { margin-top: .9rem !important; }
@media (max-width: 1024px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 680px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem .9rem; } }

.woocommerce .star-rating span::before, .woocommerce .star-rating::before { color: var(--sophi-dourado); }
.woocommerce .star-rating::before { opacity: .35; }

/* Botões clássicos */
.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(--sophi-dourado-botao) !important; color: #fff !important; border-radius: 0 !important; border: 0 !important;
	font-family: var(--wp--preset--font-family--sans); font-size: var(--sophi-rotulo) !important; font-weight: 600 !important;
	letter-spacing: .22em; text-transform: uppercase; padding: 1rem 1.6rem !important; line-height: 1.4 !important;
	transition: background-color .3s var(--sophi-ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--sophi-marrom) !important; }
.woocommerce a.added_to_cart { display: block; font-size: .72rem; margin-top: .5rem; text-align: center; color: var(--sophi-dourado-texto); }

/* Paginação */
.woocommerce nav.woocommerce-pagination ul { border: 0 !important; display: flex; justify-content: center; gap: .4rem; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	width: 2.4rem; height: 2.4rem; display: grid !important; place-items: center; padding: 0 !important;
	border: 1px solid var(--sophi-linha); color: var(--sophi-marrom); font-size: .8rem;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--sophi-marrom) !important; color: var(--sophi-marfim) !important; border-color: var(--sophi-marrom); }

/* Página do produto — leve: galeria sobre painel claro, compra num card branco arredondado */
.sophi-produto { --sophi-raio: 22px; }
.sophi-produto .woocommerce-breadcrumb { margin-bottom: 1rem; }
.sophi-produto div.product {
	box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 2rem clamp(1.5rem, 3vw, 2.5rem); align-items: start;
	background: var(--sophi-marfim-escuro); border-radius: var(--sophi-raio); padding: clamp(1rem, 2.5vw, 2rem);
}
.sophi-produto div.product > * { grid-column: 1 / -1; }
.sophi-produto div.product > .woocommerce-product-gallery { grid-column: 1; width: 100% !important; float: none !important; margin: 0 !important; position: relative; }
.sophi-produto div.product > .summary {
	grid-column: 2; width: 100% !important; float: none !important; margin: 0 !important;
	box-sizing: border-box; background: #fff; border-radius: var(--sophi-raio); padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.5rem, 3vw, 2.25rem) 0; overflow: hidden;
	box-shadow: 0 18px 40px -24px rgba(63,47,37,.25);
}
.sophi-produto div.product > span.onsale { grid-column: 1; grid-row: 1; z-index: 3; align-self: start; justify-self: start; position: relative; margin: 1rem !important; }
.sophi-produto .woocommerce-product-gallery__wrapper { margin: 0; }
.sophi-produto .woocommerce-product-gallery__image { border-radius: calc(var(--sophi-raio) - 6px); overflow: hidden; background: #fff; }
.sophi-produto .woocommerce-product-gallery__image img { width: 100%; height: auto; max-height: 560px; object-fit: contain; display: block; }
.sophi-produto .woocommerce-product-gallery__trigger { top: .9rem !important; right: .9rem !important; background: #fff !important; border-radius: 50%; box-shadow: 0 2px 8px rgba(63,47,37,.15); }
.sophi-produto .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: .6rem; margin-top: .75rem !important; }
.sophi-produto .flex-control-thumbs li { width: auto !important; }
.sophi-produto .flex-control-thumbs img { border-radius: 10px; opacity: .55; transition: opacity .3s; }
.sophi-produto .flex-control-thumbs img.flex-active, .sophi-produto .flex-control-thumbs img:hover { opacity: 1; }

.sophi-produto .sophi-produto-sobre { font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--sophi-dourado-texto); margin: 0 0 .5rem; font-weight: 500; }
.sophi-produto .product_title { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.1; margin: 0 0 1.25rem !important; padding-bottom: 1.1rem !important; border-bottom: 1px solid var(--sophi-linha); }
.sophi-produto .summary .price { font-size: 1.6rem !important; color: var(--sophi-marrom) !important; font-weight: 500; margin: 0 0 1.25rem !important; display: block; }
.sophi-produto .summary .price del { font-size: .9rem; margin-right: .4rem; }
.sophi-produto .summary .price .sophi-parcelas { font-size: .85rem; margin-top: .35rem; }
.sophi-produto .summary .price .sophi-pix { display: inline-block; margin-top: .6rem; padding: .35rem .75rem; border-radius: 999px; background: var(--sophi-champagne-claro); font-size: .8rem; }
.sophi-produto .woocommerce-product-details__short-description { color: var(--sophi-marrom-suave); font-size: .9rem; line-height: 1.7; padding: 1rem 0; border-top: 1px solid var(--sophi-linha); margin-bottom: .5rem; }
.sophi-produto .stock { font-size: .78rem; color: var(--sophi-marrom-suave) !important; margin: 0 0 .9rem; }
.sophi-produto .stock.out-of-stock { color: #8a3b2e !important; }

.sophi-produto form.cart { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: center; margin-bottom: 1.25rem !important; }
.sophi-produto form.cart::before, .sophi-produto form.cart::after { display: none !important; }
.sophi-produto form.cart .quantity { margin: 0 !important; float: none !important; }
.sophi-produto form.cart .single_add_to_cart_button { width: 100%; float: none !important; border-radius: 999px !important; padding: 1.1rem 1.5rem !important; background: var(--sophi-marrom) !important; letter-spacing: .16em; font-size: .75rem !important; white-space: nowrap; }
.sophi-produto form.cart .single_add_to_cart_button:hover { background: var(--sophi-dourado-botao) !important; }
.sophi-produto form.variations_form { display: block; }
.sophi-produto .variations { margin-bottom: 1rem !important; }
.sophi-produto .variations th.label { font-size: var(--sophi-rotulo); letter-spacing: .2em; text-transform: uppercase; font-weight: 600; padding-right: 1rem; }
.sophi-produto .variations select { border: 1px solid var(--sophi-linha); background: #fff; padding: .7rem 1rem; min-width: 200px; font: inherit; font-size: .85rem; border-radius: 999px; }
.sophi-produto .single_variation_wrap .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: auto 1fr; gap: .75rem; }

/* Quantidade em pílula com − e + */
.sophi-qtd { display: inline-flex; align-items: center; border: 1px solid var(--sophi-linha); border-radius: 999px; background: #fff; height: 3.2rem; }
.sophi-qtd button { width: 2.6rem; height: 100%; border: 0; background: none; font-size: 1.2rem; color: var(--sophi-marrom); cursor: pointer; border-radius: 999px; }
.sophi-qtd button:hover { color: var(--sophi-dourado-texto); }
.woocommerce .sophi-qtd input.qty { width: 2.4rem; min-height: 0; height: 100%; border: 0 !important; background: none; text-align: center; font: inherit; -moz-appearance: textfield; }
.sophi-qtd .qty::-webkit-outer-spin-button, .sophi-qtd .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce .quantity .qty { border: 1px solid var(--sophi-linha); background: #fff; font: inherit; text-align: center; }

/* Selos de confiança e cartões de ajuda */
.sophi-selos { list-style: none; padding: 0; margin: 0 0 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.sophi-selos li { font-size: .72rem; padding: .4rem .8rem; border-radius: 999px; border: 1px solid var(--sophi-linha); color: var(--sophi-marrom-suave); }
.sophi-ajuda { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--sophi-linha); margin: 0 calc(-1 * clamp(1.5rem, 3vw, 2.25rem)); }
.sophi-ajuda a { display: grid; width: auto; height: auto; grid-template-columns: auto 1fr; gap: .75rem; align-items: center; padding: 1.1rem clamp(1rem, 2vw, 1.5rem); color: var(--sophi-marrom); }
.sophi-ajuda a + a { border-left: 1px solid var(--sophi-linha); }
.sophi-ajuda a:hover { background: var(--sophi-marfim); }
.sophi-ajuda a::before { width: 1.7rem; height: 1.7rem; color: var(--sophi-dourado-texto); }
.sophi-ajuda strong { display: block; font-size: .82rem; font-weight: 600; }
.sophi-ajuda small { display: block; font-size: .72rem; color: var(--sophi-marrom-suave); line-height: 1.4; }
.sophi-produto .product_meta { display: none; }

/* Detalhes da peça: card branco largo */
.sophi-produto .woocommerce-tabs { grid-column: 1 / -1; background: #fff; border-radius: var(--sophi-raio); padding: clamp(1.5rem, 4vw, 3.5rem) clamp(1.25rem, 6vw, 5.5rem); margin-top: .5rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; justify-content: flex-start; gap: 2rem; padding: 0 !important; margin: 0 0 1.75rem !important; border-bottom: 1px solid var(--sophi-linha); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .9rem 0 !important; font-size: var(--sophi-rotulo); font-weight: 600 !important; letter-spacing: .22em; text-transform: uppercase; color: var(--sophi-marrom-suave) !important; border-bottom: 1px solid transparent; margin-bottom: -1px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--sophi-marrom) !important; border-color: var(--sophi-dourado); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 760px; margin: 0; color: var(--sophi-marrom-suave); font-size: .95rem; line-height: 1.75; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: clamp(1.6rem, 3vw, 2.2rem); color: var(--sophi-marrom); margin: 0 0 1rem; }
.woocommerce div.product .woocommerce-tabs .panel strong { color: var(--sophi-marrom); }
.sophi-produto .related, .sophi-produto .upsells { grid-column: 1 / -1; }
.sophi-produto .related > h2, .sophi-produto .upsells > h2, .woocommerce .cross-sells > h2 { font-family: var(--wp--preset--font-family--display); font-weight: 400; text-align: center; font-size: var(--wp--preset--font-size--x-large); margin: 2.5rem 0 2rem; }

/* Barra de compra fixa no rodapé (aparece ao rolar) */
.sophi-barra-compra {
	position: fixed; left: 50%; bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); z-index: 60;
	width: min(920px, calc(100% - 2rem)); transform: translate(-50%, 140%);
	display: flex; align-items: center; gap: 1rem; padding: .6rem .6rem .6rem .75rem;
	background: #fff; border-radius: 999px; box-shadow: 0 16px 40px -12px rgba(63,47,37,.35);
	transition: transform .35s var(--sophi-ease);
}
.sophi-barra-compra.is-visivel { transform: translate(-50%, 0); }
.sophi-barra-compra img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: var(--sophi-marfim); }
.sophi-barra-compra__nome { flex: 1; min-width: 0; font-size: .85rem; font-weight: 500; color: var(--sophi-marrom); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sophi-barra-compra__preco { font-size: .85rem; color: var(--sophi-marrom-suave); white-space: nowrap; }
.sophi-barra-compra button { border: 0; border-radius: 999px; background: var(--sophi-marrom); color: #fff; padding: .85rem 1.75rem; font: inherit; font-size: .7rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; cursor: pointer; }
.sophi-barra-compra button:hover { background: var(--sophi-dourado-botao); }

@media (max-width: 860px) {
	.sophi-produto div.product { grid-template-columns: 1fr; padding: .75rem; }
	.sophi-produto div.product > .summary { grid-column: 1; }
	.sophi-ajuda { grid-template-columns: 1fr; }
	.sophi-ajuda a + a { border-left: 0; border-top: 1px solid var(--sophi-linha); }
	.sophi-barra-compra__preco { display: none; }
}
@media (prefers-reduced-motion: reduce) { .sophi-barra-compra { transition: none; } }

/* Avisos */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	background: var(--sophi-champagne-claro) !important; border: 0 !important; border-left: 2px solid var(--sophi-dourado) !important; color: var(--sophi-marrom) !important; border-radius: 0 !important; font-size: .85rem;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--sophi-dourado-texto) !important; }
.woocommerce-error { border-left-color: #8a3b2e !important; }

/* Carrinho, checkout e minha conta (blocos) */
.wc-block-cart, .wc-block-checkout, .woocommerce-account .woocommerce { font-size: .9rem; }
.wc-block-components-button:not(.is-link) { background: var(--sophi-dourado-botao) !important; color: #fff !important; border-radius: 0 !important; text-transform: uppercase; letter-spacing: .2em; font-size: var(--sophi-rotulo) !important; font-weight: 600 !important; min-height: 3.25rem; }
.wc-block-components-button:not(.is-link):hover { background: var(--sophi-marrom) !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select { border-radius: 0 !important; border-color: var(--sophi-linha) !important; background: #fff !important; }
.wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-weight: 500; }
.wc-block-mini-cart__drawer .components-modal__content { background: var(--sophi-marfim); }
.wc-block-mini-cart__title { font-family: var(--wp--preset--font-family--display); font-weight: 400; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; border-top: 1px solid var(--sophi-linha); }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--sophi-linha); }
.woocommerce-MyAccount-navigation li a { display: block; padding: .8rem 0; color: var(--sophi-marrom); font-size: .8rem; letter-spacing: .08em; }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--sophi-dourado-texto); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid var(--sophi-linha); border-radius: 0; background: #fff; padding: .75rem .9rem; }

/* ---------- Páginas internas ---------- */
.sophi-pagina { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.sophi-pagina-titulo { margin-bottom: var(--wp--preset--spacing--40) !important; }
.sophi-404 { text-align: center; }
.sophi-busca-404 { max-width: 420px; margin-inline: auto !important; }

/* ---------- Rodapé ---------- */
.sophi-rodape { font-size: .85rem; }
.sophi-rodape a { color: var(--sophi-champagne); }
.sophi-rodape a:hover { color: var(--sophi-marfim); }
.sophi-rodape .is-style-sobretitulo { color: var(--sophi-dourado); }
.sophi-rodape__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; font-size: .82rem; }
.sophi-rodape__social { display: flex; gap: .25rem; margin-left: -.5rem; }
.sophi-rodape__social a { color: var(--sophi-dourado); }
.sophi-rodape__pagamento { color: var(--sophi-champagne); opacity: .8; }
hr.sophi-rodape__linha { width: 100%; max-width: none !important; border: 0; border-top: 1px solid rgba(217,195,163,.2) !important; margin-top: var(--wp--preset--spacing--40) !important; opacity: 1; }
.sophi-rodape__copy { opacity: .75; font-size: .72rem !important; letter-spacing: .04em; }

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Biblioteca de ícones ---------- */
.sophi-icon--caminhao{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2 6h12v10H2zM14 9h4.5L22 12.5V16h-8z%22/%3E%3Ccircle cx=%226%22 cy=%2217.5%22 r=%221.8%22/%3E%3Ccircle cx=%2218%22 cy=%2217.5%22 r=%221.8%22/%3E%3C/svg%3E");}
.sophi-icon--cartao{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222.5%22 y=%225%22 width=%2219%22 height=%2214%22 rx=%221.5%22/%3E%3Cpath d=%22M2.5 9.5h19M6 15h4%22/%3E%3C/svg%3E");}
.sophi-icon--presente{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223.5%22 y=%229%22 width=%2217%22 height=%2211.5%22/%3E%3Cpath d=%22M2.5 9h19M12 9v11.5M12 9c-2-5-7.5-4-4.5-.3M12 9c2-5 7.5-4 4.5-.3%22/%3E%3C/svg%3E");}
.sophi-icon--diamante{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6.5 4h11L21.5 9 12 20.5 2.5 9z%22/%3E%3Cpath d=%22M2.5 9h19M9 4l-1.5 5L12 20.5 16.5 9 15 4%22/%3E%3C/svg%3E");}
.sophi-icon--escudo{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2.5l8 3v6c0 5-3.5 8.6-8 10-4.5-1.4-8-5-8-10v-6z%22/%3E%3Cpath d=%22M8.5 12l2.5 2.5 4.5-5%22/%3E%3C/svg%3E");}
.sophi-icon--atendimento{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 13v-1a8 8 0 0 1 16 0v1%22/%3E%3Crect x=%222.8%22 y=%2212.5%22 width=%223.7%22 height=%226%22 rx=%221.2%22/%3E%3Crect x=%2217.5%22 y=%2212.5%22 width=%223.7%22 height=%226%22 rx=%221.2%22/%3E%3Cpath d=%22M19.5 18.5c0 2-2 3-5 3h-1.5%22/%3E%3C/svg%3E");}
.sophi-icon--coracao{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20.5s-8.5-5.1-8.5-11.3A4.8 4.8 0 0 1 12 6.6a4.8 4.8 0 0 1 8.5 2.6c0 6.2-8.5 11.3-8.5 11.3z%22/%3E%3C/svg%3E");}
.sophi-icon--brilho{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2.5c.8 5.2 3.3 7.7 8.5 8.5-5.2.8-7.7 3.3-8.5 8.5-.8-5.2-3.3-7.7-8.5-8.5 5.2-.8 7.7-3.3 8.5-8.5z%22/%3E%3C/svg%3E");}
.sophi-icon--mulher{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%228.5%22 r=%224.2%22/%3E%3Cpath d=%22M7.8 8.5c0 4-1.5 6-3 7M16.2 8.5c0 4 1.5 6 3 7M5 21c1.5-3.4 4-5 7-5s5.5 1.6 7 5%22/%3E%3C/svg%3E");}
.sophi-icon--pix{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 2.8l9.2 9.2-9.2 9.2L2.8 12z%22/%3E%3Cpath d=%22M7.5 7.3l3 3a2.1 2.1 0 0 0 3 0l3-3M7.5 16.7l3-3a2.1 2.1 0 0 1 3 0l3 3%22/%3E%3C/svg%3E");}
.sophi-icon--seta{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 12h15M14 7l5 5-5 5%22/%3E%3C/svg%3E");}
.sophi-icon--instagram{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%223%22 width=%2218%22 height=%2218%22 rx=%225%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%224%22/%3E%3Ccircle cx=%2217.3%22 cy=%226.7%22 r=%22.6%22/%3E%3C/svg%3E");}
.sophi-icon--whatsapp{--sophi-icon:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.3%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 20l1.2-3.8A8.5 8.5 0 1 1 8 19z%22/%3E%3Cpath d=%22M9 8.5c0 3.5 3 6.5 6.5 6.5l1-1.6-2-1-1 .9c-1-.4-2.4-1.8-2.8-2.8l.9-1-1-2z%22/%3E%3C/svg%3E");}