/*
Theme Name: RickFarma
Theme URI: https://rickfarma.com
Author: Flash Sites Digital
Description: Tema WooCommerce da RICKFARMA – farmácia em Ciudad del Este (Paraguai). Vitrine bilíngue (PT/ES), preços em dólar com referência em reais e guaranis, retirada em loja.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
WC requires at least: 9.0
Text Domain: rickfarma
*/

/* ==========================================================================
   Tokens
   ========================================================================== */
:root {
	--rf-primary: #0049fd;
	--rf-primary-deep: #0035c2;
	--rf-ink: #111827;
	--rf-ink-2: #374151;
	--rf-ink-soft: #6b7280;
	--rf-ink-mute: #9ca3af;
	--rf-line: #e5e7eb;
	--rf-line-strong: #d1d5db;
	--rf-surface: #fff;
	--rf-surface-dim: #f3f4f6;
	--rf-surface-sunken: #f9fafb;
	--rf-tint-pale: #dce6ff;
	--rf-tint-strong: #e8eeff;
	--rf-tint-soft: #eff3ff;
	--rf-blue-soft: #8fb0ff;
	--rf-success: #0b7c5e;
	--rf-tint-green: #e6f4ee;
	--rf-accent: #b33b2e;
	--rf-radius: 12px;
	--rf-pill: 999px;
	--rf-shadow-hover: 0 10px 28px -12px rgba(0, 53, 194, .28), 0 2px 6px rgba(17, 24, 39, .05);
	--rf-font: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--rf-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ==========================================================================
   Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 140px; }
body {
	margin: 0;
	background: var(--rf-surface);
	color: var(--rf-ink);
	font-family: var(--rf-font);
	font-size: 15px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4 { margin: 0; line-height: 1.2; letter-spacing: -.01em; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
:focus-visible { outline: 2px solid var(--rf-primary); outline-offset: 2px; border-radius: 4px; }
.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.rf-skip {
	position: absolute; left: 12px; top: -60px; z-index: 100;
	background: var(--rf-primary); color: #fff; padding: 10px 16px; border-radius: 8px;
}
.rf-skip:focus { top: 12px; }
.rf-icon { flex-shrink: 0; display: inline-block; vertical-align: middle; }

.rf-container { width: 100%; max-width: 1200px; margin-inline: auto; padding-inline: 24px; }
/* Ritmo vertical e respiro entre cards (ajustados por breakpoint no fim do arquivo). */
:root { --rf-section-gap: 64px; --rf-card-gap: 24px; --rf-card-pad: 20px; }
.rf-main { display: flex; flex-direction: column; gap: var(--rf-section-gap); padding-bottom: 72px; min-height: 50vh; }

.rf-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 12px 22px; border-radius: var(--rf-pill); border: 0;
	background: var(--rf-primary); color: #fff; font-weight: 600; font-size: 14.5px;
	transition: background .13s;
}
.rf-btn:hover { background: var(--rf-primary-deep); }
.rf-btn--light { background: #fff; color: var(--rf-primary-deep); }
.rf-btn--light:hover { background: var(--rf-tint-strong); }

/* ==========================================================================
   Barra superior (marquee)
   ========================================================================== */
.rf-topbar { overflow: hidden; background: var(--rf-primary-deep); color: var(--rf-tint-pale); padding: 8px 0; }
.rf-marquee { display: flex; width: max-content; animation: rf-marquee 32s linear infinite; }
.rf-topbar:hover .rf-marquee { animation-play-state: paused; }
.rf-marquee__group { display: flex; align-items: center; flex-shrink: 0; }
.rf-marquee__item {
	display: flex; align-items: center; white-space: nowrap;
	padding: 0 16px; font-size: 13px; font-weight: 500; letter-spacing: .01em;
}
.rf-marquee__item::after {
	content: ""; width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .6;
	margin-left: 32px;
}
@keyframes rf-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .rf-marquee { animation: none; } }

/* ==========================================================================
   Cabeçalho
   ========================================================================== */
.rf-header { position: sticky; top: 0; z-index: 40; background: #fff; border-bottom: 1px solid var(--rf-line); }
.admin-bar .rf-header { top: 32px; }
.rf-header__row { display: flex; align-items: center; gap: 32px; padding-block: 16px; }
.rf-header__logo { flex-shrink: 0; display: flex; align-items: center; }
/* Dimensões explícitas: o CSS do WooCommerce (.woocommerce img { height:auto }) zera SVGs sem tamanho. */
img.rf-logo { height: 26px !important; width: 160px; max-width: none; object-fit: contain; object-position: left center; }

.rf-search { position: relative; flex: 1; max-width: 560px; }
.rf-search input {
	width: 100%; height: 46px; padding: 0 52px 0 18px;
	border: 1.5px solid var(--rf-line); border-radius: var(--rf-pill);
	background: var(--rf-surface-sunken); font-size: 14.5px; outline: none;
	transition: border-color .13s, background .13s, box-shadow .13s;
}
.rf-search input::placeholder { color: var(--rf-ink-mute); }
.rf-search input:focus { border-color: var(--rf-primary); background: #fff; box-shadow: 0 0 0 4px var(--rf-tint-strong); }
.rf-search button {
	position: absolute; right: 5px; top: 5px; width: 36px; height: 36px;
	display: grid; place-items: center; border: 0; border-radius: 50%;
	background: var(--rf-primary); color: #fff; transition: background .13s;
}
.rf-search button:hover { background: var(--rf-primary-deep); }

.rf-header__actions { display: flex; align-items: center; gap: 20px; margin-left: auto; }

.rf-lang { display: flex; padding: 3px; border-radius: var(--rf-pill); background: var(--rf-surface-dim); }
.rf-lang a {
	display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px 5px 7px; border-radius: var(--rf-pill);
	font-size: 12px; font-weight: 700; color: var(--rf-ink-soft); letter-spacing: .03em;
	transition: background .13s, color .13s;
}
.rf-lang a:hover { color: var(--rf-ink); }
.rf-lang a.is-active { background: #fff; color: var(--rf-primary); box-shadow: 0 1px 2px rgba(17, 24, 39, .1); }
.rf-flag { display: block; width: 20px; height: 14px; border-radius: 3px; clip-path: inset(0 round 3px); outline: 1px solid rgba(17, 24, 39, .12); outline-offset: -1px; }
.rf-lang a:not(.is-active) .rf-flag { opacity: .55; filter: saturate(.7); transition: opacity .13s, filter .13s; }
.rf-lang a:not(.is-active):hover .rf-flag { opacity: 1; filter: none; }

.rf-account { display: flex; align-items: center; gap: 10px; }
.rf-account__icon {
	display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%;
	background: var(--rf-tint-soft); color: var(--rf-primary);
}
.rf-account__text { display: flex; flex-direction: column; line-height: 1.25; }
.rf-account__text small { font-size: 12px; color: var(--rf-ink-soft); }
.rf-account__text strong { font-size: 13.5px; font-weight: 600; }
.rf-account:hover strong { color: var(--rf-primary); }

.rf-cart-link {
	position: relative; display: grid; place-items: center; width: 44px; height: 44px;
	border-radius: 50%; color: var(--rf-ink); transition: background .13s;
}
.rf-cart-link:hover { background: var(--rf-surface-dim); }
.rf-cart-count {
	position: absolute; top: 2px; right: 0; min-width: 19px; height: 19px; padding: 0 5px;
	display: grid; place-items: center; border-radius: var(--rf-pill);
	background: var(--rf-primary); color: #fff; font-size: 11px; font-weight: 700; line-height: 1;
	border: 2px solid #fff;
}
.rf-cart-count.is-empty { display: none; }

/* Navegação de categorias */
.rf-nav { position: relative; border-top: 1px solid var(--rf-line); }
.rf-nav__row { display: flex; align-items: center; gap: 24px; height: 48px; }
.rf-cats-btn {
	display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px 0 12px;
	border: 0; border-radius: var(--rf-pill); background: var(--rf-primary); color: #fff;
	font-size: 14px; font-weight: 600; transition: background .13s;
}
.rf-cats-btn:hover { background: var(--rf-primary-deep); }
.rf-cats-btn__chev { transition: transform .2s; }
.rf-cats-btn[aria-expanded="true"] .rf-cats-btn__chev { transform: rotate(180deg); }
.rf-nav__links { display: flex; gap: 24px; overflow-x: auto; scrollbar-width: none; }
.rf-nav__links::-webkit-scrollbar { display: none; }
.rf-nav__links a { font-size: 14px; font-weight: 500; color: var(--rf-ink-2); white-space: nowrap; transition: color .13s; }
.rf-nav__links a:hover, .rf-nav__links .current-menu-item a { color: var(--rf-primary); }
.rf-nav__whats {
	margin-left: auto; display: inline-flex; align-items: center; gap: 8px;
	font-size: 14px; font-weight: 600; color: var(--rf-success); white-space: nowrap;
}
.rf-nav__whats:hover { text-decoration: underline; }

/* Painel do botão "Categorias": faixa larga com os círculos (abre ao passar o mouse). */
.rf-cats-panel {
	position: absolute; left: 0; right: 0; top: 100%; z-index: 45;
	background: var(--rf-surface-sunken); border-bottom: 1px solid var(--rf-line);
	box-shadow: 0 24px 40px -24px rgba(17, 24, 39, .28);
	animation: rf-panel-in .18s var(--rf-ease);
}
.rf-cats-panel[hidden] { display: none; }
@keyframes rf-panel-in { from { opacity: 0; transform: translateY(-6px); } }
.rf-cats-panel__sheet { padding-bottom: 20px; }
.rf-cats-panel__head { display: none; }
.rf-cats-panel .rf-catrail { background: none; border: 0; }
.rf-cats-panel .rf-catrail__inner { padding-block: 28px 12px; }
.rf-cats-panel__all {
	display: flex; width: max-content; margin: 0 auto; align-items: center; gap: 6px;
	padding: 8px 16px; border-radius: var(--rf-pill);
	font-size: 13.5px; font-weight: 600; color: var(--rf-primary);
}
.rf-cats-panel__all:hover { background: var(--rf-tint-soft); }

/* ==========================================================================
   Home – carrossel
   ========================================================================== */
.rf-hero { position: relative; margin-top: 24px; }
.rf-hero__viewport { overflow: hidden; border-radius: 16px; background: #0b0f1a; }
.rf-hero__track { display: flex; align-items: flex-start; transition: transform .6s var(--rf-ease); }
.rf-hero__slide { flex: 0 0 100%; display: block; aspect-ratio: 4 / 1; }
.rf-hero__slide img { width: 100%; height: 100%; object-fit: cover; }
.rf-hero__slide--premium { --rf-campaign-bg: #f4f1e9; --rf-campaign-ink: #203d32; --rf-campaign-accent: #55734e; --rf-campaign-muted: #667160; --rf-campaign-button: #244b38; display: grid; grid-template-columns: 46% 54%; min-height: 310px; aspect-ratio: 3.5 / 1; background: var(--rf-campaign-bg); color: var(--rf-campaign-ink); overflow: hidden; }
.rf-hero__slide--acnecur { --rf-campaign-bg: #edf0f2; --rf-campaign-ink: #273c56; --rf-campaign-accent: #61748b; --rf-campaign-muted: #637386; --rf-campaign-button: #29496e; }
.rf-hero__slide--gluconex { --rf-campaign-bg: #e3e9ef; --rf-campaign-ink: #21394f; --rf-campaign-accent: #526c83; --rf-campaign-muted: #5b7083; --rf-campaign-button: #294457; }
.rf-campaign__copy { position: relative; z-index: 1; align-self: center; padding: 26px 0 34px 56px; }
.rf-campaign__eyebrow { display: flex; align-items: center; gap: 10px; font-size: 9px; font-weight: 700; letter-spacing: .18em; color: var(--rf-campaign-accent); }
.rf-campaign__eyebrow > span:first-child { width: 6px; height: 6px; background: var(--rf-campaign-accent); border-radius: 50%; }
.rf-hero__slide--gluconex .rf-campaign__eyebrow > span:first-child { background: #af8a45; }
.rf-campaign__divider { color: #a3ac98; font-weight: 400; }
.rf-campaign__copy h2 { font-size: clamp(26px, 3.1vw, 42px); font-weight: 500; line-height: 1.13; letter-spacing: -.045em; margin-top: 19px; }
.rf-campaign__copy h2 em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; color: var(--rf-campaign-accent); }
.rf-campaign__description { max-width: 300px; font-size: 12px; line-height: 1.7; color: var(--rf-campaign-muted); margin-top: 15px; }
.rf-campaign__cta { display: inline-flex; align-items: center; gap: 24px; padding: 12px 19px; margin-top: 20px; border-radius: 6px; background: var(--rf-campaign-button); color: #fff; font-size: 12px; font-weight: 600; transition: filter .2s; }
.rf-hero__slide--premium:hover .rf-campaign__cta { filter: brightness(.85); }
.rf-campaign__art { position: relative; min-width: 0; min-height: 0; height: 100%; overflow: hidden; }
.rf-hero__slide--premium { grid-template-rows: minmax(0, 1fr); }
.rf-campaign__art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--rf-campaign-bg) 0%, transparent 16%); pointer-events: none; }
.rf-hero__slide--premium .rf-campaign__art img { object-fit: contain; object-position: right center; }
.rf-hero__slide--acnecur .rf-campaign__art img,
.rf-hero__slide--gluconex .rf-campaign__art img { object-fit: cover; object-position: center; }
.rf-hero:has(.rf-hero__slide--premium[tabindex="0"]) .rf-hero__dots button { background: #244b3860; }
.rf-hero:has(.rf-hero__slide--premium[tabindex="0"]) .rf-hero__dots button[aria-current="true"] { background: #244b38; }
@media (max-width: 767px) {
	.rf-hero__slide--premium { grid-template-columns: 1fr; grid-template-rows: auto auto; aspect-ratio: auto; min-height: 0; }
	.rf-campaign__copy { padding: 29px 26px 8px; }
	.rf-campaign__copy h2 { font-size: clamp(29px, 8vw, 42px); margin-top: 17px; }
	.rf-campaign__description { font-size: 12px; max-width: 330px; margin-top: 12px; }
	.rf-campaign__cta { min-height: 44px; margin-top: 17px; }
	.rf-campaign__art { height: auto; aspect-ratio: 1.6; }
	.rf-campaign__art::after { background: linear-gradient(180deg, var(--rf-campaign-bg), transparent 18%); }
	.rf-hero__slide--premium .rf-campaign__art img { object-fit: cover; }
}
.rf-hero__arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 42px; height: 42px; display: grid; place-items: center;
	border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--rf-ink);
	box-shadow: 0 4px 14px rgba(0, 0, 0, .18); opacity: 0; transition: opacity .2s, background .13s;
}
.rf-hero:hover .rf-hero__arrow, .rf-hero__arrow:focus-visible { opacity: 1; }
.rf-hero__arrow:hover { background: #fff; }
.rf-hero__arrow--prev { left: 40px; }
.rf-hero__arrow--next { right: 40px; }
.rf-hero__dots { position: absolute; left: 0; right: 0; bottom: 14px; display: flex; justify-content: center; gap: 6px; }
.rf-hero__dots button {
	position: relative; width: 8px; height: 8px; padding: 0; border: 0; border-radius: var(--rf-pill);
	background: rgba(255, 255, 255, .5); transition: width .25s, background .25s;
}
/* Área de toque maior que o ponto visível (mín. ~24px no celular). */
.rf-hero__dots button::after { content: ""; position: absolute; inset: -10px -6px; }
.rf-hero__dots button[aria-current="true"] { width: 24px; background: #fff; }

/* Benefícios */
/* Banner + vantagens formam um bloco só: menos distância entre eles do que entre seções. */
.rf-hero + .rf-benefits { margin-top: -24px; }
.rf-benefits ul { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--rf-card-gap); }
.rf-benefits li {
	display: flex; flex-direction: column; gap: 12px; padding: 20px;
	border: 1px solid var(--rf-line); border-radius: var(--rf-radius); background: #fff;
	transition: box-shadow .15s;
}
.rf-benefits li:hover { box-shadow: var(--rf-shadow-hover); }
.rf-benefits img { width: 46px; height: 46px; object-fit: cover; }
.rf-benefits__title { font-size: 14.5px; font-weight: 700; line-height: 1.3; }
.rf-benefits__text { margin-top: 3px; font-size: 12.5px; line-height: 1.45; color: var(--rf-ink-soft); }

/* Categorias em círculos */
.rf-catrail { background: var(--rf-surface-sunken); border-block: 1px solid var(--rf-line); }
.rf-catrail__inner { position: relative; padding-block: 32px 28px; }
.rf-catrail__list {
	display: flex; justify-content: safe center; gap: 28px;
	overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none;
	padding: 4px 8px; margin: 0;
}
.rf-catrail__list::-webkit-scrollbar { display: none; }
.rf-catrail__list > li { flex: 0 0 auto; scroll-snap-align: start; }
.rf-catrail__item { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 144px; text-align: center; }
.rf-catrail__ring {
	display: block; width: 144px; height: 144px; padding: 3px; border-radius: 50%;
	background: linear-gradient(135deg, var(--rf-primary) 0%, var(--rf-blue-soft) 55%, var(--rf-primary-deep) 100%);
	transition: transform .25s var(--rf-ease), box-shadow .25s;
}
.rf-catrail__img {
	display: grid; place-items: center; width: 100%; height: 100%; overflow: hidden;
	border-radius: 50%; border: 3px solid #fff; background: #fff;
}
.rf-catrail__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--rf-ease); }
.rf-catrail__placeholder { font-size: 40px; font-weight: 700; color: var(--rf-primary); }
.rf-catrail__label {
	font-size: 13px; font-weight: 500; line-height: 1.3; letter-spacing: .05em; text-transform: uppercase;
	color: var(--rf-ink-soft); transition: color .13s;
}
.rf-catrail__item:hover .rf-catrail__ring { transform: translateY(-3px); box-shadow: 0 10px 24px -12px rgba(0, 53, 194, .45); }
.rf-catrail__item:hover .rf-catrail__img img { transform: scale(1.06); }
.rf-catrail__item:hover .rf-catrail__label, .rf-catrail__item:focus-visible .rf-catrail__label { color: var(--rf-primary); }
.rf-catrail__arrow {
	position: absolute; top: calc(32px + 72px); transform: translateY(-50%); z-index: 1;
	width: 38px; height: 38px; display: grid; place-items: center;
	border: 1px solid var(--rf-line); border-radius: 50%; background: #fff; color: var(--rf-ink);
	box-shadow: 0 4px 12px rgba(17, 24, 39, .1); transition: opacity .2s, background .13s;
}
.rf-catrail__arrow:hover { background: var(--rf-tint-soft); color: var(--rf-primary); }
.rf-catrail__arrow:disabled { opacity: 0; pointer-events: none; }
.rf-catrail__arrow[hidden] { display: none; }
.rf-catrail__arrow--prev { left: 0; }
.rf-catrail__arrow--next { right: 0; }
.rf-catrail.is-scrollable .rf-catrail__list { padding-inline: 44px; scroll-padding-inline: 44px; }

/* Banner do meio */
.rf-banner a { display: block; overflow: hidden; border-radius: 16px; }
.rf-banner img { width: 100%; transition: transform .5s var(--rf-ease); }
.rf-banner a:hover img { transform: scale(1.015); }

/* Institutional pharmacy banner: live text and a lightweight brand illustration. */
.rf-care {
	display: grid; grid-template-columns: 1.25fr 1fr; position: relative; isolation: isolate;
	overflow: hidden; border: 1px solid #dfe8ee; border-radius: 24px;
	background: linear-gradient(110deg, #f8faf9 25%, #edf4f5 100%); color: #123747;
}
.rf-care__content { padding: 44px 0 36px 48px; position: relative; z-index: 2; }
.rf-care__eyebrow { display: flex; align-items: center; gap: 10px; font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: #426775; }
.rf-care__eyebrow span { width: 4px; height: 4px; border-radius: 50%; background: #4a9b90; }
.rf-care h2 { margin-top: 23px; font-size: clamp(28px, 3.2vw, 43px); font-weight: 500; line-height: 1.15; letter-spacing: -.045em; }
.rf-care h2 span { color: #246e78; }
.rf-care__description { max-width: 365px; margin-top: 18px; color: #586e77; font-size: 14px; line-height: 1.7; }
.rf-banner .rf-care__cta { display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 13px 20px; margin-top: 25px; background: #124d60; color: #fff; border-radius: 8px; font-size: 13px; font-weight: 600; transition: background .2s; }
.rf-banner .rf-care__cta:hover { background: #0b3545; }
.rf-care__visual { position: relative; min-height: 350px; }
.rf-care__orbit { position: absolute; width: 310px; height: 310px; border: 1px solid #cddfe0; border-radius: 50%; top: 22px; left: 50%; transform: translateX(-50%); }
.rf-care__orbit::before { content: ''; position: absolute; inset: 24px; border-radius: 50%; background: radial-gradient(circle at 35% 25%, #fcfefd, #d7e9e6); }
.rf-care__orbit::after { content: ''; position: absolute; inset: -35px; border: 1px solid #e1ebeb; border-radius: 50%; }
.rf-care__cross { position: absolute; width: 190px; height: 190px; left: 50%; top: 76px; transform: translateX(-50%) rotate(-9deg); filter: drop-shadow(9px 16px 0 #377e83) drop-shadow(12px 28px 16px #527b7a30); }
.rf-care__cross::before { content: ''; display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #9accc2, #5aa39e 48%, #2f747e); clip-path: polygon(33% 0, 67% 0, 67% 33%, 100% 33%, 100% 67%, 67% 67%, 67% 100%, 33% 100%, 33% 67%, 0 67%, 0 33%, 33% 33%); }
.rf-care__note { position: absolute; bottom: 40px; left: 12%; display: flex; align-items: center; gap: 12px; padding: 14px 20px; background: #ffffffed; border: 1px solid #fff; border-radius: 12px; box-shadow: 0 8px 30px #234a4e0c; transform: rotate(-3deg); color: #267578; }
.rf-care__note span { font-size: 11px; line-height: 1.6; color: #62777a; }
.rf-care__note strong { display: block; font-size: 13px; font-weight: 600; color: #234c57; }
.rf-care__signature { position: absolute; bottom: 25px; right: 30px; font-size: 9px; letter-spacing: .22em; color: #779694; }
.rf-care__benefits { grid-column: 1 / -1; display: flex; gap: 30px; align-items: center; padding: 18px 48px; border-top: 1px solid #dce7e8; background: #ffffff50; }
.rf-care__benefits li { display: flex; align-items: center; gap: 8px; font-size: 11px; color: #486570; }
.rf-care__benefits svg { color: #327f80; }
@media (max-width: 767px) {
	.rf-care { grid-template-columns: 1fr; border-radius: 18px; }
	.rf-care__content { padding: 30px 24px 0; }
	.rf-care__eyebrow { font-size: 8px; gap: 8px; letter-spacing: .09em; }
	.rf-care h2 { margin-top: 20px; font-size: clamp(27px, 7.3vw, 42px); }
	.rf-care__description { max-width: 440px; font-size: 13px; margin-top: 14px; }
	.rf-banner .rf-care__cta { margin-top: 20px; min-height: 46px; }
	.rf-care__visual { min-height: 245px; margin-top: 8px; }
	.rf-care__orbit { width: 210px; height: 210px; top: 18px; left: 57%; }
	.rf-care__orbit::after { inset: -18px; }
	.rf-care__cross { width: 140px; height: 140px; top: 49px; left: 57%; }
	.rf-care__note { left: 8%; bottom: 20px; padding: 10px 14px; }
	.rf-care__signature { right: 20px; bottom: 16px; font-size: 9px; }
	.rf-care__benefits { padding: 16px; gap: 12px; justify-content: space-between; align-items: flex-start; }
	.rf-care__benefits li { flex: 1; flex-direction: column; gap: 7px; text-align: center; font-size: 10px; line-height: 1.4; }
}

/* ==========================================================================
   Vitrines e cards
   ========================================================================== */
.rf-shelf__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.rf-shelf__title { font-size: 24px; font-weight: 700; letter-spacing: -.02em; }
.rf-shelf__more { font-size: 14px; font-weight: 600; color: var(--rf-primary); white-space: nowrap; }
.rf-shelf__more:hover { color: var(--rf-primary-deep); }

.rf-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--rf-card-gap); margin: 0; padding: 0; }
.rf-grid::before, .rf-grid::after { display: none !important; content: none !important; }

.rf-card-wrap { min-width: 0; }
.rf-card {
	position: relative; height: 100%; display: flex; flex-direction: column; gap: 14px;
	padding: var(--rf-card-pad); background: #fff; border: 1px solid var(--rf-line); border-radius: var(--rf-radius);
	transition: box-shadow .15s, transform .15s;
}
.rf-card:hover { transform: translateY(-2px); box-shadow: var(--rf-shadow-hover); }
.rf-card__media { position: relative; margin-bottom: 4px; }
.rf-card__img { display: block; position: relative; height: 168px; border-radius: 10px; overflow: hidden; background: #fff; }
.rf-card__img img {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain;
	transition: transform .32s var(--rf-ease);
}
.rf-card:hover .rf-card__img img { transform: scale(1.06); }
.rf-badge {
	position: absolute; top: 0; left: 0; padding: 3px 8px; border-radius: var(--rf-pill);
	background: var(--rf-accent); color: #fff; font-size: 11px; font-weight: 700;
}
.rf-card__cat { max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.rf-card__title { overflow-wrap: anywhere; }
/* Categoria fica agrupada ao título (6px), e o grupo se separa do preço. */
.rf-card__cat { align-self: flex-start; margin-bottom: -8px; font-size: 12px; line-height: 1.4; color: var(--rf-ink-soft); }
.rf-card__cat:hover { color: var(--rf-primary); }
.rf-card__body { display: flex; flex-direction: column; gap: 14px; flex: 1; }
.rf-card__title {
	font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--rf-ink);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	min-height: 2.8em;
}
.rf-card__body:hover .rf-card__title { color: var(--rf-primary); }

.rf-price { display: flex; flex-direction: column; gap: 4px; margin-top: auto; }
.rf-price-old { font-size: 12.5px; color: var(--rf-ink-mute); }
.rf-price-main { font-size: 18px; font-weight: 700; letter-spacing: -.01em; color: var(--rf-primary); font-variant-numeric: tabular-nums; }
.rf-price-alt { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--rf-success); }
.rf-pix {
	display: inline-block; padding: 2px 6px; border-radius: var(--rf-pill);
	background: var(--rf-success); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .04em;
}

.rf-btn-add {
	margin-top: 2px; display: block; width: 100%; padding: 10px 12px;
	border: 1px solid var(--rf-primary); border-radius: var(--rf-pill); background: #fff;
	color: var(--rf-primary); font-size: 13.5px; font-weight: 600; text-align: center;
	transition: background .13s, color .13s;
}
.rf-btn-add:hover { background: var(--rf-primary); color: #fff; }
.rf-btn-add.loading { opacity: .6; pointer-events: none; }
.rf-btn-add.added::after { content: " ✓"; }
.rf-btn-add:disabled { cursor: not-allowed; border-color: var(--rf-line); background: var(--rf-surface-dim); color: var(--rf-ink-mute); }
.rf-card .added_to_cart { display: none; }

/* ==========================================================================
   Newsletter
   ========================================================================== */
.rf-news { background: var(--rf-primary-deep); }
.rf-news__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 48px; padding-block: 56px; }
.rf-news__text { flex: 1 1 280px; }
.rf-news__eyebrow {
	display: inline-block; margin-bottom: 14px; padding: 4px 12px; border-radius: var(--rf-pill);
	background: rgba(255, 255, 255, .14); color: var(--rf-tint-pale);
	font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em;
}
.rf-news h2 { margin-bottom: 8px; font-size: 28px; font-weight: 700; letter-spacing: -.02em; color: #fff; }
.rf-news__text p { max-width: 440px; font-size: 15px; line-height: 1.55; color: #c9d8ff; }
.rf-news__form-wrap { flex: 1 1 300px; max-width: 480px; }
.rf-news__form { display: flex; flex-wrap: wrap; gap: 10px; }
.rf-news__form input[type="email"] {
	flex: 1 1 200px; min-width: 0; padding: 14px 16px; border-radius: 8px;
	border: 1.5px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .1);
	color: #fff; font-size: 14.5px; outline: none;
}
.rf-news__form input::placeholder { color: rgba(255, 255, 255, .8); }
.rf-news__form input:focus { border-color: #fff; background: rgba(255, 255, 255, .16); }
.rf-news__form button {
	padding: 14px 24px; border: 0; border-radius: var(--rf-pill); background: #fff;
	color: var(--rf-primary-deep); font-size: 14.5px; font-weight: 700; white-space: nowrap;
	transition: background .13s;
}
.rf-news__form button:hover { background: var(--rf-tint-strong); }
.rf-news__legal { margin-top: 10px; font-size: 12px; color: var(--rf-blue-soft); }
.rf-news__msg { margin-top: 10px; font-size: 13.5px; font-weight: 600; }
.rf-news__msg--ok { color: #a7f3d0; }
.rf-news__msg--err { color: #fecaca; }
.rf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ==========================================================================
   Rodapé
   ========================================================================== */
.rf-footer { background: #fff; border-top: 1px solid var(--rf-line); }
.rf-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 40px; padding-block: 48px 40px; }
.rf-footer__logo { margin-bottom: 16px; }
.rf-footer__brand p { max-width: 280px; margin-bottom: 20px; font-size: 13.5px; line-height: 1.6; color: var(--rf-ink-soft); }
.rf-footer__hours { display: flex; flex-direction: column; gap: 4px; margin-bottom: 20px; }
.rf-footer__hours small { font-size: 12px; color: var(--rf-ink-mute); }
.rf-footer__hours strong { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 600; }
.rf-footer__social {
	display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%;
	background: var(--rf-surface-dim); color: var(--rf-ink-2); transition: background .13s, color .13s;
}
.rf-footer__social:hover { background: var(--rf-tint-strong); color: var(--rf-primary); }
.rf-footer__title { margin-bottom: 16px; font-size: 13px; font-weight: 600; }
.rf-footer__list { display: flex; flex-direction: column; gap: 10px; }
.rf-footer__list a { font-size: 13.5px; color: var(--rf-ink-soft); transition: color .13s; }
.rf-footer__list a:hover { color: var(--rf-primary); }
.rf-footer__bottom { border-top: 1px solid var(--rf-line); background: var(--rf-surface-sunken); }
.rf-footer__bottom-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding-block: 20px; }
.rf-footer__legal { font-size: 12.5px; line-height: 1.6; color: var(--rf-ink-soft); }
.rf-footer__legal strong { color: var(--rf-ink-2); }
.rf-footer__pay { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 12px; color: var(--rf-ink-soft); }
.rf-footer__pay ul { display: flex; flex-wrap: wrap; gap: 6px; }
.rf-footer__pay li {
	padding: 4px 10px; border: 1px solid var(--rf-line); border-radius: 6px; background: #fff;
	font-size: 11.5px; font-weight: 700; color: var(--rf-ink-2);
}

/* Menu inferior (celular) */
.rf-bottom-nav { display: none; }

/* Aviso de carrinho */
.rf-toast {
	position: fixed; left: 50%; bottom: 24px; z-index: 60; transform: translate(-50%, 16px);
	display: flex; align-items: center; gap: 16px; padding: 12px 14px 12px 18px;
	border-radius: var(--rf-pill); background: var(--rf-ink); color: #fff;
	font-size: 14px; box-shadow: 0 12px 30px rgba(0, 0, 0, .25);
	opacity: 0; transition: opacity .25s, transform .25s; max-width: calc(100% - 32px);
}
.rf-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.rf-toast a { padding: 6px 14px; border-radius: var(--rf-pill); background: var(--rf-primary); font-weight: 600; white-space: nowrap; }

/* ==========================================================================
   Páginas internas
   ========================================================================== */
.rf-page { padding-top: 32px; }
.rf-page__title { margin-bottom: 24px; font-size: 32px; font-weight: 700; letter-spacing: -.02em; }
.rf-prose { max-width: 760px; font-size: 15.5px; line-height: 1.7; color: var(--rf-ink-2); }
.rf-prose > * + * { margin-top: 1em; }
.rf-prose h2 { margin-top: 2em; font-size: 20px; font-weight: 700; color: var(--rf-ink); scroll-margin-top: 140px; }
.rf-prose a { color: var(--rf-primary); text-decoration: underline; }
.rf-prose ul { list-style: disc; padding-left: 1.3em; }
.rf-prose ol { list-style: decimal; padding-left: 1.3em; }
.rf-prose .rf-updated { font-size: 13px; color: var(--rf-ink-soft); }

.rf-404 { text-align: center; padding-block: 64px; }
.rf-404__code { font-size: 72px; font-weight: 800; color: var(--rf-tint-pale); line-height: 1; }
.rf-404 p { margin-bottom: 24px; color: var(--rf-ink-soft); }

/* Documento legal */
.rf-legal { padding-top: 32px; }
.rf-legal__layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px; align-items: start; }
.rf-legal__toc {
	position: sticky; top: 150px; padding: 20px; border: 1px solid var(--rf-line);
	border-radius: var(--rf-radius); background: var(--rf-surface-sunken);
}
.admin-bar .rf-legal__toc { top: 182px; }
.rf-legal__toc p { margin-bottom: 12px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--rf-ink-soft); }
.rf-legal__toc ol { list-style: decimal; padding-left: 1.2em; display: flex; flex-direction: column; gap: 8px; }
.rf-legal__toc li { font-size: 13px; color: var(--rf-ink-mute); }
.rf-legal__toc a { color: var(--rf-ink-2); }
.rf-legal__toc a:hover { color: var(--rf-primary); }
.rf-legal__card { margin-top: 40px; padding: 24px; border: 1px solid var(--rf-line); border-radius: var(--rf-radius); max-width: 760px; }
.rf-legal__card h2 { margin-bottom: 12px; font-size: 18px; }
.rf-legal__card dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 20px; margin: 0; font-size: 14px; }
.rf-legal__card dt { font-weight: 600; }
.rf-legal__card dd { margin: 0; color: var(--rf-ink-soft); }
.rf-legal__cta {
	margin-top: 24px; max-width: 760px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;
	padding: 24px; border-radius: var(--rf-radius); background: var(--rf-tint-soft);
}
.rf-legal__cta h2 { font-size: 18px; margin-bottom: 4px; }
.rf-legal__cta p { font-size: 14px; color: var(--rf-ink-soft); }

/* Sobre */
.rf-about-hero { background: linear-gradient(135deg, var(--rf-primary-deep), var(--rf-primary)); color: #fff; }
.rf-about-hero .rf-container { padding-block: 72px; }
.rf-about-hero h1 { max-width: 720px; font-size: 44px; font-weight: 700; letter-spacing: -.03em; }
.rf-about-hero p { max-width: 620px; margin: 16px 0 28px; font-size: 17px; line-height: 1.6; color: #dce6ff; }
.rf-about-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rf-about-stats div { display: flex; flex-direction: column; gap: 4px; padding: 24px; border: 1px solid var(--rf-line); border-radius: var(--rf-radius); }
.rf-about-stats strong { font-size: 28px; font-weight: 700; color: var(--rf-primary); letter-spacing: -.02em; }
.rf-about-stats span { font-size: 13.5px; color: var(--rf-ink-soft); }
.rf-about-story { max-width: 820px; }
.rf-about-story h2, .rf-about-values h2, .rf-about-visit h2 { margin-bottom: 16px; font-size: 26px; font-weight: 700; }
.rf-about-story p { margin-bottom: 14px; font-size: 16px; line-height: 1.7; color: var(--rf-ink-2); }
.rf-about-values__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rf-about-values article { padding: 24px; border: 1px solid var(--rf-line); border-radius: var(--rf-radius); }
.rf-about-values__icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 14px; border-radius: 12px; background: var(--rf-tint-soft); color: var(--rf-primary); }
.rf-about-values h3 { margin-bottom: 8px; font-size: 17px; }
.rf-about-values p { font-size: 14px; line-height: 1.6; color: var(--rf-ink-soft); }
.rf-about-visit { display: grid; grid-template-columns: 1fr 1.2fr; gap: 32px; align-items: center; }
.rf-about-visit p { margin-bottom: 16px; color: var(--rf-ink-soft); }
.rf-about-visit ul { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.rf-about-visit li { display: flex; gap: 10px; font-size: 14.5px; color: var(--rf-ink-2); }
.rf-about-visit li .rf-icon { color: var(--rf-primary); margin-top: 2px; }
.rf-about-visit iframe { width: 100%; height: 320px; border: 0; border-radius: var(--rf-radius); }

/* ==========================================================================
   WooCommerce – listagens
   ========================================================================== */
.rf-wc { padding-top: 24px; }
.rf-breadcrumb { margin-bottom: 16px; font-size: 13px; color: var(--rf-ink-soft); }
.rf-breadcrumb a:hover { color: var(--rf-primary); }
.rf-breadcrumb a { display: inline-block; padding: 8px 0; }
.rf-bc-sep { margin: 0 8px; color: var(--rf-line-strong); }
.rf-chips { display: flex; gap: 8px; margin-bottom: 24px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.rf-chips::-webkit-scrollbar { display: none; }
.rf-chip {
	flex-shrink: 0; padding: 8px 14px; border: 1px solid var(--rf-line); border-radius: var(--rf-pill);
	font-size: 13.5px; font-weight: 500; color: var(--rf-ink-2); background: #fff; transition: all .13s;
}
.rf-chip:hover { border-color: var(--rf-primary); color: var(--rf-primary); }
.rf-chip.is-active { background: var(--rf-primary); border-color: var(--rf-primary); color: #fff; }

.rf-archive .woocommerce-products-header__title { font-size: 28px; font-weight: 700; margin-bottom: 8px; }
.rf-archive .term-description { margin-bottom: 16px; color: var(--rf-ink-soft); }
.woocommerce .rf-archive .woocommerce-result-count { float: none; margin: 0; font-size: 13.5px; color: var(--rf-ink-soft); }
.woocommerce .rf-archive .woocommerce-ordering { float: none; margin: 0; }
.rf-archive .woocommerce-notices-wrapper + .woocommerce-result-count,
.rf-archive .woocommerce-result-count { display: inline-block; }
.rf-archive .woocommerce-ordering { display: inline-block; float: right !important; }
.rf-archive .woocommerce-ordering select {
	height: 38px; padding: 0 32px 0 12px; border: 1px solid var(--rf-line); border-radius: 8px; background-color: #fff; font-size: 13.5px;
}
.woocommerce .rf-archive ul.rf-grid { clear: both; margin: 32px 0 0; }
.woocommerce nav.woocommerce-pagination { margin-top: 32px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 38px; height: 38px; display: grid; place-items: center; padding: 0 8px;
	border: 1px solid var(--rf-line); border-radius: 8px; font-size: 14px;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--rf-primary); border-color: var(--rf-primary); color: #fff; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--rf-primary) !important; border-radius: 8px; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--rf-primary) !important; }

/* ==========================================================================
   WooCommerce – produto
   ========================================================================== */
.woocommerce .rf-single div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.woocommerce .rf-single div.product div.images,
.woocommerce .rf-single div.product div.summary { float: none; width: auto; margin: 0; }
.rf-single div.product div.images {
	padding: 24px; border: 1px solid var(--rf-line); border-radius: 16px; background: #fff;
}
.rf-single div.product div.images img { max-height: 460px; object-fit: contain; margin-inline: auto; }
.woocommerce .rf-single div.product div.images .flex-control-thumbs { margin-top: 12px; display: flex; gap: 8px; }
.woocommerce .rf-single div.product div.images .flex-control-thumbs li { width: 64px; }
.rf-single .woocommerce-product-gallery__trigger { top: 16px !important; right: 16px !important; }
.rf-single .onsale { display: none; }

.rf-single__cat { display: inline-block; margin-bottom: 8px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--rf-primary); }
.woocommerce .rf-single div.product .product_title { margin-bottom: 16px; font-size: 28px; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; }
.rf-price--single { margin-bottom: 2px; }
.rf-price--single .rf-price-main { font-size: 32px; }
.rf-price--single .rf-price-alt { font-size: 15px; }
.rf-price--single .rf-price-old { font-size: 15px; }
.rf-single__card-note { margin-bottom: 20px; font-size: 13px; color: var(--rf-ink-soft); }
.rf-single .woocommerce-product-details__short-description { margin-bottom: 24px; font-size: 15px; line-height: 1.65; color: var(--rf-ink-2); }

.woocommerce .rf-single div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.woocommerce .rf-single div.product form.cart::before, .woocommerce .rf-single div.product form.cart::after { display: none; }
.woocommerce .rf-single div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce .rf-single .quantity .qty {
	width: 80px; height: 50px; border: 1.5px solid var(--rf-line); border-radius: var(--rf-pill);
	text-align: center; font-size: 16px; font-weight: 600;
}
.woocommerce .rf-single div.product form.cart .button,
.woocommerce .rf-single div.product form.cart .single_add_to_cart_button {
	float: none; flex: 1; min-width: 200px; height: 50px; padding: 0 28px;
	border-radius: var(--rf-pill); background: var(--rf-primary); color: #fff;
	font-size: 15px; font-weight: 700; transition: background .13s;
}
.woocommerce .rf-single div.product form.cart .button:hover { background: var(--rf-primary-deep); }
.woocommerce .rf-single div.product form.cart .variations { margin-bottom: 8px; width: 100%; }
.woocommerce .rf-single div.product form.cart .variations select { height: 42px; border: 1px solid var(--rf-line); border-radius: 8px; padding: 0 12px; }
.woocommerce .rf-single div.product .stock { font-size: 13.5px; font-weight: 600; color: var(--rf-success); }
.woocommerce .rf-single div.product .stock.out-of-stock { color: var(--rf-accent); }

.rf-single__perks { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; padding: 18px; border-radius: var(--rf-radius); background: var(--rf-surface-sunken); }
.rf-single__perks li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--rf-ink-2); }
.rf-single__perks .rf-icon { color: var(--rf-primary); }
.rf-btn-whats {
	display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px;
	border: 1.5px solid var(--rf-success); border-radius: var(--rf-pill);
	color: var(--rf-success); font-size: 14px; font-weight: 600; transition: background .13s, color .13s;
}
.rf-btn-whats:hover { background: var(--rf-success); color: #fff; }

.woocommerce .rf-single div.product .woocommerce-tabs { grid-column: 1 / -1; margin: 0; padding: 0; }
.woocommerce .rf-single div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 20px; border-bottom: 1px solid var(--rf-line); display: flex; gap: 24px; }
.woocommerce .rf-single div.product .woocommerce-tabs ul.tabs::before,
.woocommerce .rf-single div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce .rf-single div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce .rf-single div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; border-radius: 0; }
.woocommerce .rf-single div.product .woocommerce-tabs ul.tabs li a { padding: 12px 0; font-size: 15px; font-weight: 600; color: var(--rf-ink-soft); }
.woocommerce .rf-single div.product .woocommerce-tabs ul.tabs li.active a { color: var(--rf-primary); box-shadow: inset 0 -2px 0 var(--rf-primary); }
.rf-single .woocommerce-Tabs-panel { max-width: 820px; font-size: 15px; line-height: 1.75; color: var(--rf-ink-2); }
.rf-single .woocommerce-Tabs-panel p + p { margin-top: 1em; }
.woocommerce .rf-single div.product .related { grid-column: 1 / -1; margin-top: 24px; }
.rf-single .related > h2 { margin-bottom: 24px; font-size: 24px; font-weight: 700; letter-spacing: -.02em; }

/* ==========================================================================
   WooCommerce – carrinho, checkout, conta
   ========================================================================== */
.rf-page--wc .rf-page__title { font-size: 28px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button:not(.is-link), .wp-element-button {
	border-radius: var(--rf-pill) !important; background: var(--rf-primary) !important; color: #fff !important;
	font-weight: 700 !important; border: 0 !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:not(.is-link):hover { background: var(--rf-primary-deep) !important; }
.wc-block-components-totals-item__value, .wc-block-components-product-price { font-weight: 700; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-direction: column; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 8px; font-size: 14.5px; color: var(--rf-ink-2); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--rf-tint-soft); color: var(--rf-primary); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
	padding: 12px 14px; border: 1.5px solid var(--rf-line); border-radius: 8px; background: #fff;
}
.woocommerce form .form-row input.input-text:focus { border-color: var(--rf-primary); outline: none; }
.woocommerce form.login, .woocommerce form.register { border: 1px solid var(--rf-line) !important; border-radius: var(--rf-radius) !important; padding: 24px !important; }
.woocommerce form .form-row input[type="checkbox"], .woocommerce-form__input-checkbox { width: 18px; height: 18px; accent-color: var(--rf-primary); vertical-align: -3px; }
.woocommerce-privacy-policy-text { font-size: 13px; color: var(--rf-ink-soft); margin-bottom: 12px; }

/* Vitrine de produtos dos blocos do carrinho (carrinho vazio / "Você também pode gostar") */
.rf-page--wc .wc-block-grid__products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0 !important; padding: 0; list-style: none; }
.rf-page--wc .wc-block-grid__product {
	width: auto !important; max-width: none !important; flex: none !important; margin: 0 !important;
	display: flex; flex-direction: column; gap: 8px; padding: 16px !important; text-align: left !important;
	border: 1px solid var(--rf-line) !important; border-radius: var(--rf-radius);
}
.rf-page--wc .wc-block-grid__product-image { margin: 0 !important; }
.rf-page--wc .wc-block-grid__product-image img { width: 100%; height: 140px !important; object-fit: contain; }
.rf-page--wc .wc-block-grid__product-title { font-size: 14px !important; font-weight: 500 !important; line-height: 1.4; color: var(--rf-ink); margin: 0 !important; }
.rf-page--wc .wc-block-grid__product-price { font-size: 17px !important; font-weight: 700; color: var(--rf-primary); margin: auto 0 0 !important; }
.rf-page--wc .wc-block-grid__product-add-to-cart { margin: 0 !important; }
.rf-page--wc .wc-block-grid__product-add-to-cart .wp-block-button__link {
	width: 100%; padding: 9px 12px !important; font-size: 13.5px !important; font-weight: 600 !important;
	background: #fff !important; color: var(--rf-primary) !important; border: 1px solid var(--rf-primary) !important;
}
.rf-page--wc .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { background: var(--rf-primary) !important; color: #fff !important; }
.rf-page--wc .wp-block-woocommerce-empty-cart-block > h2 { font-size: 22px; margin: 32px 0 16px; text-align: left !important; }

/* ==========================================================================
   Responsivo
   ========================================================================== */
@media (max-width: 1100px) {
	.rf-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.rf-grid .rf-card-wrap:nth-child(n+5) { display: block; }
	.rf-grid--rail .rf-card-wrap:nth-child(5) { display: none; }
	.rf-account__text { display: none; }
	.rf-header__row { gap: 20px; }
}

@media (max-width: 1023px) {
	.rf-benefits ul { grid-template-columns: repeat(3, 1fr); }
	.rf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rf-grid--rail .rf-card-wrap:nth-child(5) { display: block; }
	.rf-legal__layout { grid-template-columns: 1fr; gap: 24px; }
	.rf-legal__toc { position: static; }
	.rf-about-stats { grid-template-columns: repeat(2, 1fr); }
	.rf-about-values__grid { grid-template-columns: 1fr; }
	.rf-about-visit { grid-template-columns: 1fr; }
	.woocommerce .rf-single div.product { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 1023px) {
	:root { --rf-section-gap: 56px; --rf-card-gap: 20px; --rf-card-pad: 18px; }
}

@media (max-width: 1023px) {
	.rf-page--wc .wc-block-grid__products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	body { padding-bottom: 72px; font-size: 14.5px; }

	/* Minha conta: Entrar / Cadastrar empilhados (substitui o CSS mobile do WooCommerce) */
	.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2,
	.woocommerce-page .col2-set .col-1, .woocommerce-page .col2-set .col-2 { float: none; width: 100%; }
	.woocommerce .col2-set .col-2 { margin-top: 24px; }
	.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 24px; }
	.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td { display: block; text-align: right !important; }
	.woocommerce table.shop_table_responsive thead { display: none; }
	.woocommerce table.shop_table_responsive tr td::before { content: attr(data-title) ": "; float: left; font-weight: 600; }
	.rf-page--wc .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.rf-page--wc .wc-block-grid__product { padding: 12px !important; }
	.rf-page--wc .wc-block-grid__product-image img { height: 110px !important; }
	.rf-page--wc .wc-block-grid__product-title { font-size: 13px !important; }
	.rf-container { padding-inline: 16px; }
	.rf-main { gap: 32px; }
	html { scroll-padding-top: 120px; }
	.admin-bar .rf-header { top: 0; }

	.rf-header { position: sticky; }
	.rf-header__row { flex-wrap: wrap; gap: 12px; padding-block: 12px; }
	.rf-header img.rf-logo { height: 22px !important; width: 136px; }
	.rf-header__actions { gap: 8px; }
	.rf-account { display: none; }
	.rf-search { order: 3; flex-basis: 100%; max-width: none; }
	.rf-search input { height: 42px; }
	.rf-search button { width: 32px; height: 32px; }
	/* No celular a navegação vai para o menu inferior; o painel vira gaveta. */
	.rf-nav { border-top: 0; }
	.rf-nav__row { display: none; }

	/* Categorias como gaveta inferior */
	.rf-cats-panel {
		position: fixed; inset: 0; top: 0; z-index: 70;
		display: flex; align-items: flex-end; background: rgba(17, 24, 39, .45);
	}
	.rf-cats-panel[hidden] { display: none; }
	.rf-cats-panel__sheet {
		width: 100%; max-height: 80vh; overflow: auto; padding: 8px 16px 24px;
		background: #fff; border-radius: 20px 20px 0 0;
		animation: rf-sheet .25s var(--rf-ease);
	}
	.rf-cats-panel { border: 0; box-shadow: none; animation: none; }
	/* Na gaveta, os círculos ficam em grade de 3 colunas (sem rolagem lateral). */
	.rf-cats-panel .rf-catrail__inner { padding: 16px 0 8px; }
	.rf-cats-panel .rf-catrail__list {
		display: grid; grid-template-columns: repeat(3, 1fr); justify-items: center;
		gap: 20px 8px; overflow: visible; padding: 0;
	}
	.rf-cats-panel__all { margin-top: 8px; }
	.rf-cats-panel__head {
		display: flex; align-items: center; justify-content: space-between;
		padding: 12px 4px; font-size: 17px; border-bottom: 1px solid var(--rf-line); margin-bottom: 8px;
	}
	.rf-cats-close { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--rf-surface-dim); }
	html.rf-cats-open { overflow: hidden; }

	.rf-hero { margin-top: 16px; padding-inline: 16px; }
	.rf-hero__viewport { border-radius: 12px; }
	.rf-hero__arrow { display: none; }
	.rf-hero__dots { bottom: 8px; }
	.rf-hero__dots button { width: 6px; height: 6px; }
	.rf-hero__dots button[aria-current="true"] { width: 16px; }

	:root { --rf-section-gap: 48px; --rf-card-gap: 14px; --rf-card-pad: 14px; }

	/* Categorias: arrastar com o dedo, ~4 círculos visíveis */
	.rf-catrail__inner { padding-block: 22px 18px; padding-inline: 0; }
	.rf-catrail__list, .rf-catrail.is-scrollable .rf-catrail__list { justify-content: flex-start; gap: 14px; padding-inline: 16px; scroll-padding-inline: 16px; }
	.rf-catrail__item { width: 92px; gap: 8px; }
	.rf-catrail__ring { width: 80px; height: 80px; padding: 2px; }
	.rf-catrail__img { border-width: 2px; }
	/* No celular o rótulo sai das maiúsculas e pode quebrar em 2 linhas, sem invadir o vizinho. */
	.rf-catrail__label {
		width: 100%; font-size: 11.5px; font-weight: 600; letter-spacing: -.01em; text-transform: none;
		overflow-wrap: break-word; hyphens: auto; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
	}
	.rf-catrail__placeholder { font-size: 26px; }
	.rf-catrail__arrow { display: none; }
	.rf-main { padding-bottom: 56px; }

	/* Vantagens em faixa deslizante: uma linha só, sem empurrar os produtos para baixo. */
	.rf-hero + .rf-benefits { margin-top: -16px; }
	.rf-benefits ul {
		display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px;
		margin-inline: -16px; padding: 2px 16px 6px; scrollbar-width: none;
	}
	.rf-benefits ul::-webkit-scrollbar { display: none; }
	.rf-benefits li { flex: 0 0 auto; flex-direction: row; align-items: center; gap: 10px; padding: 12px 16px 12px 12px; scroll-snap-align: start; }
	.rf-benefits img { width: 36px; height: 36px; }
	.rf-benefits__title { font-size: 13.5px; white-space: nowrap; }
	.rf-benefits__text { font-size: 12px; line-height: 1.35; white-space: nowrap; }
	.rf-banner a { border-radius: 12px; }

	.rf-shelf__head { margin-bottom: 16px; }
	.rf-shelf__title { font-size: 20px; }
	.rf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rf-grid--rail {
		display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px;
		margin-inline: -16px; padding-inline: 16px; padding-bottom: 6px; scrollbar-width: none;
	}
	.rf-grid--rail::-webkit-scrollbar { display: none; }
	/* ~2,3 cards visíveis: a "ponta" do próximo indica que dá para arrastar. */
	.rf-grid--rail .rf-card-wrap { flex: 0 0 43%; scroll-snap-align: start; }
	.rf-grid--rail .rf-card-wrap:nth-child(5) { display: block; }
	.rf-card { gap: 12px; }
	.rf-card__body { gap: 12px; }
	.rf-card__img { height: 124px; }
	.rf-card__title { font-size: 13.5px; }
	.woocommerce .rf-archive ul.rf-grid { margin-top: 20px; }
	.rf-price-main { font-size: 16.5px; }
	.rf-price-alt { font-size: 12px; }

	.rf-news__inner { gap: 24px; padding-block: 40px; }
	.rf-news h2 { font-size: 23px; }
	.rf-news__form button { flex: 1 1 100%; }

	.rf-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; padding-block: 36px 28px; }
	.rf-footer__brand { grid-column: 1 / -1; }

	.rf-page__title { font-size: 25px; }
	.rf-about-hero .rf-container { padding-block: 48px; }
	.rf-about-hero h1 { font-size: 30px; }
	.rf-about-stats strong { font-size: 22px; }
	.rf-archive .woocommerce-ordering { float: none !important; display: block; margin-top: 12px !important; }
	.rf-archive .woocommerce-ordering select { width: 100%; height: 44px; }
	.woocommerce .rf-single div.product .product_title { font-size: 22px; }
	.rf-price--single .rf-price-main { font-size: 26px; }

	.rf-bottom-nav {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
		display: grid; grid-template-columns: repeat(5, 1fr);
		height: 64px; padding-bottom: env(safe-area-inset-bottom);
		background: #fff; border-top: 1px solid var(--rf-line);
		box-shadow: 0 -4px 16px rgba(17, 24, 39, .06);
	}
	.rf-bottom-nav > a, .rf-bottom-nav > button {
		position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
		border: 0; background: none; color: var(--rf-ink-soft); font-size: 11px; font-weight: 500;
	}
	.rf-bottom-nav .is-active { color: var(--rf-primary); }
	.rf-bottom-nav .rf-cart-count { top: 6px; right: calc(50% - 22px); }
	.rf-toast { bottom: 84px; border-radius: 14px; }
}

@keyframes rf-sheet { from { transform: translateY(40px); opacity: .4; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
}
