/* ==========================================================================
   MOOP by Ana Peu — layout da marca para a Nuvemshop (tema Amazonas)
   Carregado só com ?moop=1 (ver layouts/layout.tpl). Tudo usa o prefixo
   .moop- ou body.moop para não interferir no restante do tema.
   ========================================================================== */

:root {
	--moop-cream: #F6F0E8;
	--moop-sand: #EDE3D6;
	--moop-paper: #FBF8F3;
	--moop-caramel: #9A7352;
	--moop-sage: #537246;
	--moop-sage-soft: #E4E9DF;
	--moop-forest: #325D2E;
	--moop-forest-deep: #24431F;
	--moop-ink: #2A2724;
	--moop-muted: #6F6A63;
	--moop-line: #E6DDD1;
	--moop-white: #FFFFFF;
	--moop-gold: #D9BE9C;

	--moop-serif: 'EB Garamond', Garamond, 'Times New Roman', serif;
	--moop-sans: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;

	/* trocadas pelo painel (Cores da sua marca) quando o Layout MOOP usa o conteúdo do painel */
	--moop-bg: var(--moop-white);
	--moop-topbar-bg: var(--moop-forest);
	--moop-topbar-fg: #FFFFFF;
	--moop-footer-bg: var(--moop-forest-deep);
	--moop-footer-fg: #FFFFFF;

	--moop-radius: 18px;
	--moop-radius-sm: 10px;
	--moop-shadow: 0 18px 40px -24px rgba(42, 39, 36, .35);
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
body.moop {
	margin: 0;
	font-family: var(--moop-sans);
	color: var(--moop-ink);
	background: var(--moop-bg);
}
body.moop > .mt-4 { margin-top: 0 !important; }
body.moop ::selection { background: var(--moop-sage); color: var(--moop-white); }

.moop-container { max-width: 1440px; margin: 0 auto; padding: 0 24px; box-sizing: content-box !important; }
.moop-narrow { max-width: 880px; }
.moop-center { text-align: center; margin-top: 44px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.moop-section { padding: 96px 0; position: relative; }
.moop-section--cream { background: var(--moop-cream); }
.moop-section--paper { background: var(--moop-paper); }
.moop-section--tight { padding: 64px 0; }
.moop-section--flush-top { padding-top: 0; }
.moop-section--top-tight { padding-top: 56px; }
.moop-section--round-top { border-radius: 48px 48px 0 0; }
.moop-section--round-bottom { border-radius: 0 0 48px 48px; }
.moop-section--last { padding-bottom: 96px; }

/* Como comprar (passos) */
.moop-howto { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.moop-howto li { background: var(--moop-paper); border: 1px solid var(--moop-line); border-radius: var(--moop-radius); padding: 30px 26px; }
.moop-howto__num { display: block; font-family: var(--moop-serif); font-size: 40px; line-height: 1; color: var(--moop-caramel); margin-bottom: 18px; }
body.moop .moop-howto h3 { font-family: var(--moop-serif); font-size: 24px; font-weight: 500; margin: 0 0 8px; text-transform: none; color: var(--moop-ink); }
.moop-howto p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--moop-muted); }
.moop-howto strong { color: var(--moop-ink); }
.moop-howto-info { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.moop-aside-card--white { background: var(--moop-white); margin: 0; }

.moop-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--moop-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--moop-caramel);
	margin-bottom: 18px;
}
.moop-eyebrow:before { content: ""; width: 28px; height: 1px; background: currentColor; }

body.moop .moop-title {
	font-family: var(--moop-serif);
	font-weight: 400;
	font-size: clamp(34px, 4.2vw, 54px);
	line-height: 1.08;
	letter-spacing: -.01em;
	color: var(--moop-ink);
	text-transform: none;
	margin: 0 0 18px;
}
body.moop .moop-title--sm { font-size: 38px; }
.moop-title em { font-style: italic; color: var(--moop-sage); }

.moop-lead { font-size: 16px; line-height: 1.8; color: var(--moop-muted); max-width: 560px; margin: 0; }

.moop-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 44px; flex-wrap: wrap; }
body.moop .moop-section-head .moop-title { margin-bottom: 0; }
.moop-section-head .moop-lead { margin-top: 14px; }
.moop-section-head--center { flex-direction: column; align-items: center; text-align: center; }

.moop-icon { width: 22px; height: 22px; flex: none; display: inline-block; vertical-align: middle; }

/* Botões */
body.moop .moop-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 26px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-family: var(--moop-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .25s ease;
}
body.moop .moop-btn .moop-icon { width: 16px; height: 16px; }
body.moop .moop-btn:hover { transform: translateY(-1px); text-decoration: none; }
body.moop .moop-btn--solid { background: var(--moop-forest); color: var(--moop-white); }
body.moop .moop-btn--solid:hover { background: var(--moop-forest-deep); color: var(--moop-white); }
body.moop .moop-btn--ghost { background: transparent; border-color: var(--moop-ink); color: var(--moop-ink); }
body.moop .moop-btn--ghost:hover { background: var(--moop-ink); color: var(--moop-white); }
body.moop .moop-btn--light { background: var(--moop-white); color: var(--moop-ink); }
body.moop .moop-btn--light:hover { background: var(--moop-cream); color: var(--moop-ink); }
body.moop .moop-btn--outline-light { background: transparent; border-color: rgba(255, 255, 255, .6); color: var(--moop-white); }
body.moop .moop-btn--outline-light:hover { background: var(--moop-white); color: var(--moop-ink); }
body.moop .moop-btn--sm { min-height: 42px; padding: 0 20px; font-size: 12px; }
.moop-actions { display: flex; gap: 14px; flex-wrap: wrap; }

body.moop .moop-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--moop-ink);
	border-bottom: 1px solid currentColor;
	padding-bottom: 4px;
	text-decoration: none;
}
body.moop .moop-link .moop-icon { width: 14px; height: 14px; }

/* --------------------------------------------------------------------------
   Topbar + header
   -------------------------------------------------------------------------- */
.moop-topbar {
	background: var(--moop-topbar-bg);
	color: var(--moop-topbar-fg);
	font-size: 12px;
	letter-spacing: .06em;
	text-align: center;
	padding: 9px 16px;
}
.moop-topbar strong { color: inherit; font-weight: 600; }

.moop-head { background: var(--moop-white); border-bottom: 1px solid var(--moop-line); position: relative; z-index: 100; transition: top .3s ease; }
.moop-head--fixed { position: sticky; top: 0 !important; z-index: 1000; }
/* Barra "Mais vendidos / Filtrar" do catálogo: abaixo do header ao rolar */
body.moop .category-controls { z-index: 50; }
@media (max-width: 767px) {
	body.moop .js-category-controls { top: 69px !important; background: var(--moop-white); }
}
.moop-head.compress .moop-head__info { display: none; }
.moop-head__container { max-width: 1440px; margin: 0 auto; padding: 0 24px; box-sizing: content-box !important; }

/* Faixa de informações */
.moop-head__info { border-bottom: 1px solid var(--moop-line); font-size: 12px; color: var(--moop-muted); }
.moop-head__info-inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 48px; }
.moop-head__facts, .moop-head__perks { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.moop-head__facts li, .moop-head__perks li { display: inline-flex; align-items: center; gap: 8px; padding: 0 18px; border-right: 1px solid var(--moop-line); }
.moop-head__facts li:first-child { padding-left: 0; }
.moop-head__facts li:last-child, .moop-head__perks li:last-child { border-right: 0; padding-right: 0; }
.moop-head__facts .moop-icon, .moop-head__perks .moop-icon { width: 18px; height: 18px; color: var(--moop-caramel); }
.moop-head__perks span { line-height: 1.35; }
.moop-head__perks strong { display: block; color: var(--moop-ink); font-weight: 600; }

/* Barra principal: logo | menu | ações */
.moop-head__bar { display: flex; align-items: center; gap: 32px; min-height: 84px; }
body.moop .moop-head__logo { flex: none; }
body.moop .moop-head__logo img { width: 150px; height: auto; display: block; }
body.moop .moop-head__burger { display: none; color: var(--moop-ink); }
.moop-head__burger .moop-icon { width: 26px; height: 26px; }

/* O menu ocupa o espaço entre logo e ações; "safe center" impede que vaze por cima do logo */
.moop-nav { flex: 1 1 auto; min-width: 0; }
.moop-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; justify-content: safe center; gap: 24px; }
.moop-nav__item { position: relative; flex: none; }
body.moop .moop-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 30px 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--moop-ink);
	text-decoration: none;
	white-space: nowrap;
}
.moop-nav__link .moop-icon { width: 14px; height: 14px; transition: transform .2s ease; }
body.moop .moop-nav__link:hover, body.moop .moop-nav__link.is-current { color: var(--moop-sage); }
.moop-nav__sub {
	list-style: none;
	margin: 0;
	padding: 12px 0;
	position: absolute;
	top: 100%;
	left: -20px;
	min-width: 240px;
	background: var(--moop-white);
	border-top: 2px solid var(--moop-sage);
	border-radius: 0 0 var(--moop-radius-sm) var(--moop-radius-sm);
	box-shadow: var(--moop-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
	z-index: 10;
}
.moop-nav__item:hover .moop-nav__sub, .moop-nav__item:focus-within .moop-nav__sub { opacity: 1; visibility: visible; transform: none; }
.moop-nav__item:hover .moop-nav__link .moop-icon { transform: rotate(180deg); }
body.moop .moop-nav__sub a { display: block; padding: 9px 20px; font-size: 13px; color: var(--moop-ink); text-decoration: none; }
body.moop .moop-nav__sub a:hover { color: var(--moop-sage); background: var(--moop-paper); }

.moop-head__actions { display: flex; align-items: center; gap: 18px; flex: none; margin-left: auto; }
body.moop .moop-head__icon { position: relative; display: inline-flex; color: var(--moop-ink); text-decoration: none; }
body.moop .moop-head__icon:hover { color: var(--moop-sage); }
.moop-head__badge {
	position: absolute;
	top: -7px;
	right: -9px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--moop-forest);
	color: var(--moop-white);
	font-size: 10px;
	font-weight: 600;
	line-height: 18px;
	text-align: center;
}
.moop-head__notification { position: absolute; right: 24px; top: 100%; }

/* Botão do WhatsApp: completo com até 5 itens no menu; só ícone com mais itens */
.moop-head--long-nav .moop-head__cta { width: 34px; min-height: 34px !important; height: 34px; padding: 0 !important; border-radius: 50%; }
.moop-head--long-nav .moop-head__cta-text { display: none; }
body.moop .moop-head__cta .moop-icon { width: 16px; height: 16px; }

/* Painéis nativos (menu, busca, carrinho) com a tipografia da marca */
body.moop .modal { font-family: var(--moop-sans); }
body.moop .btn-primary { background-color: var(--moop-forest); border-color: var(--moop-forest); }

/* WhatsApp flutuante nativo */
body.moop .btn-whatsapp { display: none !important; }

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.moop-hero { background: var(--moop-cream); position: relative; overflow: hidden; }
.moop-hero__track { display: grid; }
.moop-hero__slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; }
.moop-hero__slide.is-active { opacity: 1; visibility: visible; }
.moop-hero__inner { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 48px; min-height: 640px; padding-top: 64px; padding-bottom: 88px; }
.moop-hero__content { max-width: 560px; }
body.moop .moop-hero__title {
	font-family: var(--moop-serif);
	font-weight: 400;
	font-size: clamp(44px, 6vw, 82px);
	line-height: .98;
	letter-spacing: -.02em;
	color: var(--moop-ink);
	text-transform: none;
	margin: 0 0 24px;
}
.moop-hero__title em { font-style: italic; color: var(--moop-caramel); }
.moop-hero__text { font-size: 17px; line-height: 1.8; color: var(--moop-muted); margin: 0 0 34px; max-width: 470px; }
.moop-hero__media { position: relative; justify-self: end; width: 100%; max-width: 560px; }
.moop-hero__media img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 260px 260px var(--moop-radius) var(--moop-radius);
	box-shadow: var(--moop-shadow);
	display: block;
}
.moop-hero__badge {
	position: absolute;
	left: -28px;
	bottom: 48px;
	background: var(--moop-white);
	border-radius: var(--moop-radius-sm);
	padding: 16px 20px;
	box-shadow: var(--moop-shadow);
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 260px;
}
.moop-hero__badge strong { display: block; font-family: var(--moop-serif); font-size: 22px; font-weight: 500; line-height: 1.1; color: var(--moop-ink); }
.moop-hero__badge span { font-size: 12px; color: var(--moop-muted); line-height: 1.4; display: block; }
.moop-hero__badge .moop-icon { color: var(--moop-caramel); width: 30px; height: 30px; }
.moop-hero__dots { position: absolute; left: 50%; bottom: 32px; transform: translateX(-50%); display: flex; gap: 10px; }
.moop-hero__dots button { width: 28px; height: 3px; padding: 0; border: 0; border-radius: 3px; background: rgba(42, 39, 36, .2); cursor: pointer; transition: background-color .3s ease, width .3s ease; }
.moop-hero__dots button[aria-selected="true"] { background: var(--moop-forest); width: 48px; }

/* Hero e-commerce (banners baixos) */
.moop-banner { background: var(--moop-cream); }
body.moop .moop-banner__slide { position: relative; display: block; height: clamp(440px, 31.25vw, 600px); overflow: hidden; color: inherit; text-decoration: none; background: var(--moop-cream); }
.moop-banner__inner { position: relative; z-index: 2; height: 100%; display: flex; align-items: center; }
.moop-banner__text { max-width: 520px; }
body.moop .moop-banner__title { font-family: var(--moop-serif); font-weight: 400; font-size: clamp(40px, 4.4vw, 68px); line-height: 1.02; letter-spacing: -.015em; color: var(--moop-ink); margin: 0 0 18px; text-transform: none; }
.moop-banner__title em { font-style: italic; color: var(--moop-caramel); }
.moop-banner__sub { font-size: 17px; line-height: 1.6; color: var(--moop-muted); margin: 0 0 28px; }
.moop-banner__pill { display: inline-block; background: var(--moop-forest); color: var(--moop-white); border-radius: 999px; padding: 6px 16px; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 18px; }
body.moop .moop-banner__slide:hover .moop-btn--solid { background: var(--moop-forest-deep); }
/* Imagem do banner em tela cheia (o espaço livre de cada arte fica sob o texto) */
.moop-banner__media { position: absolute; inset: 0; }
.moop-banner__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.moop-banner__slide--left .moop-banner__media img { object-position: 100% center; }
.moop-banner__slide--right .moop-banner__media img { object-position: 0% center; }
.moop-banner__slide--right .moop-banner__inner { justify-content: flex-end; }
.moop-banner__slide--center .moop-banner__inner { justify-content: center; text-align: center; }
.moop-banner__slide--center .moop-banner__text { max-width: 560px; }
.moop-banner__slide--center .moop-banner__text .moop-eyebrow { justify-content: center; }

/* --------------------------------------------------------------------------
   Benefícios
   -------------------------------------------------------------------------- */
.moop-benefits { background: var(--moop-white); border-bottom: 1px solid var(--moop-line); }
.moop-benefits__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.moop-benefit { display: flex; align-items: center; gap: 16px; padding: 30px 24px; border-right: 1px solid var(--moop-line); }
.moop-benefit:last-child { border-right: 0; }
.moop-benefit .moop-icon { width: 34px; height: 34px; color: var(--moop-caramel); }
.moop-benefit strong { display: block; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--moop-ink); }
.moop-benefit span { display: block; font-size: 13px; color: var(--moop-muted); line-height: 1.5; margin-top: 2px; }

/* --------------------------------------------------------------------------
   Card de produto
   -------------------------------------------------------------------------- */
.moop-card { display: flex; flex-direction: column; height: 100%; }
.moop-card__media { position: relative; display: block; background: var(--moop-paper); border-radius: var(--moop-radius); overflow: hidden; aspect-ratio: 1 / 1; }
.moop-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; display: block; }
.moop-card:hover .moop-card__media img { transform: scale(1.04); }
.moop-card__tag { position: absolute; top: 14px; right: 14px; background: rgba(255, 255, 255, .92); color: var(--moop-ink); border-radius: 999px; padding: 5px 12px; font-size: 11px; font-weight: 600; letter-spacing: .06em; }
.moop-card__tag--accent { left: 14px; right: auto; background: var(--moop-forest); color: var(--moop-white); }
.moop-card__body { padding: 18px 2px 0; display: flex; flex-direction: column; flex: 1; }
body.moop .moop-card__title { font-family: var(--moop-serif); font-size: 21px; font-weight: 500; line-height: 1.25; margin: 0 0 10px; text-transform: none; }
body.moop .moop-card__title a { color: var(--moop-ink); text-decoration: none; }
body.moop .moop-card__title a:hover { color: var(--moop-sage); }
.moop-card__price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.moop-card__price strong { font-size: 18px; font-weight: 600; color: var(--moop-ink); }
.moop-card__price s { font-size: 13px; color: var(--moop-muted); }
body.moop .moop-card__discount { font-size: 12px; font-weight: 600; color: var(--moop-sage); margin-top: 2px; }
body.moop .moop-card__installments { font-size: 12px; color: var(--moop-muted); margin-top: 2px; }
.moop-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: auto; padding-top: 18px; }
body.moop .moop-card__actions .moop-btn { min-height: 42px; padding: 0 12px; font-size: 11px; }

.moop-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 28px; }

/* Trilho horizontal (lançamentos) */
.moop-rail {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 28px) / 4);
	gap: 28px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.moop-rail::-webkit-scrollbar { display: none; }
.moop-rail > * { scroll-snap-align: start; }
.moop-rail-nav { display: flex; gap: 10px; }
.moop-rail-nav button {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 1px solid var(--moop-ink);
	background: transparent;
	color: var(--moop-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease;
}
.moop-rail-nav button:hover { background: var(--moop-ink); color: var(--moop-white); }
.moop-rail-nav .moop-icon { width: 18px; height: 18px; }

.moop-chips { list-style: none; padding: 0; margin: 0 0 44px; display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
body.moop .moop-chips a {
	display: inline-block;
	border: 1px solid var(--moop-line);
	border-radius: 999px;
	padding: 10px 22px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--moop-muted);
	background: var(--moop-white);
	text-decoration: none;
	transition: all .25s ease;
}
body.moop .moop-chips a:hover { background: var(--moop-ink); border-color: var(--moop-ink); color: var(--moop-white); }

/* --------------------------------------------------------------------------
   Categorias
   -------------------------------------------------------------------------- */
.moop-categories { display: grid; grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: repeat(2, 300px); gap: 24px; }
body.moop .moop-category { position: relative; border-radius: var(--moop-radius); overflow: hidden; display: block; color: var(--moop-white); background: var(--moop-sand); text-decoration: none; }
.moop-category:first-child { grid-row: span 2; }
.moop-category img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; display: block; }
.moop-category:hover img { transform: scale(1.05); }
.moop-category:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(36, 30, 24, 0) 30%, rgba(36, 30, 24, .82) 100%); }
.moop-category__body { position: absolute; left: 28px; right: 28px; bottom: 26px; z-index: 1; }
.moop-category__count { font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; opacity: .85; }
body.moop .moop-category__title { font-family: var(--moop-serif); font-size: 32px; font-weight: 400; line-height: 1.05; margin: 6px 0 12px; color: var(--moop-white); text-transform: none; }
.moop-category__cta { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid rgba(255, 255, 255, .7); padding-bottom: 3px; }
.moop-category__cta .moop-icon { width: 14px; height: 14px; }

/* --------------------------------------------------------------------------
   Faixa de palavras
   -------------------------------------------------------------------------- */
.moop-marquee { background: var(--moop-forest); overflow: hidden; padding: 22px 0; }
.moop-marquee__track { display: flex; align-items: center; width: max-content; animation: moop-marquee 40s linear infinite; }
.moop-marquee:hover .moop-marquee__track { animation-play-state: paused; }
.moop-marquee__word { font-family: var(--moop-serif); font-style: italic; font-size: 40px; line-height: 1.2; color: var(--moop-cream); margin: 0 26px; white-space: nowrap; }
.moop-marquee__star { color: #C8A57F; font-size: 20px; }
@keyframes moop-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .moop-marquee__track { animation: none; } }

/* --------------------------------------------------------------------------
   Split (retratos / sobre)
   -------------------------------------------------------------------------- */
.moop-split { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.moop-split--reverse .moop-split__media { order: 2; }
.moop-split__media img { width: 100%; height: auto; border-radius: var(--moop-radius); object-fit: cover; box-shadow: var(--moop-shadow); display: block; }
.moop-split__media--arch img { border-radius: 300px 300px var(--moop-radius) var(--moop-radius); aspect-ratio: 4 / 5; }
.moop-split__media--tall img { aspect-ratio: 4 / 5; }

.moop-steps { list-style: none; padding: 0; margin: 32px 0 36px; display: grid; gap: 18px; }
.moop-steps li { display: grid; grid-template-columns: 52px 1fr; gap: 16px; align-items: start; }
.moop-steps__num { width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--moop-caramel); color: var(--moop-caramel); font-family: var(--moop-serif); font-size: 22px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; }
.moop-steps li > div > strong { display: block; font-size: 15px; font-weight: 600; color: var(--moop-ink); margin-top: 4px; }
.moop-steps li > div > span { display: block; font-size: 14px; color: var(--moop-muted); line-height: 1.6; }

.moop-quote { font-family: var(--moop-serif); font-style: italic; font-size: clamp(26px, 3vw, 36px); line-height: 1.35; color: var(--moop-ink); border-left: 2px solid var(--moop-caramel); padding-left: 24px; margin: 26px 0 30px; }
.moop-signature { font-family: var(--moop-serif); font-style: italic; font-size: 26px; color: var(--moop-caramel); }

.moop-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 34px 0; padding: 28px 0; border-top: 1px solid var(--moop-line); border-bottom: 1px solid var(--moop-line); }
.moop-stats strong { display: block; font-family: var(--moop-serif); font-size: 40px; font-weight: 400; line-height: 1; color: var(--moop-forest); }
.moop-stats span { display: block; font-size: 12px; letter-spacing: .06em; color: var(--moop-muted); margin-top: 8px; }

/* --------------------------------------------------------------------------
   Instagram
   -------------------------------------------------------------------------- */
.moop-insta { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.moop-insta a { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: var(--moop-radius-sm); background: var(--moop-sand); }
.moop-insta img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; display: block; }
.moop-insta a:after { content: ""; position: absolute; inset: 0; background: rgba(50, 93, 46, .55); opacity: 0; transition: opacity .3s ease; }
.moop-insta a:hover img { transform: scale(1.06); }
.moop-insta a:hover:after { opacity: 1; }
.moop-insta a .moop-icon { position: absolute; top: 50%; left: 50%; width: 30px; height: 30px; margin: -15px 0 0 -15px; color: var(--moop-white); z-index: 1; opacity: 0; transition: opacity .3s ease; }
.moop-insta a:hover .moop-icon { opacity: 1; }

/* --------------------------------------------------------------------------
   CTA / newsletter
   -------------------------------------------------------------------------- */
.moop-cta { background: var(--moop-forest); border-radius: 28px; padding: 64px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; color: rgba(255, 255, 255, .85); position: relative; overflow: hidden; }
.moop-cta:before { content: ""; position: absolute; right: -120px; top: -120px; width: 380px; height: 380px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 0 0 60px rgba(255, 255, 255, .03), 0 0 0 120px rgba(255, 255, 255, .02); pointer-events: none; }
body.moop .moop-cta .moop-title { color: var(--moop-white); }
.moop-cta .moop-title em, .moop-cta .moop-eyebrow { color: var(--moop-gold); }
.moop-cta p { color: rgba(255, 255, 255, .78); margin: 0; }
.moop-cta__form, .moop-cta__actions { position: relative; z-index: 1; }
.moop-cta__field { display: flex; background: var(--moop-white); border-radius: 999px; padding: 6px; gap: 6px; }
body.moop .moop-cta__field input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 0 18px; font-family: var(--moop-sans); font-size: 14px; color: var(--moop-ink); outline: none; box-shadow: none; height: auto; }
.moop-cta__field input::placeholder { color: #A39C93; opacity: 1; }
.moop-cta .moop-cta__note { font-size: 12px; margin-top: 12px; color: rgba(255, 255, 255, .6); }
.moop-cta .moop-cta__alert { background: rgba(255, 255, 255, .12); border-radius: var(--moop-radius-sm); padding: 12px 16px; margin-bottom: 14px; color: var(--moop-white); }
.moop-cta .moop-cta__alert--error { background: rgba(204, 72, 69, .35); }
.moop-coupon { display: inline-flex; align-items: center; gap: 10px; border: 1px dashed rgba(217, 190, 156, .8); color: #F1E2CF; border-radius: 999px; padding: 6px 16px; font-size: 12px; font-weight: 600; letter-spacing: .14em; margin-top: 20px; }
.moop-coupon .moop-icon { width: 18px; height: 18px; }

/* --------------------------------------------------------------------------
   Rodapé
   -------------------------------------------------------------------------- */
.moop-footer { margin-top: 0 !important; background: var(--moop-footer-bg); color: color-mix(in srgb, var(--moop-footer-fg) 72%, transparent); padding: 80px 0 0; font-size: 14px; font-family: var(--moop-sans); }
body.moop .moop-footer a { color: color-mix(in srgb, var(--moop-footer-fg) 72%, transparent); text-decoration: none; transition: color .2s ease; }
body.moop .moop-footer a:hover { color: var(--moop-footer-fg); }
.moop-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 48px; padding-bottom: 56px; }
.moop-footer__brand img { width: 160px; height: auto; margin-bottom: 22px; }
.moop-footer__brand p { color: color-mix(in srgb, var(--moop-footer-fg) 72%, transparent); line-height: 1.8; max-width: 320px; margin: 0 0 24px; }
body.moop .moop-footer h5 { font-family: var(--moop-sans); font-size: 12px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--moop-footer-fg); margin: 0 0 22px; }
.moop-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.moop-footer__contact li { display: flex; gap: 12px; align-items: flex-start; }
.moop-footer__contact .moop-icon { width: 18px; height: 18px; color: var(--moop-gold); margin-top: 2px; }
.moop-social { display: flex; gap: 10px; }
body.moop .moop-social a { width: 42px; height: 42px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--moop-footer-fg) 25%, transparent); display: inline-flex; align-items: center; justify-content: center; }
body.moop .moop-social a:hover { background: var(--moop-footer-fg); color: var(--moop-footer-bg); }
.moop-social .moop-icon { width: 18px; height: 18px; }
.moop-footer__pay { margin-top: 20px; background: var(--moop-white); border-radius: var(--moop-radius-sm); padding: 10px 12px; }
.moop-footer__pay img { max-height: 22px; margin: 3px; }
.moop-footer__bottom { border-top: 1px solid color-mix(in srgb, var(--moop-footer-fg) 12%, transparent); padding: 22px 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 12px; color: rgba(255, 255, 255, .55); }
.moop-footer__powered img { filter: brightness(0) invert(1); opacity: .7; }

/* --------------------------------------------------------------------------
   Páginas internas
   -------------------------------------------------------------------------- */
.moop-page-hero { background: var(--moop-cream); padding: 110px 0 100px; text-align: center; }
body.moop .moop-page-hero .moop-title { font-size: clamp(40px, 5.5vw, 72px); }
.moop-page-hero .moop-lead { margin: 0 auto; }
body.moop .moop-page-hero .moop-title { margin-bottom: 14px; }
.moop-breadcrumb { display: inline-flex; flex-wrap: wrap; gap: 12px; justify-content: center; list-style: none; padding: 0; margin: 26px 0 0; font-size: 14px; color: var(--moop-muted); }
.moop-breadcrumb li + li:before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 12px 2px 0; border-top: 1.5px solid var(--moop-caramel); border-right: 1.5px solid var(--moop-caramel); transform: rotate(45deg); }
.moop-breadcrumb li:last-child { color: var(--moop-ink); }
body.moop .moop-breadcrumb a { color: var(--moop-ink); text-decoration: none; font-weight: 500; }
body.moop .moop-breadcrumb a:hover { color: var(--moop-sage); }

.moop-prose p, .moop-prose li { font-size: 16px; line-height: 1.9; color: var(--moop-muted); }
.moop-prose p { margin: 0 0 18px; }
.moop-prose strong, .moop-prose b { color: var(--moop-ink); font-weight: 600; }
body.moop .moop-prose h2, body.moop .moop-prose h3, body.moop .moop-prose h4 { font-family: var(--moop-serif); font-weight: 500; color: var(--moop-ink); text-transform: none; margin: 32px 0 12px; }
body.moop .moop-prose a { color: var(--moop-sage); text-decoration: underline; }
.moop-user-content img { max-width: 100%; height: auto; border-radius: var(--moop-radius-sm); }

.moop-timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.moop-timeline__item { background: var(--moop-white); border-radius: var(--moop-radius); padding: 36px 32px; border: 1px solid var(--moop-line); }
.moop-timeline__mark { font-family: var(--moop-serif); font-size: 46px; line-height: 1; color: var(--moop-caramel); margin-bottom: 16px; }
body.moop .moop-timeline__item h3 { font-family: var(--moop-serif); font-size: 26px; font-weight: 500; margin: 0 0 10px; text-transform: none; }
.moop-timeline__item p { color: var(--moop-muted); margin: 0; line-height: 1.75; }

.moop-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.moop-value { text-align: center; padding: 12px 24px; }
.moop-value__icon { width: 76px; height: 76px; border-radius: 50%; background: var(--moop-sage-soft); color: var(--moop-forest); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.moop-value__icon .moop-icon { width: 32px; height: 32px; }
body.moop .moop-value h3 { font-family: var(--moop-serif); font-size: 28px; font-weight: 500; margin: 0 0 10px; text-transform: none; }
.moop-value p { color: var(--moop-muted); margin: 0; line-height: 1.75; }

.moop-process { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--moop-line); }
.moop-process__step { padding: 34px 28px 0 0; position: relative; }
.moop-process__step:before { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--moop-caramel); }
.moop-process__step small { font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--moop-caramel); }
body.moop .moop-process__step h4 { font-family: var(--moop-serif); font-size: 24px; font-weight: 500; margin: 8px 0; text-transform: none; }
.moop-process__step p { color: var(--moop-muted); margin: 0; font-size: 14px; line-height: 1.7; }

/* Contato */
.moop-channels { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin: -48px 0 -24px; position: relative; z-index: 2; }
body.moop .moop-channel { background: var(--moop-white); border-radius: var(--moop-radius); border: 1px solid var(--moop-line); padding: 28px 24px; display: flex; flex-direction: column; gap: 6px; box-shadow: var(--moop-shadow); color: var(--moop-ink); text-decoration: none; transition: transform .25s ease, border-color .25s ease; }
body.moop .moop-channel:hover { transform: translateY(-3px); border-color: var(--moop-sage); }
.moop-channel .moop-icon { width: 30px; height: 30px; color: var(--moop-caramel); margin-bottom: 10px; }
.moop-channel small { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--moop-muted); }
.moop-channel strong { font-size: 16px; font-weight: 600; color: var(--moop-ink); word-break: break-word; }
.moop-channel span { font-size: 13px; color: var(--moop-sage); font-weight: 600; margin-top: 6px; }

.moop-contact { display: grid; grid-template-columns: 1.35fr 1fr; gap: 56px; align-items: start; }
.moop-form { background: var(--moop-white); border: 1px solid var(--moop-line); border-radius: var(--moop-radius); padding: 44px; }
.moop-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.moop-field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; min-width: 0; }
.moop-head *, .moop-head *:before, .moop-head *:after, .moop-form *, .moop-cta *, .moop-card *, .moop-channel, .moop-auth *, .moop-cart *, .moop-cart__totals * { box-sizing: border-box; }
body.moop .moop-field label { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--moop-ink); margin: 0; }
body.moop .moop-field input, body.moop .moop-field textarea {
	width: 100%;
	height: auto;
	border: 1px solid var(--moop-line);
	background: var(--moop-paper);
	border-radius: var(--moop-radius-sm);
	padding: 14px 16px;
	font-family: var(--moop-sans);
	font-size: 14px;
	color: var(--moop-ink);
	box-shadow: none;
	transition: border-color .2s ease, background-color .2s ease;
}
.moop-field textarea { min-height: 150px; resize: vertical; }
.moop-field input:focus, .moop-field textarea:focus { outline: none; border-color: var(--moop-sage); background: var(--moop-white); }
.moop-field ::placeholder { color: #A39C93; opacity: 1; }
.moop-form__foot { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-top: 6px; }
.moop-form__foot small { color: var(--moop-muted); font-size: 12px; }
.moop-form__product { display: flex; gap: 16px; align-items: center; background: var(--moop-paper); border-radius: var(--moop-radius-sm); padding: 12px; margin-bottom: 20px; }
.moop-form__product img { width: 64px; border-radius: 8px; }
.moop-form__product p { margin: 0; font-size: 14px; }
.moop-alert { border-radius: var(--moop-radius-sm); padding: 14px 18px; margin-bottom: 20px; font-size: 14px; }
.moop-alert--success { background: var(--moop-sage-soft); color: var(--moop-forest-deep); }
.moop-alert--error { background: #F6E1DF; color: #8C2F2C; }

.moop-aside-card { background: var(--moop-cream); border-radius: var(--moop-radius); padding: 36px; margin-bottom: 20px; }
.moop-aside-card--sage { background: var(--moop-sage-soft); }
body.moop .moop-aside-card h3 { font-family: var(--moop-serif); font-size: 28px; font-weight: 500; margin: 0 0 16px; text-transform: none; }
.moop-aside-card p { color: var(--moop-muted); margin: 0 0 18px; line-height: 1.75; }
.moop-hours { list-style: none; padding: 0; margin: 0; }
.moop-hours li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--moop-line); font-size: 14px; }
.moop-hours li:last-child { border-bottom: 0; }
.moop-hours li span { color: var(--moop-muted); }
.moop-hours li strong { font-weight: 600; color: var(--moop-ink); text-align: right; }

.moop-faq { max-width: 860px; margin: 0 auto; }
.moop-faq details { border-bottom: 1px solid var(--moop-line); padding: 22px 0; }
.moop-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 18px; font-family: var(--moop-serif); font-size: 24px; font-weight: 500; color: var(--moop-ink); }
.moop-faq summary::-webkit-details-marker { display: none; }
.moop-faq summary:after { content: "+"; font-family: var(--moop-sans); font-weight: 300; font-size: 28px; color: var(--moop-caramel); transition: transform .25s ease; }
.moop-faq details[open] summary:after { transform: rotate(45deg); }
.moop-faq details p { color: var(--moop-muted); margin: 12px 0 0; line-height: 1.8; max-width: 720px; }

/* --------------------------------------------------------------------------
   Telas nativas do Amazonas com a identidade MOOP
   (catálogo, busca, produto, carrinho, conta e painéis). Só CSS: a estrutura e
   o JS nativos continuam iguais, então filtros, variações, frete e carrinho seguem funcionando.
   -------------------------------------------------------------------------- */
body.moop h1, body.moop h2, body.moop h3, body.moop .h1, body.moop .h2, body.moop .h3, body.moop .title-section { font-family: var(--moop-serif); font-weight: 400; color: var(--moop-ink); letter-spacing: -.005em; }
body.moop .page-header h1, body.moop .js-product-name { font-family: var(--moop-serif); font-weight: 400; font-size: clamp(32px, 3.6vw, 46px); line-height: 1.1; text-transform: none; color: var(--moop-ink); }
body.moop .page-header {
	background: var(--moop-cream);
	box-shadow: 0 0 0 100vmax var(--moop-cream);
	clip-path: inset(0 -100vmax);
	padding: 72px 0 64px !important;
	margin-bottom: 56px !important;
	text-align: center;
}
body.moop .page-header h1 { margin: 0 !important; text-align: center !important; }
body.moop .page-header { padding: 110px 0 100px !important; }
body.moop .page-header > .container > .row > div { display: flex; flex-direction: column; align-items: center; }
body.moop .page-header .breadcrumbs { order: 2; margin: 26px 0 0 !important; text-align: center !important; text-transform: none; letter-spacing: 0; font-size: 14px; }
body.moop section.container:has(> .row > .col-12 > .breadcrumbs) { display: none; }
body.moop [class*="template-account"] .page-header + * { margin-top: 0; }

/* Conta: login, cadastro, senha, dados, endereços e pedidos */
body.moop [class*="template-account"] .form-control { min-height: 48px; }
body.moop.template-account-reset .account-page .row > [class*="col-"], body.moop.template-account-newpass .account-page .row > [class*="col-"], body.moop.template-account-info .account-page .row > [class*="col-"], body.moop.template-account-address .account-page .row > [class*="col-"] { flex: 0 0 100%; max-width: 640px; }
body.moop [class*="template-account"] .account-page { padding-bottom: 96px; }
body.moop [class*="template-account"] .btn-primary { min-height: 50px; }
body.moop [class*="template-account"] .card, body.moop [class*="template-account"] .box { border: 1px solid var(--moop-line); border-radius: var(--moop-radius); box-shadow: none; }
body.moop .template-account-orders .card-header, body.moop [class*="template-account"] .card-header { background: var(--moop-paper); border-bottom: 1px solid var(--moop-line); font-family: var(--moop-serif); font-size: 20px; }

/* Carrinho (página) */
body.moop #shoppingCartPage { margin-top: 0 !important; padding-bottom: 96px; }

body.moop #shoppingCartPage .cart-row { border-color: var(--moop-line); }
body.moop #shoppingCartPage .cart-item-image, body.moop #shoppingCartPage img { border-radius: var(--moop-radius-sm); }
body.moop #shoppingCartPage .cart-item-name { font-family: var(--moop-serif); font-size: 20px; color: var(--moop-ink); }
body.moop .cart-totals-container { background: var(--moop-paper); border-radius: var(--moop-radius); padding: 24px; }

/* Botões e campos */
body.moop .btn { font-family: var(--moop-sans); letter-spacing: .08em; }
body.moop .btn-primary { background: var(--moop-forest); border-color: var(--moop-forest); color: var(--moop-white); border-radius: 999px; font-weight: 600; text-transform: uppercase; }
body.moop .btn-primary:hover, body.moop .btn-primary:focus { background: var(--moop-forest-deep); border-color: var(--moop-forest-deep); }
body.moop .btn-secondary, body.moop .btn-default { border-radius: 999px; border-color: var(--moop-ink); color: var(--moop-ink); background: transparent; }
body.moop .btn-secondary:hover { background: var(--moop-ink); color: var(--moop-white); }
body.moop .btn-link, body.moop .btn-link-primary { color: var(--moop-sage); }
body.moop .form-control, body.moop .form-select { border-radius: var(--moop-radius-sm); border-color: var(--moop-line); background-color: var(--moop-paper); font-family: var(--moop-sans); color: var(--moop-ink); }
body.moop .form-control:focus, body.moop .form-select:focus { border-color: var(--moop-sage); box-shadow: none; }
body.moop .form-group > .form-label { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--moop-ink); }
body.moop #single-product .form-row .form-label { font-size: 13px; color: var(--moop-muted); text-transform: none; letter-spacing: 0; }
body.moop #single-product .form-row .form-label .font-weight-bold { color: var(--moop-ink); }

/* Navegação estrutural */
body.moop .breadcrumbs, body.moop .breadcrumbs a { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--moop-muted); }
body.moop .breadcrumbs .crumb.active { color: var(--moop-ink); }
body.moop .breadcrumbs .divider { color: var(--moop-line); margin: 0 6px; }

/* Catálogo: barra lateral e filtros */
body.moop.template-category .category-controls { padding-top: 24px; }
body.moop .category-body .title-section { font-size: 26px; text-transform: none; }
body.moop .category-body .list-unstyled .btn-link { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--moop-muted); text-decoration: none; }
body.moop .category-body .list-unstyled .btn-link:hover { color: var(--moop-sage); }
body.moop #filters .h6 { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--moop-caramel); }
body.moop .checkbox-container .checkbox-icon { border-radius: 5px; border-color: var(--moop-line); }
body.moop .checkbox-container input:checked + .checkbox .checkbox-icon { background: var(--moop-forest); border-color: var(--moop-forest); }
body.moop .checkbox-text { color: var(--moop-muted); }
body.moop .category-controls .form-select { border-radius: 999px; }

/* Card de produto nativo no estilo do card MOOP */
body.moop .item-product { border: 0; box-shadow: none !important; background: transparent; }
body.moop .item-product .item-image, body.moop .item-product .product-item-image-container { border-radius: var(--moop-radius); overflow: hidden; background: var(--moop-paper); }
body.moop .item-product .item-image { padding-bottom: 100% !important; height: 0; position: relative; }
body.moop .item-product .item-image img { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; max-width: none; max-height: none; transform: none !important; object-fit: cover; transition: scale .6s ease; }
body.moop .item-product:hover .item-image img { scale: 1.04; }
body.moop .item-description { text-align: left; border-bottom: 0 !important; padding-left: 2px !important; padding-right: 2px !important; }
body.moop .item-name { font-family: var(--moop-serif); font-size: 20px; line-height: 1.25; color: var(--moop-ink); text-transform: none; margin-bottom: 10px !important; }
body.moop .item-link:hover .item-name { color: var(--moop-sage); }
body.moop .item-price-container { text-align: left; }
body.moop .item-price { font-family: var(--moop-sans); font-size: 18px; font-weight: 600; color: var(--moop-ink); }
body.moop .price-compare { color: var(--moop-muted); font-size: 13px; }
body.moop .item-description .text-accent, body.moop .item-description [class*="payment-discount"] { color: var(--moop-sage) !important; font-size: 12px; text-align: left; }
body.moop .item-installments, body.moop .item-description .js-max-installments-container { color: var(--moop-muted); font-size: 12px; text-align: left; }
body.moop .item-actions .btn { min-height: 40px; font-size: 11px; }
body.moop .label-accent, body.moop .label-offer-percentage { background: var(--moop-forest); color: var(--moop-white); border-radius: 999px; }
body.moop .pagination .page-link, body.moop .js-load-more { border-radius: 999px; }

/* Containers nativos (catálogo, produto, carrinho) alinhados com o header */
body.moop .container { max-width: 1488px; padding-left: 24px; padding-right: 24px; box-sizing: border-box; }

/* Catálogo: barra lateral em cartão, afastada 60px dos produtos */
@media (min-width: 768px) {
	body.moop .category-body > .container > .row { margin-left: 0; }
	body.moop .category-body > .container > .row > .col-md-2 {
		flex: 0 0 260px;
		max-width: 260px;
		margin-right: 60px;
		margin-top: 15px;
		padding: 32px 26px !important;
		background: var(--moop-cream);
		border-radius: var(--moop-radius);
		align-self: flex-start;
	}
}
body.moop .category-body .col-md-2 .title-section { font-size: 24px; line-height: 1.15; margin-bottom: 18px !important; }
body.moop .category-body .col-md-2 #filters { border-top: 1px solid var(--moop-line); padding-top: 24px; }
body.moop .category-body .col-md-2 > #filters:first-child { border-top: 0; padding-top: 0; }
/* Caminho dentro do hero das telas nativas (blog, busca, conta): mesmo estilo das páginas MOOP */
body.moop .page-header .breadcrumbs, body.moop .page-header .breadcrumbs a, body.moop .page-header .breadcrumbs .crumb { text-transform: none; letter-spacing: 0; font-size: 14px; color: var(--moop-ink); }
body.moop .page-header .breadcrumbs .crumb.active { color: var(--moop-muted); }
body.moop .page-header .breadcrumbs .divider { color: var(--moop-caramel); margin: 0 10px; }
body.moop .checkbox-container { position: relative; display: block; padding-right: 26px; }
body.moop .checkbox-container .checkbox-color { position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border-radius: 50%; margin: 0; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); }
body.moop .category-body .col-md-2 .form-control { background: var(--moop-white); }

/* Página de produto */
/* Respiro entre galeria e informações */
@media (min-width: 992px) {
	body.moop .section-single-product > .col-md-8 { flex: 0 0 60%; max-width: 60%; padding-right: 32px !important; }
	body.moop .section-single-product > .col { flex: 0 0 40%; max-width: 40%; padding-left: 48px !important; }
}
body.moop [data-store^="product-image"] > .col-2 { padding-right: 18px; }
body.moop .js-product-thumb { margin-bottom: 14px !important; border-radius: var(--moop-radius-sm); overflow: hidden; background: var(--moop-paper); }
body.moop .js-product-thumb.selected { box-shadow: 0 0 0 2px var(--moop-sage); }
/* Blocos da coluna de compra separados */
body.moop #single-product .js-product-name { margin: 4px 0 24px; }
body.moop #single-product .price-container { margin-bottom: 18px !important; }
body.moop #single-product .js-product-payments-container { margin-bottom: 0 !important; padding-bottom: 26px; border-bottom: 1px solid var(--moop-line); }
body.moop #product_form { margin-top: 28px; }
body.moop #product_form .form-group { margin-bottom: 22px; }
body.moop #product_form .form-row.mb-2 { margin-top: 8px; margin-bottom: 0 !important; }
body.moop #product-shipping-container { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--moop-line); }
body.moop #single-product .form-row:has(> .form-label) { margin: 22px 0 0 !important; }
body.moop #single-product .form-row:has(> .form-label) + .form-row:has(> .form-label) { margin-top: 16px !important; }
/* Galeria sempre quadrada: fotos verticais (ex.: tabela de medidas) aparecem inteiras, sem abrir vão */
body.moop .js-product-slide-link { padding-bottom: 100% !important; background: var(--moop-paper); border-radius: var(--moop-radius); overflow: hidden; }
body.moop .js-product-slide-link .product-slider-image { width: 100%; height: 100%; object-fit: contain; }
body.moop .js-swiper-product { border-radius: var(--moop-radius); }
/* Coluna de compra acompanha a rolagem no desktop */
@media (min-width: 768px) {
	body.moop.template-product .section-single-product > .col { position: sticky; top: 24px; align-self: flex-start; }
}
body.moop #single-product .breadcrumbs { margin-bottom: 14px; line-height: 1.6; }
/* Descrição com título e respiro */
body.moop #product-description { margin-top: 56px !important; padding-top: 40px; border-top: 1px solid var(--moop-line); }
body.moop:not(.template-product) #product-description:before { content: "Sobre a peça"; display: block; font-family: var(--moop-serif); font-size: 32px; color: var(--moop-ink); margin-bottom: 18px; }
body.moop #product-description .product-description p { margin-bottom: 10px; }
/* Catálogo: o caminho já aparece no hero */
body.moop.template-category .category-controls .breadcrumbs { display: none; }
body.moop.template-product #single-product { padding-top: 28px; }
body.moop .product-slider-image, body.moop #single-product .swiper-slide img, body.moop .js-product-slide img { border-radius: var(--moop-radius); }
body.moop .product-thumbs img, body.moop .js-product-thumb img { border-radius: var(--moop-radius-sm); }
body.moop #single-product .js-price-display { font-family: var(--moop-sans); font-size: 30px; font-weight: 600; color: var(--moop-ink); }
body.moop #single-product .price-compare { font-size: 16px; }
body.moop #single-product .text-accent, body.moop #single-product [class*="payment-discount"] { color: var(--moop-sage) !important; }
body.moop #single-product .js-addtocart { min-height: 52px; }
body.moop #single-product .form-quantity, body.moop #single-product .js-quantity { border-radius: 999px; }
body.moop .product-description, body.moop .user-content { font-size: 15px; line-height: 1.85; color: var(--moop-muted); }
body.moop .product-description strong, body.moop .user-content strong { color: var(--moop-ink); }
body.moop .section-products-related h2, body.moop .section-featured-home h2 { font-size: clamp(32px, 3.6vw, 46px); text-transform: none; }

/* Carrinho, conta e painéis (carrinho lateral, menu, busca) */
body.moop .cart-body, body.moop .modal { font-family: var(--moop-sans); }
body.moop .modal-header { font-family: var(--moop-serif); font-size: 26px; font-weight: 400; color: var(--moop-ink); }
body.moop .cart-totals-container .js-cart-total, body.moop .cart-total { font-weight: 600; color: var(--moop-ink); }
body.moop .nav-hamburger .nav-list-link { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--moop-ink); }
body.moop .badge-amount { background: var(--moop-forest); color: var(--moop-white); }
body.moop .alert-info, body.moop .alert-primary { background: var(--moop-cream); color: var(--moop-ink); border: 0; border-radius: var(--moop-radius-sm); }
body.moop .alert-info svg, body.moop .alert-primary svg { fill: var(--moop-caramel); }
body.moop .alert-success { background: var(--moop-sage-soft); color: var(--moop-forest-deep); border: 0; border-radius: var(--moop-radius-sm); }

/* --------------------------------------------------------------------------
   Login e cadastro (padrão Bloxic: duas colunas)
   -------------------------------------------------------------------------- */
.moop-auth__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: start; max-width: 1180px; }
.moop-auth__card { background: var(--moop-white); border: 1px solid var(--moop-line); border-radius: 24px; padding: 48px; box-shadow: var(--moop-shadow); }
body.moop .moop-auth__card .moop-title--sm { margin-bottom: 28px; }
.moop-auth__card .moop-field input { background: var(--moop-paper); }
body.moop .moop-auth__forgot { display: block; text-align: right; margin: -6px 0 22px; font-size: 13px; font-weight: 600; color: var(--moop-sage); text-decoration: none; }
body.moop .moop-auth__submit { width: 100%; min-height: 54px; margin-top: 6px; }
body.moop .moop-auth__submit[disabled] { opacity: .55; cursor: not-allowed; transform: none; }
.moop-auth__captcha { margin: 6px 0 18px; }
.moop-auth__aside { background: var(--moop-cream); border-radius: 24px; padding: 48px; position: sticky; top: 24px; }
.moop-auth__aside .moop-lead { margin-bottom: 26px; }
.moop-auth__perks { list-style: none; padding: 0; margin: 0 0 32px; display: grid; gap: 18px; }
.moop-auth__perks li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; font-size: 14px; color: var(--moop-muted); line-height: 1.55; }
.moop-auth__perks .moop-icon { width: 44px; height: 44px; padding: 11px; border-radius: 50%; background: var(--moop-white); color: var(--moop-caramel); }
.moop-auth__perks strong { display: block; color: var(--moop-ink); font-weight: 600; margin-bottom: 2px; }

/* --------------------------------------------------------------------------
   Carrinho (padrão Bloxic: itens + coluna de resumo)
   -------------------------------------------------------------------------- */
.moop-cart { padding: 80px 0 96px; }
.moop-cart__grid { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; align-items: start; }
.moop-cart__head { display: grid; grid-template-columns: minmax(0, 1fr) 150px 120px 120px 36px; gap: 16px; padding: 0 0 16px; border-bottom: 1px solid var(--moop-line); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--moop-ink); }
.moop-cart__head span:not(:first-child) { text-align: center; }
/* Linha nativa (cart-item-ajax): imagem | [nome, quantidade, preço, total] | excluir — alinhada ao cabeçalho */
body.moop .moop-cart .js-cart-item { display: grid; grid-template-columns: 96px minmax(0, 1fr) 36px; gap: 16px; align-items: center; margin: 0; padding: 24px 0; border-bottom: 1px solid var(--moop-line); }
body.moop .moop-cart .js-cart-item > div { flex: none; max-width: none; width: auto; padding: 0 !important; margin: 0; }
body.moop .moop-cart .js-cart-item > .col-12 { display: none; }
body.moop .moop-cart .js-cart-item > div:first-child img { width: 96px; height: 96px; object-fit: cover; border-radius: var(--moop-radius-sm); background: var(--moop-paper); display: block; }
body.moop .moop-cart .js-cart-item > div:nth-child(2) > .row { display: grid; grid-template-columns: minmax(0, 1fr) 150px 120px 120px; gap: 16px; align-items: center; margin: 0; }
body.moop .moop-cart .js-cart-item > div:nth-child(2) > .row > * { flex: none; max-width: none; width: auto; padding: 0; margin: 0 !important; text-align: center; }
body.moop .moop-cart .js-cart-item h6 { text-align: left !important; }
body.moop .moop-cart .js-cart-item h6 a { display: block; font-family: var(--moop-serif); font-size: 21px; font-weight: 400; line-height: 1.25; color: var(--moop-ink); text-decoration: none; }
body.moop .moop-cart .js-cart-item h6 small { display: block; margin-top: 6px; font-family: var(--moop-sans); font-size: 13px; color: var(--moop-muted); }
body.moop .moop-cart .js-cart-item .h4, body.moop .moop-cart .js-cart-item .h5 { font-family: var(--moop-sans); font-size: 16px; font-weight: 500; color: var(--moop-ink); margin: 0; }
body.moop .moop-cart .js-cart-item-subtotal { font-weight: 600 !important; }
body.moop .moop-cart .cart-item-quantity .form-quantity { display: inline-flex; width: auto; margin: 0; border: 1px solid var(--moop-line); border-radius: 999px; background: var(--moop-paper); padding: 4px 8px; }
body.moop .moop-cart .form-quantity > .row { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center; margin: 0; }
body.moop .moop-cart .cart-item-quantity input { width: 40px !important; height: 32px; padding: 0; border: 0; background: transparent; text-align: center; font-weight: 600; box-shadow: none; }
body.moop .moop-cart .form-quantity-icon { padding: 4px 6px; line-height: 1; }
body.moop .moop-cart .form-quantity-icon svg, body.moop .moop-cart .cart-item-spinner svg { width: 12px; height: 12px; }
body.moop .moop-cart .cart-item-delete svg { width: 16px; height: 16px; }
body.moop .moop-cart .form-control-container { padding: 0; flex: 0 0 auto; }
body.moop .moop-cart .cart-item-delete { position: static !important; text-align: center; }
body.moop .moop-cart .cart-item-delete .btn { position: static; padding: 6px; color: var(--moop-muted); }
body.moop .moop-cart .cart-item-delete .btn:hover svg { fill: #b23b37; }
.moop-cart__continue { margin-top: 28px; }
.moop-cart__aside { position: sticky; top: 24px; }
body.moop .moop-cart__title { font-family: var(--moop-serif); font-size: 28px; font-weight: 400; color: var(--moop-ink); margin: 0 0 18px; }
/* Resumo nativo (cart-totals) empilhado dentro da coluna */
body.moop .moop-cart__totals { display: flow-root; background: var(--moop-cream); border-radius: 24px; padding: 28px; }
.moop-cart__trust { clear: both; }
.moop-cart #store-curr { display: none; }
body.moop .moop-cart__totals > .container { max-width: none; padding: 0; }
body.moop .moop-cart__totals > .container > .row, body.moop .moop-cart__totals > .container > .row > .col-md-8 > .row { display: block; margin: 0; }
body.moop .moop-cart__totals > .container > .row > [class*="col-"], body.moop .moop-cart__totals > .container > .row > .col-md-8 > .row > [class*="col-"] { max-width: none; width: 100%; padding: 0; }
body.moop .moop-cart__totals .form-row { display: flex; flex-wrap: nowrap; gap: 8px; margin: 0; }
body.moop .moop-cart__totals .form-row > .col { flex: 1; padding: 0; }
body.moop .moop-cart__totals .form-row > .col-auto { padding: 0; }
body.moop .moop-cart__totals .form-row .btn { min-height: 46px; padding: 0 18px; }
body.moop .moop-cart__totals .box .row:not(.form-row) { display: flex; gap: 12px; justify-content: space-between; align-items: baseline; margin-left: 0; margin-right: 0; }
body.moop .moop-cart__totals .box .row:not(.form-row) > [class*="col"] { padding: 0; flex: 0 1 auto; width: auto; }
body.moop .moop-cart__totals .form-label { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--moop-ink); }
body.moop .moop-cart__totals .box { float: none !important; width: 100%; border: 0; padding: 0; margin: 0; background: transparent; box-shadow: none; }
body.moop .moop-cart__totals .divider { border-color: var(--moop-line); margin: 18px 0; }
body.moop .moop-cart__totals .form-control { background: var(--moop-white); }
body.moop .moop-cart__totals .btn-primary { width: 100%; min-height: 54px; }
body.moop .moop-cart__totals h2, body.moop .moop-cart__totals .h2 { font-family: var(--moop-serif); font-size: 30px; }
.moop-cart__trust { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 12px; font-size: 13px; color: var(--moop-muted); }
.moop-cart__trust li { display: flex; align-items: center; gap: 10px; }
.moop-cart__trust .moop-icon { width: 18px; height: 18px; color: var(--moop-caramel); }
.moop-cart__empty { text-align: center; max-width: 560px; margin: 0 auto; padding: 24px 0; }
.moop-cart__empty > .moop-icon { width: 64px; height: 64px; padding: 16px; border-radius: 50%; background: var(--moop-cream); color: var(--moop-caramel); margin-bottom: 20px; }
.moop-cart__empty .moop-lead { margin: 0 auto 28px; }
.moop-cart__empty .moop-actions { justify-content: center; }

/* --------------------------------------------------------------------------
   Ritmo vertical padronizado: hero -> primeiro conteúdo = 72px (48px no celular)
   -------------------------------------------------------------------------- */
:root { --moop-after-hero: 72px; }
body.moop .moop-page-hero + .moop-section:not(.moop-section--flush-top), body.moop .moop-page-hero + script + .moop-section:not(.moop-section--flush-top) { padding-top: var(--moop-after-hero); }
body.moop .moop-page-hero + .moop-cart { padding-top: var(--moop-after-hero); }
body.moop .page-header { margin-bottom: var(--moop-after-hero) !important; }
body.moop .moop-page-hero ~ .category-controls, body.moop .moop-page-hero ~ .js-category-controls { padding-top: var(--moop-after-hero); }
@media (max-width: 767px) {
	:root { --moop-after-hero: 48px; }
	body.moop .moop-page-hero ~ .js-category-controls { padding-top: 12px; margin-top: 36px; }
}

/* Produto: título e caminho ficam na coluna de compra (sem o hero creme das telas nativas) */
body.moop.template-product .page-header {
	background: none; box-shadow: none; clip-path: none;
	padding: 0 !important; margin: 0 0 8px !important; text-align: left;
}
body.moop.template-product .page-header > .container > .row > div,
body.moop.template-product .page-header > div { display: block; align-items: initial; }
body.moop.template-product .page-header .breadcrumbs { order: 0; margin: 0 0 14px !important; text-align: left !important; font-size: 12px; line-height: 1.7; }
body.moop.template-product .page-header .breadcrumbs, body.moop.template-product .page-header .breadcrumbs a, body.moop.template-product .page-header .breadcrumbs .crumb { font-size: 12px; text-transform: none; }
body.moop.template-product .page-header h1 { text-align: left !important; font-size: clamp(30px, 3vw, 42px); margin: 0 0 20px !important; }

/* ==========================================================================
   Catálogo v2 (modelo aprovado): cabeçalho compacto, filtros em sanfona, cards "Ver peça"
   ========================================================================== */
.moop-cat-head { padding: 28px 0 26px; border-bottom: 1px solid var(--moop-line); margin-bottom: 36px; }
.moop-cat-head__crumbs { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--moop-muted); }
.moop-cat-head__crumbs li + li:before { content: "/"; margin-right: 6px; color: #B9B1A6; }
body.moop .moop-cat-head__crumbs a { color: var(--moop-muted); text-decoration: none; }
body.moop .moop-cat-head__crumbs a:hover { color: var(--moop-sage); }
.moop-cat-head__crumbs span { color: var(--moop-ink); }
body.moop .moop-cat-head__title { font-family: var(--moop-serif); font-weight: 400; font-size: clamp(36px, 4.4vw, 60px); line-height: 1.05; letter-spacing: -.015em; color: var(--moop-ink); margin: 0 0 10px; text-transform: none; }
.moop-cat-head__lead { font-size: 17px; color: var(--moop-muted); margin: 0; }

.moop-catalog { padding-bottom: 80px; }
.moop-catalog__grid { display: grid; grid-template-columns: 240px minmax(0, 1fr); }
.moop-catalog__grid--full { grid-template-columns: minmax(0, 1fr); }
.moop-catalog__side { padding-right: 36px; border-right: 1px solid var(--moop-line); }
.moop-catalog__grid:not(.moop-catalog__grid--full) .moop-catalog__main { padding-left: 36px; }
.moop-catalog__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
body.moop .moop-catalog__bar-title { font-family: var(--moop-sans); font-size: 18px; font-weight: 500; color: var(--moop-ink); margin: 0; letter-spacing: 0; text-transform: none; }
body.moop .moop-catalog__bar .category-controls { flex: 0 1 auto; width: auto; max-width: none; margin: 0 !important; padding: 0 !important; background: transparent; }
body.moop .moop-catalog__bar .category-controls > .row { margin: 0 !important; flex-wrap: nowrap; justify-content: flex-end; gap: 12px; }
body.moop .moop-catalog__bar .category-controls > .row > [class*="col"] { flex: 0 0 auto; max-width: none; width: auto; padding: 0; }
body.moop .moop-catalog__bar .category-controls .breadcrumbs { display: none; }
body.moop .moop-catalog__bar .form-select { min-width: 220px; height: 44px; border-radius: 12px; background-color: var(--moop-paper); border: 1px solid var(--moop-line); font-size: 14px; font-weight: 500; }
.moop-catalog__side .title-section { font-family: var(--moop-serif); font-size: 26px; text-transform: none; margin: 0 0 8px !important; }
.moop-catalog__side .list-unstyled { margin-bottom: 18px; }
.moop-catalog__side #filters { border-top: 0 !important; padding-top: 0 !important; }
/* Sanfona dos filtros (classes adicionadas pelo moop-vN.js) */
.moop-catalog__side [data-store="filters-group"] { margin: 0 !important; padding: 16px 0; border-bottom: 1px solid var(--moop-line); }
.moop-acc__title { position: relative; cursor: pointer; margin: 0 !important; padding-right: 24px; font-family: var(--moop-sans) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase; color: var(--moop-ink) !important; user-select: none; }
.moop-acc__title:after { content: "\2212"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 18px; font-weight: 300; color: var(--moop-ink); }
.moop-acc.is-closed .moop-acc__title:after { content: "+"; }
.moop-acc:not(.is-closed) .moop-acc__title { margin-bottom: 14px !important; }
.moop-acc.is-closed > :not(.moop-acc__title), .moop-acc.is-closed form > :not(.moop-acc__title) { display: none !important; }
.moop-acc.is-closed > form { display: block !important; }
.moop-catalog__side .checkbox-container { margin-bottom: 10px; }

/* Cards nativos do catálogo, busca e relacionados no padrão do modelo */
body.moop .js-product-table { margin-left: -12px; margin-right: -12px; }
body.moop .js-product-table > .js-item-product { padding-left: 12px; padding-right: 12px; margin-bottom: 36px; }
body.moop .item-product .item-description { padding: 14px 0 0 !important; }
body.moop .item-product .item-name { font-size: 19px; margin-bottom: 6px !important; text-transform: none; }
body.moop .item-product .item-price { font-size: 20px; }
body.moop .item-product .item-description [class*="payment-discount"], body.moop .item-product .item-description .text-accent { font-size: 13px; }
body.moop .item-product .item-actions { display: block; margin: 14px 0 0 !important; padding: 0; }
body.moop .item-product .item-actions > .col-8 { display: none !important; }
body.moop .item-product .item-actions > div { flex: 0 0 100%; max-width: 100%; width: 100%; padding: 0 !important; }
body.moop .item-product .item-actions .btn-secondary {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 42px;
	border: 1px solid var(--moop-forest); border-radius: 10px; background: transparent; color: var(--moop-forest);
	font-family: var(--moop-sans); font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none;
}
body.moop .item-product .item-actions .btn-secondary:hover { background: var(--moop-forest); color: var(--moop-white); }
body.moop .item-product .item-actions .btn-secondary svg { display: none; }
body.moop .item-product .item-actions .btn-secondary span { display: inline !important; font-size: 0; }
body.moop .item-product .item-actions .btn-secondary span:after { content: "Ver peça"; font-size: 14px; }
body.moop .item-product .item-buy { display: none !important; }

/* Colunas com espaçamento próprio: largura conta o padding (o Amazonas não usa border-box) */
body.moop .js-product-table > .js-item-product,
body.moop .moop-pdp [class*="col"],
body.moop .section-products-related [class*="col"] { box-sizing: border-box; }
@media (min-width: 1200px) {
	body.moop .moop-catalog .js-product-table > .js-item-product { flex: 0 0 25%; max-width: 25%; }
}
/* Botão "Ver peça" sempre visível (no Amazonas só aparece ao passar o mouse) */
body.moop .item-product .item-actions, body.moop .item:hover .item-actions { visibility: visible !important; opacity: 1 !important; position: static; height: auto !important; }

/* ==========================================================================
   Produto v2 (modelo aprovado)
   ========================================================================== */
body.moop .moop-pdp { padding-top: 22px; }
.moop-pdp__crumbs { margin-bottom: 22px; }
.moop-pdp .page-header .breadcrumbs { display: none !important; }
.moop-pdp__eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--moop-sage); margin-bottom: 8px; }
body.moop.template-product .moop-pdp .page-header h1 { font-size: clamp(30px, 3vw, 42px); margin: 0 0 18px !important; }
.moop-pdp #product_form .js-product-variants { background: var(--moop-cream); border-radius: 16px; padding: 20px 20px 6px; margin: 0 0 20px !important; }
.moop-pdp #product_form .js-product-variants .form-select { background-color: var(--moop-white); }
.moop-pdp__info .form-row:has(> .form-label) { display: inline-flex !important; align-items: center; width: 49%; margin: 18px 0 0 !important; vertical-align: top; }
.moop-pdp__info .form-row:has(> .form-label) .form-label > div:not(.font-weight-bold) { display: none; }
.moop-pdp__info .form-row:has(> .form-label) .font-weight-bold { margin: 0 !important; }
/* Frete: campo de CEP ocupando a linha, botão ao lado */
.moop-pdp .js-shipping-calculator-form { left: 0; right: 0; width: 100%; }
.moop-pdp .js-shipping-calculator-form > .form-group { width: 100% !important; box-sizing: border-box; display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; margin-left: 0 !important; margin-right: 0 !important; }
.moop-pdp .js-shipping-calculator-form > .form-group > * { max-width: none !important; width: auto !important; padding-left: 0 !important; padding-right: 0 !important; flex: none !important; }
.moop-pdp .js-shipping-calculator-form > .form-group > .col-12 { grid-column: 1 / -1; }
.moop-pdp .js-shipping-calculator-form .js-calculate-shipping { white-space: nowrap; min-height: 46px; padding: 0 26px; }
.moop-pdp .js-shipping-calculator-form .form-control { height: 46px; width: 100%; }
.moop-pdp__details { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin: 64px 0 24px; padding: 48px 0; border-top: 1px solid var(--moop-line); border-bottom: 1px solid var(--moop-line); }
body.moop .moop-pdp__about-title { font-family: var(--moop-serif); font-weight: 400; font-size: clamp(30px, 3vw, 40px); line-height: 1.1; color: var(--moop-ink); margin: 0 0 18px; text-transform: none; }
.moop-pdp__about-title em { font-style: italic; color: var(--moop-sage); }
.moop-pdp__desc .product-description { font-size: 15px; line-height: 1.85; }
.moop-pdp__faq { padding-left: 48px; border-left: 1px solid var(--moop-line); max-width: none; margin: 0; }
.moop-pdp__faq details { padding: 16px 0; }
.moop-pdp__faq details:first-child { padding-top: 0; }
body.moop .moop-pdp__faq summary { font-family: var(--moop-sans); font-size: 15px; font-weight: 500; }
.moop-pdp__faq summary:after { font-size: 22px; }
.moop-pdp__faq details p { font-size: 14px; }
body.moop .section-products-related h2 { font-family: var(--moop-serif); font-weight: 400; font-size: clamp(28px, 3vw, 38px); text-transform: none; }

@media (max-width: 991px) {
	.moop-catalog__grid { grid-template-columns: minmax(0, 1fr); }
	.moop-catalog__side { display: none; }
	.moop-catalog__grid:not(.moop-catalog__grid--full) .moop-catalog__main { padding-left: 0; }
	.moop-pdp__details { grid-template-columns: 1fr; gap: 32px; padding: 36px 0; }
	.moop-pdp__faq { padding-left: 0; border-left: 0; }
}
@media (max-width: 767px) {
	.moop-cat-head { padding: 20px 0; margin-bottom: 20px; }
	.moop-cat-head__lead { font-size: 15px; }
	.moop-catalog__bar { flex-wrap: wrap; }
	.moop-catalog__bar-title { width: 100%; }
	body.moop .moop-catalog__bar .category-controls { width: 100%; }
	body.moop .moop-catalog__bar .category-controls > .row > [class*="col"] { flex: 1 1 0; }
	body.moop .moop-catalog__bar .form-select { min-width: 0; width: 100%; }
	body.moop .js-product-table { margin-left: -7px; margin-right: -7px; }
	body.moop .js-product-table > .js-item-product { padding-left: 7px; padding-right: 7px; }
	body.moop .item-product .item-name { font-size: 16px; }
	body.moop .item-product .item-price { font-size: 17px; }
	.moop-pdp__info .form-row:has(> .form-label) { width: 100%; }
}

/* --------------------------------------------------------------------------
   Responsivo
   -------------------------------------------------------------------------- */
@media (max-width: 1439px) {
	.moop-head__bar { gap: 24px; }
	.moop-nav__list { gap: 16px; }
	body.moop .moop-nav__link { font-size: 11px; letter-spacing: .05em; }
	body.moop .moop-head__logo img { width: 132px; }
	.moop-head__cta { width: 34px; min-height: 34px !important; height: 34px; padding: 0 !important; border-radius: 50%; }
	.moop-head__cta-text { display: none; }
}

@media (max-width: 1279px) {
	.moop-nav, .moop-head__facts { display: none; }
	.moop-head__info-inner { justify-content: flex-end; }
	body.moop .moop-head__burger { display: inline-flex; }
}

@media (max-width: 1199px) {
	.moop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.moop-rail { grid-auto-columns: calc((100% - 2 * 28px) / 3); }
	.moop-footer__grid { grid-template-columns: 1fr 1fr; }
	.moop-hero__badge { left: 12px; }
}

@media (max-width: 991px) {
	.moop-head__info { display: none; }
	.moop-head__bar { min-height: 68px; gap: 16px; }
	body.moop .moop-head__logo img { width: 120px; }
	.moop-section { padding: 72px 0; }
	.moop-hero__inner { grid-template-columns: 1fr; min-height: 0; padding-top: 44px; padding-bottom: 80px; gap: 36px; }
	.moop-hero__media { justify-self: center; max-width: 440px; }
	.moop-benefits__grid { grid-template-columns: repeat(2, 1fr); }
	.moop-benefit:nth-child(2) { border-right: 0; }
	.moop-benefit:nth-child(-n+2) { border-bottom: 1px solid var(--moop-line); }
	.moop-categories { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.moop-category { aspect-ratio: 4 / 5; }
	.moop-category:first-child { grid-row: auto; grid-column: span 2; aspect-ratio: 16 / 10; }
	.moop-split { grid-template-columns: 1fr; gap: 44px; }
	.moop-split--reverse .moop-split__media { order: 0; }
	.moop-insta { grid-template-columns: repeat(3, 1fr); }
	.moop-cta { grid-template-columns: 1fr; padding: 48px 32px; }
	.moop-timeline, .moop-values { grid-template-columns: 1fr; }
	.moop-process { grid-template-columns: 1fr 1fr; row-gap: 32px; }
	.moop-contact { grid-template-columns: 1fr; }
	.moop-auth__grid, .moop-cart__grid { grid-template-columns: 1fr; }
	.moop-auth__aside, .moop-cart__aside { position: static; }
	.moop-page-hero, body.moop .page-header { padding: 72px 0 64px !important; }
	.moop-howto { grid-template-columns: 1fr 1fr; }
	.moop-howto-info { grid-template-columns: 1fr; }
	.moop-section--round-top { border-radius: 28px 28px 0 0; }
	.moop-section--round-bottom { border-radius: 0 0 28px 28px; }
}

@media (max-width: 767px) {
	.moop-container { padding: 0 16px; }
	body.moop .container { padding-left: 16px; padding-right: 16px; }
	.moop-section { padding: 56px 0; }
	.moop-head__container { padding: 0 16px; }
	.moop-head__actions { gap: 16px; }
	.moop-head__account, .moop-head__cta { display: none !important; }
	.moop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 14px; }
	.moop-rail { grid-auto-columns: 78%; gap: 16px; }
	body.moop .moop-card__title { font-size: 18px; }
	.moop-card__actions { grid-template-columns: 1fr; }
	.moop-card__actions .moop-btn--ghost { display: none !important; }
	.moop-actions .moop-btn { flex: 1 1 100%; }
	.moop-hero__inner { padding-top: 40px; padding-bottom: 72px; }
	body.moop .moop-banner__slide { height: auto; display: flex; flex-direction: column; }
	.moop-banner__inner { order: 1; height: auto; padding-top: 36px; padding-bottom: 20px; justify-content: center !important; text-align: center; }
	.moop-banner__text .moop-eyebrow { justify-content: center; }
	.moop-banner__media { order: 2; position: relative; inset: auto; width: 100%; height: 280px; }
	.moop-banner__slide--left .moop-banner__media img { object-position: 95% center; }
	.moop-banner__slide--right .moop-banner__media img { object-position: 0% center; }
	.moop-banner__slide--center .moop-banner__media img { object-position: 96% center; }
	.moop-banner__sub { font-size: 15px; }
	.moop-hero__badge { position: relative; left: auto; bottom: auto; margin: -40px 0 0 16px; }
	.moop-benefits__grid { grid-template-columns: 1fr; }
	.moop-benefit { border-right: 0 !important; border-bottom: 1px solid var(--moop-line); padding: 18px 4px; }
	.moop-benefit:last-child { border-bottom: 0; }
	.moop-categories { grid-template-columns: 1fr; }
	.moop-category, .moop-category:first-child { grid-column: auto; aspect-ratio: 4 / 3; }
	.moop-stats { grid-template-columns: 1fr; gap: 18px; }
	.moop-footer__grid { grid-template-columns: 1fr; gap: 36px; }
	.moop-channels { margin-top: -32px; }
	.moop-form { padding: 28px 20px; }
	.moop-form__row { grid-template-columns: 1fr; gap: 0; }
	.moop-process { grid-template-columns: 1fr; }
	.moop-cta__field { flex-direction: column; border-radius: var(--moop-radius); }
	body.moop .moop-cta__field input { min-height: 48px; }
	.moop-marquee__word { font-size: 28px; margin: 0 16px; }
	.moop-rail-nav { display: none; }
	.moop-howto { grid-template-columns: 1fr; }
	.moop-auth__card, .moop-auth__aside { padding: 28px 20px; border-radius: 18px; }
	.moop-cart__head { display: none; }
	.moop-cart { padding: 48px 0 64px; }
	body.moop .item-name { font-size: 16px; white-space: normal !important; overflow: hidden; text-overflow: clip !important; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
	body.moop .moop-cart .js-cart-item { grid-template-columns: 72px minmax(0, 1fr) 32px; gap: 12px; }
	body.moop .moop-cart .js-cart-item > div:first-child img { width: 72px; height: 72px; }
	body.moop .moop-cart .js-cart-item > div:nth-child(2) > .row { grid-template-columns: auto 1fr; gap: 10px; }
	body.moop .moop-cart .js-cart-item h6 { grid-column: 1 / -1; }
	body.moop .moop-cart .cart-item-subtotal-short { display: none !important; }
	body.moop .moop-cart .js-cart-item > div:nth-child(2) > .row > :last-child { text-align: right; }
}

/* ---------- Catálogo: filtro de preço (campos lado a lado + botão "Aplicar" largo) ---------- */
body.moop .js-price-filter-container .form-group { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 10px; margin: 0; }
body.moop .js-price-filter-container .filter-input-price-container { display: block; width: auto; margin: 0; }
body.moop .js-price-filter-container .form-label { display: block; font-size: 12px; color: var(--moop-muted); margin: 0 0 6px; }
body.moop .js-price-filter-container .filter-input-price { width: 100%; box-sizing: border-box; height: 42px; padding: 0 12px; font-size: 14px; border: 1px solid var(--moop-line); border-radius: 10px; background: var(--moop-white); }
body.moop .js-price-filter-container .filter-input-price:focus { border-color: var(--moop-forest); outline: 0; }
body.moop .js-price-filter-container .js-price-filter-btn { grid-column: 1 / -1; width: 100%; max-width: 100%; box-sizing: border-box; margin: 0 !important; height: 42px; padding: 0 16px; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; line-height: 40px; text-indent: 0; color: var(--moop-forest); border: 1px solid var(--moop-forest); background: transparent; }
body.moop .js-price-filter-container .js-price-filter-btn:before { content: none !important; }
body.moop .js-price-filter-container .js-price-filter-btn:not(.disabled):hover { background: var(--moop-forest); color: var(--moop-white); }
body.moop .js-price-filter-container .js-price-filter-btn.disabled { opacity: .45; }

/* ---------- Produto: descrição com as fontes da MOOP (a descrição do painel traz fonte própria) ---------- */
body.moop .moop-pdp__desc .user-content,
body.moop .moop-pdp__desc .user-content * { font-family: var(--moop-sans) !important; }
body.moop .moop-pdp__desc .user-content p,
body.moop .moop-pdp__desc .user-content span,
body.moop .moop-pdp__desc .user-content li { font-size: 15px !important; line-height: 1.8 !important; color: var(--moop-muted) !important; }
body.moop .moop-pdp__desc .user-content h1,
body.moop .moop-pdp__desc .user-content h2,
body.moop .moop-pdp__desc .user-content h3,
body.moop .moop-pdp__desc .user-content h4,
body.moop .moop-pdp__desc .user-content h1 *,
body.moop .moop-pdp__desc .user-content h2 *,
body.moop .moop-pdp__desc .user-content h3 *,
body.moop .moop-pdp__desc .user-content h4 * { font-family: var(--moop-serif) !important; color: var(--moop-ink) !important; font-weight: 500 !important; }
body.moop .moop-pdp__desc .user-content strong,
body.moop .moop-pdp__desc .user-content b { color: var(--moop-ink) !important; font-weight: 600 !important; }

/* ---------- Hero: setas com fundo desfocado nas laterais ---------- */
.moop-hero__arrow {
	position: absolute; top: 50%; z-index: 5; transform: translateY(-50%);
	width: 40px; height: 40px; padding: 0; border-radius: 50%; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	color: var(--moop-ink); background: rgba(251, 248, 243, .45);
	border: 1px solid rgba(255, 255, 255, .6);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	box-shadow: 0 6px 24px rgba(42, 39, 36, .12);
	transition: background-color .25s ease, color .25s ease, opacity .25s ease;
}
.moop-hero__arrow .moop-icon { width: 16px; height: 16px; }
.moop-hero__arrow:hover, .moop-hero__arrow:focus-visible { background: var(--moop-forest); color: var(--moop-white); border-color: var(--moop-forest); outline: 0; }
.moop-hero__arrow--prev { left: 20px; }
.moop-hero__arrow--next { right: 20px; }
.moop-hero__arrow[hidden] { display: none; }
/* espaço para as setas: o texto do banner não encosta nelas (desktop) */@media (min-width: 768px) { body.moop .moop-banner__inner { padding-left: 84px; padding-right: 84px; } }
@media (max-width: 767px) {
	/* no celular a imagem fica embaixo do texto: setas sobre a imagem */
	.moop-hero__arrow { top: auto; bottom: 110px; transform: none; width: 34px; height: 34px; }
	.moop-hero__arrow .moop-icon { width: 14px; height: 14px; }
	.moop-hero__arrow--prev { left: 12px; }
	.moop-hero__arrow--next { right: 12px; }
}

/* ---------- "Adicionado ao carrinho" (popup do tema com as cores e fontes da MOOP) ---------- */
body.moop .moop-head__notification { right: 24px; top: 100%; width: 380px; z-index: 1002; }
body.moop .js-alert-added-to-cart { left: auto; right: 0; width: 380px; max-width: calc(100vw - 24px); margin-top: 8px; z-index: 1002; }
body.moop .js-alert-added-to-cart.notification-fixed { position: fixed; top: 16px; right: 16px; margin-top: 0; }
body.moop .js-alert-added-to-cart .notification-cart {
	float: none; width: 100%; max-width: 100%; margin: 0; box-sizing: border-box;
	padding: 20px; border-radius: 18px; text-align: left;
	background: var(--moop-white); color: var(--moop-ink); font-family: var(--moop-sans); font-size: 14px;
	border: 1px solid var(--moop-line); box-shadow: 0 18px 48px rgba(42, 39, 36, .16);
}
body.moop .js-alert-added-to-cart .notification-arrow-up { display: none; }
body.moop .js-alert-added-to-cart .notification-close { position: absolute; top: 12px; right: 12px; margin: 0 !important; cursor: pointer; }
body.moop .js-alert-added-to-cart .notification-close svg { fill: var(--moop-muted); }
body.moop .js-alert-added-to-cart .notification-img img { border-radius: 10px; }
body.moop .js-alert-added-to-cart .notification-img svg { fill: var(--moop-forest); }
body.moop .js-alert-added-to-cart .js-cart-notification-item-name { font-weight: 600; line-height: 1.4; }
body.moop .js-alert-added-to-cart strong { color: var(--moop-forest); }
body.moop .js-alert-added-to-cart .divider { border-color: var(--moop-line); }
body.moop .js-alert-added-to-cart .text-primary { color: var(--moop-ink) !important; font-size: 15px; }
body.moop .js-alert-added-to-cart .btn-primary {
	height: 46px; line-height: 46px; padding: 0 20px; border-radius: 999px; border: 0;
	background: var(--moop-forest); color: var(--moop-white);
	font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; text-align: center;
}
body.moop .js-alert-added-to-cart .btn-primary:hover { background: var(--moop-forest-deep); }
@media (max-width: 767px) {
	body.moop .js-alert-added-to-cart { left: 12px; right: 12px; width: auto; }
}

/* ---------- Carrinho lateral (#modal-cart) na identidade MOOP ---------- */
body.moop #modal-cart { background: var(--moop-paper); color: var(--moop-ink); font-family: var(--moop-sans); }
body.moop #modal-cart .modal-header {
	background: var(--moop-cream) !important; color: var(--moop-ink) !important;
	border-bottom: 1px solid var(--moop-line); padding: 22px 24px;
	font-family: var(--moop-serif); font-size: 28px; font-weight: 400;
}
body.moop #modal-cart .modal-header .modal-close { border: 1px solid var(--moop-line); background: var(--moop-white); border-radius: 50%; }
body.moop #modal-cart .modal-header .modal-close svg { fill: var(--moop-ink); }
body.moop #modal-cart .modal-header:hover .modal-close { border-color: var(--moop-forest); }
body.moop #modal-cart .modal-body { padding: 20px 24px; }
body.moop #modal-cart .cart-item { border-bottom: 1px solid var(--moop-line); }
body.moop #modal-cart .cart-item img { border-radius: 10px; }
body.moop #modal-cart .text-accent, body.moop #modal-cart .text-primary { color: var(--moop-forest) !important; }
body.moop #modal-cart .divider { border-color: var(--moop-line); }
body.moop #modal-cart .cart-total { font-family: var(--moop-serif); font-weight: 500; color: var(--moop-ink) !important; }
body.moop #modal-cart .btn-primary {
	height: 50px; border-radius: 999px; border: 0; background: var(--moop-forest); color: var(--moop-white);
	font-family: var(--moop-sans); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
}
body.moop #modal-cart .btn-primary:hover { background: var(--moop-forest-deep); }
body.moop #modal-cart .btn-secondary { border-radius: 999px; border: 1px solid var(--moop-forest); color: var(--moop-forest); background: transparent; font-weight: 600; letter-spacing: .1em; }
body.moop #modal-cart .btn-secondary:hover { background: var(--moop-forest); color: var(--moop-white); }
body.moop #modal-cart .form-control { border: 1px solid var(--moop-line); border-radius: 10px; background: var(--moop-white); }
body.moop #modal-cart .form-control:focus { border-color: var(--moop-forest); box-shadow: none; }
body.moop #modal-cart .alert-warning { background: var(--moop-sand); color: var(--moop-ink); border: 0; border-radius: 12px; }
body.moop #modal-cart .alert-warning svg { fill: var(--moop-caramel); }
body.moop #modal-cart .radio-button .radio-button-content { border-radius: 12px; }
body.moop #modal-cart .radio-button input[type="radio"]:checked + .radio-button-content { border-color: var(--moop-forest); background: var(--moop-sage-soft); }
body.moop #modal-cart .radio-button input[type="radio"]:checked + .radio-button-content .radio-button-icons-container { background-color: var(--moop-forest); }
body.moop #modal-cart .radio-button input[type="radio"]:checked + .radio-button-content .unchecked { border-color: var(--moop-forest); }
body.moop #modal-cart .quantity, body.moop #modal-cart .form-quantity { border-radius: 999px; }
body.moop #modal-cart a { color: var(--moop-forest); }

/* ---------- Menu do celular: "Como comprar" fica fora do menu (a página continua no ar) ---------- */
body.moop #nav-hamburger .nav-list li:has(> a[href*="como-comprar"]),
body.moop #nav-hamburger .nav-list li:has(> .nav-list-link[href*="como-comprar"]) { display: none; }

/* ---------- Banners de campanha (arte pronta, com o texto na imagem): imagem inteira, sem corte ---------- */
.moop-banner__media { display: block; }
.moop-banner__slide--image .moop-banner__media img { object-fit: contain; object-position: center; }
@media (max-width: 767px) {
	/* celular: foto com a peça inteira (recorte próprio 780x640) */
	.moop-banner__media { height: auto; aspect-ratio: 39 / 32; }
	.moop-banner__slide--image .moop-banner__media { position: absolute; inset: 0; aspect-ratio: auto; }
}

/* ---------- Diferenciais no celular: grade 2x2 compacta, só ícone e título ---------- */
@media (max-width: 767px) {
	.moop-benefits__grid { grid-template-columns: repeat(2, 1fr); }
	body.moop .moop-benefit { flex-direction: column; justify-content: center; gap: 8px; padding: 14px 8px; text-align: center; border-right: 1px solid var(--moop-line) !important; border-bottom: 1px solid var(--moop-line); }
	body.moop .moop-benefit:nth-child(2n) { border-right: 0 !important; }
	body.moop .moop-benefit:nth-child(n+3) { border-bottom: 0; }
	.moop-benefit .moop-icon { width: 22px; height: 22px; }
	.moop-benefit strong { font-size: 11px; letter-spacing: .06em; line-height: 1.35; }
	.moop-benefit span { display: none; }
}

/* ---------- Conteúdo do painel (Layout MOOP editável) ---------- */
body.moop .moop-topbar a { color: inherit; text-decoration: none; }
body.moop a.moop-benefit { color: inherit; text-decoration: none; }
.moop-benefit__img { width: 34px; height: 34px; object-fit: contain; }
.moop-benefits__grid--1 { grid-template-columns: 1fr; }
.moop-benefits__grid--2 { grid-template-columns: repeat(2, 1fr); }
.moop-benefits__grid--3 { grid-template-columns: repeat(3, 1fr); }
.moop-benefits__grid--1 .moop-benefit, .moop-benefits__grid--2 .moop-benefit:last-child, .moop-benefits__grid--3 .moop-benefit:last-child { border-right: 0; }
.moop-benefits__grid--1 .moop-benefit { justify-content: center; }

/* categorias: 1 a 4 cartões em uma linha; 5 mantém o mosaico */
.moop-categories--1, .moop-categories--2, .moop-categories--3, .moop-categories--4 { grid-template-rows: 420px; }
.moop-categories--1 { grid-template-columns: minmax(0, 560px); justify-content: center; }
.moop-categories--2 { grid-template-columns: repeat(2, 1fr); }
.moop-categories--3 { grid-template-columns: repeat(3, 1fr); }
.moop-categories--4 { grid-template-columns: repeat(4, 1fr); }
.moop-categories--1 .moop-category:first-child, .moop-categories--2 .moop-category:first-child,
.moop-categories--3 .moop-category:first-child, .moop-categories--4 .moop-category:first-child { grid-row: auto; }

/* banners promocionais */
.moop-promos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.moop-promos--1 { grid-template-columns: minmax(0, 720px); justify-content: center; }
.moop-promos--2 { grid-template-columns: repeat(2, 1fr); }
body.moop .moop-promo { position: relative; display: block; border-radius: var(--moop-radius); overflow: hidden; background: var(--moop-sand); aspect-ratio: 620 / 715; color: var(--moop-white); text-decoration: none; }
body.moop .moop-promos--1 .moop-promo { aspect-ratio: 16 / 9; }
.moop-promo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.moop-promo:hover img { transform: scale(1.04); }
.moop-promo:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(36, 30, 24, 0) 45%, rgba(36, 30, 24, .75) 100%); }
.moop-promo__body { position: absolute; left: 28px; right: 28px; bottom: 26px; z-index: 1; display: grid; gap: 14px; justify-items: start; }
body.moop .moop-promo__title { font-family: var(--moop-serif); font-size: 30px; font-weight: 400; line-height: 1.1; margin: 0; color: var(--moop-white); text-transform: none; }

/* marcas */
.moop-brands__list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 28px 48px; }
.moop-brands__list img { max-height: 64px; max-width: 160px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .75; transition: filter .3s ease, opacity .3s ease; }
.moop-brands__list a:hover img, .moop-brands__list img:hover { filter: none; opacity: 1; }

/* vídeo */
.moop-video__frame { position: relative; aspect-ratio: 16 / 9; border-radius: var(--moop-radius); overflow: hidden; background: var(--moop-ink); }
.moop-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* módulos de imagem e texto */
.moop-module + .moop-module { margin-top: 72px; }
.moop-module .moop-split__media img { border-radius: var(--moop-radius); }

/* mensagem de boas-vindas / institucional */
.moop-message__inner { text-align: center; }
.moop-message .moop-lead { margin-left: auto; margin-right: auto; }

/* rodapé com o painel */
body.moop .moop-footer h5.moop-footer__social-title { margin: 0 0 14px; }
body.moop .moop-social a.moop-social__text { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.moop-footer__seal { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.moop-footer__seal img { max-height: 48px; width: auto; }

@media (max-width: 991px) {
	.moop-categories--3, .moop-categories--4 { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
	.moop-categories--1 .moop-category, .moop-categories--2 .moop-category, .moop-categories--3 .moop-category, .moop-categories--4 .moop-category { aspect-ratio: 4 / 5; }
	.moop-promos { grid-template-columns: 1fr 1fr; }
	.moop-promos--1 { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.moop-categories--1, .moop-categories--2, .moop-categories--3, .moop-categories--4 { grid-template-columns: 1fr; }
	.moop-promos, .moop-promos--2 { grid-template-columns: 1fr; }
	.moop-module + .moop-module { margin-top: 48px; }
	.moop-brands__list { gap: 20px 32px; }
	.moop-brands__list img { max-height: 48px; }
}
