/* =========================================================
   MERAUDE JEWELRY · estilos das páginas novas (home, categoria, produto)
   e ajustes no cabeçalho/rodapé do tema.
   Base: Figma "Meraude-Jewelry". Grade de 1240px de conteúdo.
   Tudo com prefixo "mr-" para não conflitar com o CSS do tema.
   ========================================================= */

:root {
  --mr-verde: #002810;
  --mr-verde-fundo: #0f291c;
  --mr-verde-sombra: #042111;
  --mr-creme: #f2efeb;
  --mr-tinta: #000f06;
  --mr-cinza: #bababa;
  --mr-branco: #ffffff;
  --mr-serif: "Cardo", Georgia, "Times New Roman", serif;
  --mr-sans: "Jost", "Helvetica Neue", Arial, sans-serif;
  --mr-conteudo: 1240px;
}

/* ---------- Base ---------- */
body.mr-theme {
  background: var(--mr-creme);
  color: var(--mr-verde);
  font-family: var(--mr-sans);
  -webkit-font-smoothing: antialiased;
}

.mr, .mr *, .mr *::before, .mr *::after { box-sizing: border-box; }
.mr h1, .mr h2, .mr h3, .mr p, .mr ul, .mr figure, .mr blockquote { margin: 0; }
.mr h1, .mr h2, .mr h3 { font-weight: 400; line-height: 1.2; text-transform: none; }
.mr ul { padding: 0; list-style: none; }
.mr a { color: inherit; text-decoration: none; }
.mr img { display: block; max-width: 100%; }
.mr :focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }

.mr-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;
}

.mr-wrap { width: min(var(--mr-conteudo), 100% - 48px); margin-left: auto; margin-right: auto; }

/* ---------- Títulos e botões ---------- */
.mr-section-title {
  font-family: var(--mr-serif);
  font-size: 26px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--mr-verde);
}

.mr-btn-light {
  display: inline-flex; align-items: center; justify-content: center;
  width: 340px; max-width: 100%; height: 70px;
  background: var(--mr-creme); color: var(--mr-verde) !important;
  border: 1px solid var(--mr-creme);
  font-family: var(--mr-sans); font-size: 20px; letter-spacing: 0;
  transition: background-color .3s ease, color .3s ease;
}
.mr-btn-light:hover { background: transparent; color: var(--mr-creme) !important; }

.mr-btn-outline {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  border: 1px solid var(--mr-verde); color: var(--mr-verde) !important;
  padding: 17px 30px;
  font-family: var(--mr-sans); font-size: 11px; letter-spacing: 2px;
  cursor: pointer;
  transition: background-color .3s ease, color .3s ease;
}
.mr-btn-outline:hover { background: var(--mr-verde); color: var(--mr-creme) !important; }
.mr-btn-outline--lg { padding: 19px 44px; font-size: 12px; }
.mr-btn-outline svg { fill: currentColor; }

.mr-link-line {
  font-size: 11px; letter-spacing: 1.8px; white-space: nowrap;
  padding-bottom: 8px; border-bottom: 1px solid var(--mr-verde);
}

.mr-breadcrumbs {
  font-weight: 300; font-size: 10px; letter-spacing: 1.6px; text-transform: uppercase;
  color: var(--mr-verde); opacity: .55;
}
.mr-breadcrumbs span[aria-hidden] { margin: 0 8px; }
.mr-breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* =========================================================
   CARD DE PRODUTO (snipplets/grid/item.tpl)
   ========================================================= */
.mr-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }

/* O card leva col-6/col-md-3 para funcionar também nas grades do tema (busca);
   dentro das grades Meraude essas colunas são neutralizadas */
.mr-grid > .mr-card,
.mr-carousel > .mr-card { max-width: none; flex: none; width: auto; padding: 0; margin: 0; }
.row > .mr-card { margin-bottom: 40px; }

.mr-card { color: var(--mr-verde); }
.mr-card-link { display: flex; flex-direction: column; gap: 16px; color: inherit !important; text-decoration: none !important; }
.mr-card-media { position: relative; aspect-ratio: 1; background: var(--mr-branco); overflow: hidden; }
.mr-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .6, .2, 1), opacity .4s ease; }
.mr-card-img--hover { opacity: 0; }
.mr-card:hover .mr-card-img { transform: scale(1.035); }
.mr-card:hover .mr-card-img--hover { opacity: 1; }
.mr-card-info { display: flex; flex-direction: column; gap: 7px; }
.mr-card-name { margin: 0; font-family: var(--mr-sans); font-size: 11px; letter-spacing: 1.3px; line-height: 1.5; text-transform: uppercase; }
.mr-card-price { margin: 0; font-weight: 300; font-size: 12px; letter-spacing: .6px; opacity: .75; }
.mr-card-compare { margin-left: 8px; opacity: .6; }
.mr-card-sizes { margin: 0; font-weight: 300; font-size: 9px; letter-spacing: 1.2px; opacity: .5; text-transform: uppercase; }

.mr-badge {
  position: absolute; left: 14px; top: 14px; z-index: 1;
  background: var(--mr-verde); color: var(--mr-creme);
  padding: 5px 10px; border-radius: 5px;
  font-size: 9px; letter-spacing: 1.4px; line-height: 1.2;
}
.mr-badge--light { background: var(--mr-creme); color: var(--mr-verde); }

.mr-card--small .mr-card-link { gap: 12px; }
.mr-card--small .mr-card-name { font-size: 10px; letter-spacing: 1.1px; min-height: 34px; }
.mr-card--small .mr-card-price { font-size: 11px; letter-spacing: .5px; }

/* =========================================================
   HOME
   ========================================================= */
.mr-hero { position: relative; height: 900px; overflow: hidden; background: var(--mr-verde); }
.mr-hero-bg { display: block; position: absolute; inset: 0; }
.mr-hero-poster { display: block; position: absolute; inset: 0; }
.mr-hero-bg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Vídeo de fundo: entra por cima da imagem, com transição suave, só quando pronto */
.mr-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; opacity: 0; transition: opacity .7s ease; pointer-events: none; }
.mr-hero-video.is-ready { opacity: 1; }
/* Véu que só aparece junto com o vídeo, para o texto continuar legível.
   Preto neutro: escurece sem puxar a cor do vídeo para o verde. */
.mr-hero-scrim { position: absolute; inset: 0; opacity: 0; transition: opacity .7s ease; pointer-events: none;
  background: linear-gradient(to right, rgba(0, 0, 0, .52) 0%, rgba(0, 0, 0, .22) 52%, rgba(0, 0, 0, 0) 100%); }
.mr-hero-video.is-ready ~ .mr-hero-scrim { opacity: 1; }
.mr-hero-inner { position: relative; height: 100%; display: flex; align-items: center; }
.mr-hero-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; max-width: 589px; }
.mr-hero-title { font-family: var(--mr-serif); font-size: 40px; line-height: 1.25; text-transform: uppercase !important; color: var(--mr-creme); max-width: 453px; }
.mr-hero-sub { font-weight: 300; font-size: 24px; line-height: 1.5; color: var(--mr-cinza); max-width: 422px; }

@media (prefers-reduced-motion: no-preference) {
  .mr-hero-poster img { animation: mr-hero-zoom 2.4s cubic-bezier(.2, .6, .2, 1) both; }
  .mr-hero-copy > * { animation: mr-hero-up 1s cubic-bezier(.2, .6, .2, 1) both; }
  .mr-hero-copy > :nth-child(2) { animation-delay: .15s; }
  .mr-hero-copy > :nth-child(3) { animation-delay: .3s; }
}
@keyframes mr-hero-zoom { from { transform: scale(1.06); } to { transform: none; } }
@keyframes mr-hero-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

.mr-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 48px; }
.mr-novidades { padding: 88px 0 106px; }

/* Manifesto */
.mr-manifesto { position: relative; height: 780px; background: var(--mr-verde-fundo); color: var(--mr-creme); overflow: hidden; }
.mr-manifesto-photo { position: absolute; top: 0; right: 0; width: 87.25%; height: 100%; display: block; }
.mr-manifesto-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mr-manifesto-gradient { position: absolute; top: 0; left: 0; width: 70.3%; height: 100%; background: linear-gradient(to right, var(--mr-verde-sombra) 0%, rgba(4, 33, 17, 0) 66.889%); }
.mr-manifesto-scrim { position: absolute; top: 0; left: 0; width: 56.25%; height: 100%; background: linear-gradient(to right, rgba(0, 40, 16, .85), rgba(0, 40, 16, 0)); }
.mr-manifesto-inner { position: relative; height: 100%; display: flex; align-items: center; }
.mr-manifesto-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 25px; max-width: 620px; }
.mr-manifesto-title { font-family: var(--mr-serif); font-size: 45px; line-height: 1.24 !important; text-transform: uppercase !important; max-width: 430px; color: var(--mr-creme); }
.mr-manifesto-text { font-weight: 300; font-size: 24px; line-height: 1.7; letter-spacing: .2px; opacity: .75; max-width: 405px; }

/* Categorias */
.mr-categorias { padding: 80px 0 62px; }
.mr-categorias .mr-section-title { margin-bottom: 46px; }
.mr-cat-card { position: relative; display: block; height: 340px; overflow: hidden; background: var(--mr-verde); color: var(--mr-creme) !important; }
.mr-cat-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .6, .2, 1); }
.mr-cat-card::after { content: ""; position: absolute; inset: 0; background: rgba(65, 65, 65, .25); transition: background-color .4s ease; }
.mr-cat-card:hover img { transform: scale(1.04); }
.mr-cat-card:hover::after { background: rgba(0, 40, 16, .35); }
.mr-cat-label {
  position: absolute; z-index: 1; left: 22px; right: 16px; bottom: 25px;
  display: flex; align-items: center; justify-content: space-between;
  font-size: 12px; letter-spacing: 2px;
}
.mr-cat-label span:last-child { font-size: 13px; letter-spacing: 0; transition: transform .3s ease; }
.mr-cat-card:hover .mr-cat-label span:last-child { transform: translateX(4px); }

/* Confiança */
.mr-confianca { padding: 27px 0 63px; }
.mr-selos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mr-selo {
  min-height: 90px; display: flex !important; flex-direction: column; align-items: center !important; justify-content: center; gap: 14px;
  font-size: 11px; letter-spacing: 1.5px; text-align: center; padding: 0 12px;
}
.mr-selo img { width: 28px; height: 28px; margin: 0 auto; flex: none; }
.mr-selo span { display: block; width: 100%; text-align: center; }

/* A pedra */
.mr-pedra { display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: 700px; }
.mr-pedra-photo { position: relative; aspect-ratio: 800 / 520; overflow: hidden; }
.mr-pedra-photo img { position: absolute; left: -13.08%; top: -117.36%; width: 122.38%; height: 334.72%; max-width: none; }
.mr-pedra-photo::after { content: ""; position: absolute; inset: 0; background: rgba(0, 40, 16, .1); }
.mr-pedra-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 25px; padding: 0 48px 0 82px; max-width: 635px; }
.mr-pedra-title { font-family: var(--mr-serif); font-size: 35px; letter-spacing: 1px; text-transform: uppercase !important; }
.mr-pedra-text { font-weight: 300; font-size: 20px; line-height: 1.75; letter-spacing: .2px; max-width: 489px; }

/* Mais desejados */
.mr-desejados { padding: 70px 0; }
.mr-desejados .mr-section-head { margin-bottom: 64px; align-items: center; }
.mr-drag-hint { font-weight: 300; font-size: 10px; letter-spacing: 1.8px; opacity: .5; }
.mr-carousel {
  display: flex; gap: 20px;
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scrollbar-width: none;
  cursor: grab; user-select: none;
}
.mr-carousel::-webkit-scrollbar { display: none; }
.mr-carousel.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.mr-carousel > .mr-card { flex: 0 0 232px; scroll-snap-align: start; }
.mr-carousel img { -webkit-user-drag: none; }

/* Newsletter */
.mr-newsletter { position: relative; padding: 104px 0; overflow: hidden; background: var(--mr-verde); color: var(--mr-creme); text-align: center; }
.mr-newsletter--home { padding-bottom: 120px; }
.mr-newsletter-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mr-newsletter::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(0, 40, 16, .75); }
.mr-newsletter-inner { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; }
.mr-newsletter-title { margin: 0; font-family: var(--mr-serif); font-size: 40px; font-weight: 400; letter-spacing: .5px; color: var(--mr-creme); }
.mr-newsletter-text { margin: 16px 0 0; font-weight: 300; font-size: 18px; line-height: 1.65; letter-spacing: .2px; opacity: .75; }
.mr-newsletter-form { margin-top: 40px; display: flex; width: 620px; max-width: 100%; height: 62px; }
.mr-newsletter-form input[type="email"] {
  flex: 1; min-width: 0; height: 100%; margin: 0;
  border: 1px solid var(--mr-creme); border-radius: 0; background: transparent; color: var(--mr-creme);
  padding: 0 23px; font-family: var(--mr-sans); font-weight: 300; font-size: 14px; letter-spacing: .4px; outline: none;
}
.mr-newsletter-form input[type="email"]::placeholder { color: var(--mr-creme); opacity: .55; }
.mr-newsletter-form input[type="email"]:focus { background: rgba(242, 239, 235, .06); }
.mr-newsletter-submit {
  flex: none; height: 100%; padding: 0 36px; margin: 0; cursor: pointer;
  background: var(--mr-creme); color: var(--mr-verde);
  border: 1px solid var(--mr-creme); border-radius: 0;
  font-family: var(--mr-sans); font-size: 12px; letter-spacing: 2px;
  -webkit-appearance: none; appearance: none;
  transition: background-color .3s ease, color .3s ease;
}
.mr-newsletter-submit:hover { background: transparent; color: var(--mr-creme); }
.mr-newsletter-msg { margin-top: 18px; font-size: 12px; letter-spacing: .4px; }

/* Depoimentos */
.mr-depoimentos { padding: 0 0 120px; }
.mr-depoimentos .mr-wrap { border-top: 1px solid rgba(0, 40, 16, .12); padding-top: 78px; }
.mr-depoimentos-head { text-align: center; display: flex; flex-direction: column; gap: 16px; align-items: center; margin-bottom: 58px; }
.mr-depoimentos-sub { font-weight: 300; font-size: 11px; letter-spacing: 2.6px; opacity: .55; }
.mr-depoimentos-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 50px; }
.mr-depoimento { display: flex; flex-direction: column; align-items: flex-start; }
.mr-depoimento-quote { font-family: var(--mr-serif); font-size: 56px; line-height: 1; opacity: .25; height: 44px; margin-bottom: 6px; }
.mr-depoimento blockquote { font-family: var(--mr-serif); font-style: italic; font-size: 19px; line-height: 1.75; letter-spacing: .1px; padding: 0; border: 0; }
.mr-depoimento-line { width: 28px; height: 1px; background: var(--mr-verde); opacity: .35; margin: 28px 0 18px; }
.mr-depoimento-nome { font-size: 11px; letter-spacing: 1.6px; }
.mr-depoimento-cidade { margin-top: 6px !important; font-weight: 300; font-size: 11px; letter-spacing: .4px; opacity: .55; }

/* =========================================================
   CATEGORIA
   ========================================================= */
.mr-cat-head { padding: 60px 0 58px; }
.mr-cat-head-inner { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 24px; }
.mr-cat-title { margin-top: 22px !important; font-family: var(--mr-serif); font-size: 46px; letter-spacing: 1px; text-transform: uppercase !important; color: var(--mr-verde); }
.mr-cat-desc { margin-top: 18px !important; font-weight: 300; font-size: 18px; line-height: 1.65; letter-spacing: .2px; opacity: .75; max-width: 407px; }
.mr-cat-count { margin-top: 58px !important; font-weight: 300; font-size: 16px; letter-spacing: 1.6px; opacity: .55; white-space: nowrap; }

.mr-filters-inner {
  border-top: 1px solid rgba(0, 40, 16, .15);
  border-bottom: 1px solid rgba(0, 40, 16, .15);
  min-height: 80px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap;
}
.mr-filters-list { display: flex; gap: 12px 40px; flex-wrap: wrap; }
.mr-filter-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 8px 0;
  font-family: var(--mr-sans); font-size: 11px; letter-spacing: 1.6px; color: var(--mr-verde) !important;
}
.mr-filter-btn--sort { font-weight: 300; letter-spacing: 1.4px; }
.mr-chevron { opacity: .6; letter-spacing: 0; display: inline-block; line-height: 1; transform: translateY(-2px); }
.mr-applied-filters { padding-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

.mr-cat-grid { padding: 60px 0 0; }
.mr-grid--category { row-gap: 64px; }
.mr-grid--category .mr-card-name { letter-spacing: 1.2px; }
.mr-grid--category .mr-card-price { letter-spacing: .5px; }
.mr-pagination { display: flex; justify-content: center; padding: 82px 0 88px; }
.mr-pagination--classic { padding: 48px 0 64px; }
.mr-empty { padding: 40px 0 80px; text-align: center; font-weight: 300; font-size: 16px; }

/* =========================================================
   PRODUTO
   ========================================================= */
.mr-pdp-main { padding: 50px 0 100px; }
.mr-pdp-grid { margin-top: 40px; display: grid; grid-template-columns: minmax(0, 620fr) minmax(0, 540fr); gap: 60px; align-items: start; }
/* A galeria nunca empurra a coluna de informações, mesmo com várias fotos */
.mr-pdp-gallery { min-width: 0; max-width: 100%; overflow: hidden; }
.mr-pdp-gallery .swiper-container, .mr-pdp-gallery .swiper-wrapper { max-width: 100%; }
.mr-pdp-gallery img { max-width: 100%; }

/* Galeria do tema dentro do quadro branco do Figma */
.mr-pdp-gallery .product-image-container { padding: 0 !important; }
.mr-pdp-gallery .js-swiper-product { background: var(--mr-branco); }
.mr-pdp-gallery .product-paginator { color: var(--mr-verde); }

.mr-pdp-info { display: flex; flex-direction: column; gap: 22px; }
.mr-pdp-cat { font-weight: 300; font-size: 10px; letter-spacing: 2px; opacity: .55; margin-bottom: -4px !important; }
.mr-pdp-title { font-family: var(--mr-serif); font-size: 36px; line-height: 1.2 !important; letter-spacing: 1.2px; text-transform: uppercase !important; color: var(--mr-verde); }
.mr-pdp-material { font-weight: 300; font-size: 10px; letter-spacing: 1.8px; opacity: .7; margin-top: -8px !important; }

.mr-pdp .price-container { margin-bottom: 0 !important; }
.mr-pdp .js-price-container { margin-bottom: 8px !important; }
.mr-pdp .mr-pdp-price { font-family: var(--mr-sans); font-size: 26px; font-weight: 400; letter-spacing: .4px; color: var(--mr-verde); }
.mr-pdp .price-compare { font-size: 16px !important; opacity: .55; margin-left: 10px; }
.mr-pdp .js-product-payments-container { margin-bottom: 0 !important; font-weight: 300; font-size: 12px; letter-spacing: .2px; opacity: .7; }
.mr-pdp .js-product-payments-container .btn-link { font-size: 11px; }

/* Variações como botões (ativar "Mostrar como botões" no painel) */
.mr-pdp .js-product-variants { margin: 0 !important; padding: 0 !important; }
.mr-pdp .js-product-variants .form-label {
  font-family: var(--mr-sans); font-size: 11px; letter-spacing: 1.8px; text-transform: uppercase;
  color: var(--mr-verde); margin-bottom: 14px !important; opacity: 1;
}
.mr-pdp .btn-variant {
  min-width: 58px; height: 44px; padding: 0 12px; margin: 0 10px 10px 0;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--mr-verde) !important; border-radius: 0 !important;
  background: transparent !important; color: var(--mr-verde) !important;
  font-family: var(--mr-sans); font-size: 13px; letter-spacing: .6px;
  transition: background-color .2s ease, color .2s ease;
}
.mr-pdp .btn-variant:hover { background: rgba(0, 40, 16, .06) !important; }
.mr-pdp .btn-variant.selected { background: var(--mr-verde) !important; color: var(--mr-creme) !important; }
.mr-pdp .btn-variant.selected .btn-variant-content { color: var(--mr-creme) !important; }
.mr-pdp .btn-variant.btn-variant-no-stock { opacity: .35; text-decoration: line-through; }

/* Quantidade: continua no formulário (o carrinho usa o valor 1), mas fica escondida como no Figma */
.mr-pdp .mr-qty-hidden { display: none !important; }

/* Botão de compra */
.mr-pdp .mr-btn-buy,
.mr-pdp .js-addtocart-placeholder {
  width: 100%; height: auto; padding: 22px 16px !important;
  background: var(--mr-verde) !important; color: var(--mr-creme) !important;
  border: 1px solid var(--mr-verde) !important; border-radius: 0 !important;
  font-family: var(--mr-sans); font-size: 12px !important; letter-spacing: 2.2px; text-transform: uppercase;
  transition: background-color .3s ease, color .3s ease;
}
.mr-pdp .mr-btn-buy:hover { background: transparent !important; color: var(--mr-verde) !important; }
.mr-pdp .mr-btn-buy.nostock { opacity: .5; }

/* Calculadora de frete do tema */
.mr-pdp #product-shipping-container { margin-top: 8px !important; }
.mr-pdp #product-shipping-container .font-big,
.mr-pdp #product-shipping-container .form-label {
  font-family: var(--mr-sans); font-size: 11px !important; letter-spacing: 1.6px; text-transform: uppercase; color: var(--mr-verde);
}
.mr-pdp #product-shipping-container .form-control {
  border: 0 !important; border-bottom: 1px solid rgba(0, 40, 16, .25) !important; border-radius: 0 !important;
  background: transparent !important; padding-left: 0 !important;
  font-family: var(--mr-sans); font-weight: 300; font-size: 13px; letter-spacing: .4px; color: var(--mr-verde);
  box-shadow: none !important;
}
.mr-pdp #product-shipping-container .js-calculate-shipping {
  background: transparent !important; color: var(--mr-verde) !important; border: 0 !important;
  font-family: var(--mr-sans); font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase;
}

/* Selos do produto */
.mr-pdp-seals { display: flex; flex-direction: column; gap: 14px; }
.mr-pdp-seals li { display: flex; align-items: center; gap: 12px; font-weight: 300; font-size: 12px; letter-spacing: .2px; }
.mr-pdp-seals li span { opacity: .75; }
.mr-pdp-seals img { width: 15px; height: 15px; flex: none; }

/* Detalhes */
.mr-pdp-details .mr-wrap { border-top: 1px solid rgba(0, 40, 16, .15); padding: 80px 0 60px; }
.mr-pdp-details-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.mr-pdp-detail { display: flex; flex-direction: column; gap: 18px; max-width: 400px; }
.mr-pdp-detail img { width: 30px; height: 30px; }
.mr-pdp-detail h2 { font-family: var(--mr-sans); font-size: 11px; letter-spacing: 1.8px; color: var(--mr-verde); }
.mr-pdp-detail-text, .mr-pdp-detail-text p { font-weight: 300; font-size: 16px; line-height: 1.75; letter-spacing: .2px; opacity: .9; }
.mr-pdp-detail-text p + p { margin-top: 12px; }

.mr-combina { padding: 70px 0 105px; }
.mr-combina .mr-section-title { margin-bottom: 52px; }

/* =========================================================
   CABEÇALHO DO TEMA (ajustes visuais; a estrutura é a do tema)
   Configurar no painel: logo à esquerda, menu ao lado do logo,
   ícones (não texto), cabeçalho fixo e barra de anúncios ligada.
   ========================================================= */
.mr-theme .section-adbar {
  background: var(--mr-verde) !important; color: var(--mr-branco) !important;
  min-height: 40px; padding: 11px 20px;
  font-family: var(--mr-sans); font-size: 12px; letter-spacing: 0;
}
.mr-theme .section-adbar a { color: var(--mr-branco) !important; }

.mr-theme .head-main { background: var(--mr-creme) !important; }
.mr-theme .head-main > .container-fluid {
  width: min(var(--mr-conteudo), 100% - 48px); max-width: none; margin: 0 auto; padding: 0;
}
.mr-theme .head-main .logo-img { max-height: 33px; margin: 13px 0; }

.mr-theme .nav-desktop-list .nav-list-link {
  font-family: var(--mr-sans) !important; font-size: 12px !important; font-weight: 400 !important;
  letter-spacing: 0; text-transform: uppercase; color: var(--mr-tinta) !important;
}
/* Menu alinhado à direita, junto dos ícones (como no Figma) */
.mr-theme .js-desktop-nav-col.desktop-nav-col { text-align: right; padding-right: 36px !important; }
.mr-theme .js-desktop-nav-col .nav-desktop { width: 100%; text-align: right; }
.mr-theme .js-desktop-nav-col .nav-desktop-list { display: block; width: 100%; text-align: right; }
.mr-theme .js-desktop-nav-col .nav-desktop-list > .nav-item { padding: 0 0 0 20px; }
.mr-theme .utilities-item svg, .mr-theme #ajax-cart svg { width: 24px; height: 24px; fill: var(--mr-verde); }
/* Contador da sacola: bolinha verde no canto superior direito do ícone */
.mr-theme .js-cart-widget-amount.badge {
  position: absolute; top: -5px; right: -9px; left: auto; transform: none;
  display: flex; align-items: center; justify-content: center;
  min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px;
  background: var(--mr-verde); color: var(--mr-creme);
  font-family: var(--mr-sans); font-size: 9px; font-weight: 400; line-height: 1; letter-spacing: 0;
  box-shadow: 0 0 0 2px var(--mr-creme);
}
.mr-theme .js-cart-widget-amount.badge.d-none { display: none !important; }

/* =========================================================
   LOGIN, CADASTRO E SENHA (templates/account/login, register, reset, newpass)
   Formulário centralizado
   ========================================================= */
body.mr-auth .page-header { text-align: center; }
body.mr-auth .page-header .container-fluid > *, body.mr-auth .page-header .row > * { margin-left: auto; margin-right: auto; }
body.mr-auth .page-header .breadcrumbs,
body.mr-auth .page-header nav { justify-content: center; }
body.mr-auth .page-header h1 {
  font-family: var(--mr-serif); font-weight: 400; letter-spacing: 1px; text-transform: uppercase; color: var(--mr-verde);
}
body.mr-auth .account-page { padding-bottom: 100px; }
body.mr-auth .account-page .row { justify-content: center !important; }
body.mr-auth .account-page .col-md-5 { flex: 0 0 100% !important; max-width: 480px !important; margin-left: auto; margin-right: auto; }
body.mr-auth .account-page .btn-primary {
  background: var(--mr-verde) !important; border: 1px solid var(--mr-verde) !important; color: var(--mr-creme) !important;
  border-radius: 0; font-family: var(--mr-sans); font-size: 12px; letter-spacing: 2.2px; text-transform: uppercase; padding: 20px 16px;
  transition: background-color .3s ease, color .3s ease;
}
body.mr-auth .account-page .btn-primary:hover { background: transparent !important; color: var(--mr-verde) !important; }
body.mr-auth .account-page .form-control { border-radius: 0; background: transparent; border-color: rgba(0, 40, 16, .35); }
body.mr-auth .account-page .form-control:focus { border-color: var(--mr-verde); box-shadow: none; }

/* =========================================================
   GUIA DE TAMANHOS (snipplets/meraude/guia-tamanhos.tpl)
   ========================================================= */
.mr-guia-inner { border-top: 1px solid rgba(0, 40, 16, .12); padding: 76px 0 60px; }
.mr-guia-title { font-family: var(--mr-serif); font-size: 26px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--mr-verde); }
.mr-guia-sub { margin-top: 12px !important; font-weight: 300; font-size: 13px; letter-spacing: .3px; opacity: .65; }
.mr-guia-passos { margin-top: 42px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.mr-guia-passo { background: var(--mr-branco); padding: 34px; display: flex; flex-direction: column; gap: 20px; }
.mr-guia-num { font-size: 11px; letter-spacing: 2px; opacity: .5; }
.mr-guia-passo img { width: 54px; height: 76px; opacity: .8; }
.mr-guia-passo p { font-size: 16px; line-height: 1.65; letter-spacing: .1px; }
.mr-guia-passo strong { font-weight: 600; }

.mr-guia-tabela { margin-top: 20px; background: var(--mr-branco); padding: 30px 34px 34px; }
.mr-guia-tabela-titulo { font-size: 10px; letter-spacing: 1.8px; opacity: .5; }
.mr-guia-medidas { margin-top: 24px !important; display: flex; flex-wrap: wrap; gap: 12px 0; }
.mr-guia-medidas li { width: 130px; height: 46px; display: flex; align-items: center; gap: 10px; }
.mr-guia-n {
  width: 36px; height: 36px; flex: none; border: 1px solid var(--mr-verde); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; letter-spacing: .4px;
}
.mr-guia-cm { font-weight: 300; font-size: 12px; letter-spacing: .3px; opacity: .7; }
.mr-guia-nota { margin-top: 30px !important; font-weight: 300; font-size: 11px; letter-spacing: .2px; opacity: .5; }

/* =========================================================
   CARRINHO LATERAL (#modal-cart) · bordas retas e fundo creme
   ========================================================= */
.mr-theme #modal-cart,
.mr-theme #modal-cart * {
  --border-radius: 0; --border-radius-small: 0; --border-radius-half: 0;
  --border-radius-top: 0; --border-radius-top-left: 0; --border-radius-top-right: 0;
  --border-radius-bottom: 0; --border-radius-bottom-left: 0; --border-radius-bottom-right: 0; --border-radius-bottom-left-half: 0;
  --border-radius-left: 0; --border-radius-left-big: 0; --border-radius-right: 0; --border-radius-right-big: 0;
}
.mr-theme #modal-cart { border-radius: 0 !important; background: var(--mr-creme) !important; color: var(--mr-verde); }
.mr-theme #modal-cart .modal-header,
.mr-theme #modal-cart .modal-body,
.mr-theme #modal-cart .modal-footer { background: var(--mr-creme) !important; }
.mr-theme #modal-cart .modal-header {
  font-family: var(--mr-serif); font-weight: 400; letter-spacing: 1px; text-transform: uppercase; color: var(--mr-verde);
}
/* Aviso "carrinho vazio" no verde da marca, sem o azul padrão */
.mr-theme #modal-cart .alert {
  background: transparent !important; border: 1px solid rgba(0, 40, 16, .2) !important; border-radius: 0 !important;
  color: var(--mr-verde) !important; font-weight: 300; letter-spacing: .2px;
}
.mr-theme #modal-cart .alert svg { fill: var(--mr-verde) !important; }
/* Botões do carrinho retos e em verde */
.mr-theme #modal-cart .btn-primary {
  background: var(--mr-verde) !important; border: 1px solid var(--mr-verde) !important; color: var(--mr-creme) !important;
  border-radius: 0 !important; font-family: var(--mr-sans); font-size: 12px; letter-spacing: 2.2px; text-transform: uppercase;
}
.mr-theme #modal-cart .btn-primary:hover { background: transparent !important; color: var(--mr-verde) !important; }
.mr-theme #modal-cart .form-control, .mr-theme #modal-cart .btn { border-radius: 0 !important; }
/* Linha "Frete:" do tema usa .row sem compensar o padding e vazava para fora da borda */
.mr-theme #shipping-cost-container,
.mr-theme .js-shipping-discount-row { margin-left: 0 !important; margin-right: 0 !important; }
.mr-theme #shipping-cost-container > span,
.mr-theme .js-shipping-discount-row > span { padding-left: 0 !important; padding-right: 0 !important; }

/* =========================================================
   RODAPÉ (snipplets/footer/footer.tpl) · Figma node 205:108
   ========================================================= */
.mr-footer { background: var(--mr-verde); color: var(--mr-creme); padding-top: 80px; margin-top: 0 !important; }
.mr-footer a { color: var(--mr-creme) !important; }
.mr-footer-top { display: grid; grid-template-columns: 480px 290px 290px 1fr; min-height: 290px; }
.mr-footer-brand { display: flex; flex-direction: column; gap: 20px; max-width: 380px; }
.mr-footer-logo { width: 278px; height: auto; max-width: 100%; }
.mr-footer-about { font-weight: 300; font-size: 16px; line-height: 1.8; letter-spacing: .2px; opacity: .7; max-width: 347px; }
.mr-footer-social { display: flex; gap: 26px; }
.mr-footer-social a { display: flex; align-items: center; gap: 9px; font-size: 10px; letter-spacing: 1.8px; }
.mr-footer-social a span { opacity: .8; }
.mr-footer-social img { width: 17px; height: 17px; }
.mr-footer-col h3 { font-family: var(--mr-sans); font-size: 11px; letter-spacing: 1.8px; margin-bottom: 20px !important; color: var(--mr-creme); }
.mr-footer-col ul { display: flex; flex-direction: column; gap: 16px; }
.mr-footer-col li { font-weight: 300; font-size: 12px; letter-spacing: .3px; text-transform: uppercase; }
.mr-footer-col li a, .mr-footer-col li span { opacity: .75; transition: opacity .2s ease; }
.mr-footer-col li a:hover { opacity: 1; }
.mr-footer-contact li { display: flex; align-items: center; gap: 12px; white-space: nowrap; text-transform: none; }
.mr-footer-contact img { width: 16px; height: 16px; flex: none; }

.mr-footer-mid {
  border-top: 1px solid rgba(242, 239, 235, .15);
  padding: 40px 0 30px;
  display: grid; grid-template-columns: 520px 380px 1fr;
}
.mr-footer-group h3 { font-family: var(--mr-sans); font-size: 10px; letter-spacing: 1.8px; opacity: .55; margin-bottom: 14px !important; color: var(--mr-creme); }
.mr-footer-selo { display: block; width: auto; max-width: 100%; height: auto; object-fit: contain; object-position: left center; }
.mr-footer-selo-pagamento { max-height: 28px; }
.mr-footer-selo-envio { max-height: 16px; margin-top: 6px; }
.mr-footer-selo-seguranca { max-height: 22px; margin-top: 3px; }
.mr-footer-seals { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; padding: 0 0 30px; }

.mr-footer-bottom {
  border-top: 1px solid rgba(242, 239, 235, .15);
  display: flex; justify-content: space-between; align-items: flex-start; gap: 16px 32px; flex-wrap: wrap;
  padding: 24px 0 80px;
  font-weight: 300; font-size: 11px; letter-spacing: .3px;
}
.mr-footer-bottom > p { opacity: .5; }
.mr-footer-legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 16px; text-align: right; }
.mr-footer-legal > span:first-child { opacity: .5; }
.mr-footer-claims, .mr-footer-legal-link { font-size: 11px !important; opacity: .7; }
.mr-footer-divider { margin: 0 6px; opacity: .4; }
.mr-footer-powered, .mr-footer-powered a { opacity: .6; font-size: 11px; }
.mr-footer-powered svg, .mr-footer-powered img { max-height: 16px; width: auto; vertical-align: middle; fill: var(--mr-creme); }

/* =========================================================
   CATEGORIA
   ========================================================= */
.mr-cat-head { padding: 60px 0 58px; }
.mr-cat-head-inner { display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 24px; }
.mr-cat-title { margin-top: 22px !important; font-family: var(--mr-serif); font-size: 46px; letter-spacing: 1px; text-transform: uppercase !important; color: var(--mr-verde); }
.mr-cat-desc { margin-top: 18px !important; font-weight: 300; font-size: 18px; line-height: 1.65; letter-spacing: .2px; opacity: .75; max-width: 407px; }
.mr-cat-count { margin-top: 58px !important; font-weight: 300; font-size: 16px; letter-spacing: 1.6px; opacity: .55; white-space: nowrap; }

.mr-filters-inner {
  border-top: 1px solid rgba(0, 40, 16, .15);
  border-bottom: 1px solid rgba(0, 40, 16, .15);
  min-height: 80px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap;
}
.mr-filters-list { display: flex; gap: 12px 40px; flex-wrap: wrap; }
.mr-filter-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 8px 0;
  font-family: var(--mr-sans); font-size: 11px; letter-spacing: 1.6px; color: var(--mr-verde) !important;
}
.mr-filter-btn--sort { font-weight: 300; letter-spacing: 1.4px; }
.mr-chevron { opacity: .6; letter-spacing: 0; display: inline-block; line-height: 1; transform: translateY(-2px); }
.mr-applied-filters { padding-top: 16px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

.mr-cat-grid { padding: 60px 0 0; }
.mr-grid--category { row-gap: 64px; }
.mr-grid--category .mr-card-name { letter-spacing: 1.2px; }
.mr-grid--category .mr-card-price { letter-spacing: .5px; }
.mr-pagination { display: flex; justify-content: center; padding: 82px 0 88px; }
.mr-pagination--classic { padding: 48px 0 64px; }
.mr-empty { padding: 40px 0 80px; text-align: center; font-weight: 300; font-size: 16px; }

/* =========================================================
   PRODUTO
   ========================================================= */
.mr-pdp-main { padding: 50px 0 100px; }
.mr-pdp-grid { margin-top: 40px; display: grid; grid-template-columns: minmax(0, 620fr) minmax(0, 540fr); gap: 60px; align-items: start; }
/* A galeria nunca empurra a coluna de informações, mesmo com várias fotos */
.mr-pdp-gallery { min-width: 0; max-width: 100%; overflow: hidden; }
.mr-pdp-gallery .swiper-container, .mr-pdp-gallery .swiper-wrapper { max-width: 100%; }
.mr-pdp-gallery img { max-width: 100%; }

/* Galeria do tema dentro do quadro branco do Figma */
.mr-pdp-gallery .product-image-container { padding: 0 !important; }
.mr-pdp-gallery .js-swiper-product { background: var(--mr-branco); }
.mr-pdp-gallery .product-paginator { color: var(--mr-verde); }

.mr-pdp-info { display: flex; flex-direction: column; gap: 22px; }
.mr-pdp-cat { font-weight: 300; font-size: 10px; letter-spacing: 2px; opacity: .55; margin-bottom: -4px !important; }
.mr-pdp-title { font-family: var(--mr-serif); font-size: 36px; line-height: 1.2 !important; letter-spacing: 1.2px; text-transform: uppercase !important; color: var(--mr-verde); }
.mr-pdp-material { font-weight: 300; font-size: 10px; letter-spacing: 1.8px; opacity: .7; margin-top: -8px !important; }

.mr-pdp .price-container { margin-bottom: 0 !important; }
.mr-pdp .js-price-container { margin-bottom: 8px !important; }
.mr-pdp .mr-pdp-price { font-family: var(--mr-sans); font-size: 26px; font-weight: 400; letter-spacing: .4px; color: var(--mr-verde); }
.mr-pdp .price-compare { font-size: 16px !important; opacity: .55; margin-left: 10px; }
.mr-pdp .js-product-payments-container { margin-bottom: 0 !important; font-weight: 300; font-size: 12px; letter-spacing: .2px; opacity: .7; }
.mr-pdp .js-product-payments-container .btn-link { font-size: 11px; }

/* Variações como botões (ativar "Mostrar como botões" no painel) */
.mr-pdp .js-product-variants { margin: 0 !important; padding: 0 !important; }
.mr-pdp .js-product-variants .form-label {
  font-family: var(--mr-sans); font-size: 11px; letter-spacing: 1.8px; text-transform: uppercase;
  color: var(--mr-verde); margin-bottom: 14px !important; opacity: 1;
}
.mr-pdp .btn-variant {
  min-width: 58px; height: 44px; padding: 0 12px; margin: 0 10px 10px 0;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--mr-verde) !important; border-radius: 0 !important;
  background: transparent !important; color: var(--mr-verde) !important;
  font-family: var(--mr-sans); font-size: 13px; letter-spacing: .6px;
  transition: background-color .2s ease, color .2s ease;
}
.mr-pdp .btn-variant:hover { background: rgba(0, 40, 16, .06) !important; }
.mr-pdp .btn-variant.selected { background: var(--mr-verde) !important; color: var(--mr-creme) !important; }
.mr-pdp .btn-variant.selected .btn-variant-content { color: var(--mr-creme) !important; }
.mr-pdp .btn-variant.btn-variant-no-stock { opacity: .35; text-decoration: line-through; }

/* Quantidade: continua no formulário (o carrinho usa o valor 1), mas fica escondida como no Figma */
.mr-pdp .mr-qty-hidden { display: none !important; }

/* Botão de compra */
.mr-pdp .mr-btn-buy,
.mr-pdp .js-addtocart-placeholder {
  width: 100%; height: auto; padding: 22px 16px !important;
  background: var(--mr-verde) !important; color: var(--mr-creme) !important;
  border: 1px solid var(--mr-verde) !important; border-radius: 0 !important;
  font-family: var(--mr-sans); font-size: 12px !important; letter-spacing: 2.2px; text-transform: uppercase;
  transition: background-color .3s ease, color .3s ease;
}
.mr-pdp .mr-btn-buy:hover { background: transparent !important; color: var(--mr-verde) !important; }
.mr-pdp .mr-btn-buy.nostock { opacity: .5; }

/* Calculadora de frete do tema */
.mr-pdp #product-shipping-container { margin-top: 8px !important; }
.mr-pdp #product-shipping-container .font-big,
.mr-pdp #product-shipping-container .form-label {
  font-family: var(--mr-sans); font-size: 11px !important; letter-spacing: 1.6px; text-transform: uppercase; color: var(--mr-verde);
}
.mr-pdp #product-shipping-container .form-control {
  border: 0 !important; border-bottom: 1px solid rgba(0, 40, 16, .25) !important; border-radius: 0 !important;
  background: transparent !important; padding-left: 0 !important;
  font-family: var(--mr-sans); font-weight: 300; font-size: 13px; letter-spacing: .4px; color: var(--mr-verde);
  box-shadow: none !important;
}
.mr-pdp #product-shipping-container .js-calculate-shipping {
  background: transparent !important; color: var(--mr-verde) !important; border: 0 !important;
  font-family: var(--mr-sans); font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase;
}

/* Selos do produto */
.mr-pdp-seals { display: flex; flex-direction: column; gap: 14px; }
.mr-pdp-seals li { display: flex; align-items: center; gap: 12px; font-weight: 300; font-size: 12px; letter-spacing: .2px; }
.mr-pdp-seals li span { opacity: .75; }
.mr-pdp-seals img { width: 15px; height: 15px; flex: none; }

/* Detalhes */
.mr-pdp-details .mr-wrap { border-top: 1px solid rgba(0, 40, 16, .15); padding: 80px 0 60px; }
.mr-pdp-details-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.mr-pdp-detail { display: flex; flex-direction: column; gap: 18px; max-width: 400px; }
.mr-pdp-detail img { width: 30px; height: 30px; }
.mr-pdp-detail h2 { font-family: var(--mr-sans); font-size: 11px; letter-spacing: 1.8px; color: var(--mr-verde); }
.mr-pdp-detail-text, .mr-pdp-detail-text p { font-weight: 300; font-size: 16px; line-height: 1.75; letter-spacing: .2px; opacity: .9; }
.mr-pdp-detail-text p + p { margin-top: 12px; }

.mr-combina { padding: 70px 0 105px; }
.mr-combina .mr-section-title { margin-bottom: 52px; }

/* =========================================================
   CABEÇALHO DO TEMA (ajustes visuais; a estrutura é a do tema)
   Configurar no painel: logo à esquerda, menu ao lado do logo,
   ícones (não texto), cabeçalho fixo e barra de anúncios ligada.
   ========================================================= */
.mr-theme .section-adbar {
  background: var(--mr-verde) !important; color: var(--mr-branco) !important;
  min-height: 40px; padding: 11px 20px;
  font-family: var(--mr-sans); font-size: 12px; letter-spacing: 0;
}
.mr-theme .section-adbar a { color: var(--mr-branco) !important; }

.mr-theme .head-main { background: var(--mr-creme) !important; }
.mr-theme .head-main > .container-fluid {
  width: min(var(--mr-conteudo), 100% - 48px); max-width: none; margin: 0 auto; padding: 0;
}
.mr-theme .head-main .logo-img { max-height: 33px; margin: 13px 0; }

.mr-theme .nav-desktop-list .nav-list-link {
  font-family: var(--mr-sans) !important; font-size: 12px !important; font-weight: 400 !important;
  letter-spacing: 0; text-transform: uppercase; color: var(--mr-tinta) !important;
}
/* Menu alinhado à direita, junto dos ícones (como no Figma) */
.mr-theme .js-desktop-nav-col.desktop-nav-col { text-align: right; padding-right: 36px !important; }
.mr-theme .js-desktop-nav-col .nav-desktop { width: 100%; text-align: right; }
.mr-theme .js-desktop-nav-col .nav-desktop-list { display: block; width: 100%; text-align: right; }
.mr-theme .js-desktop-nav-col .nav-desktop-list > .nav-item { padding: 0 0 0 20px; }
.mr-theme .utilities-item svg, .mr-theme #ajax-cart svg { width: 24px; height: 24px; fill: var(--mr-verde); }
/* Contador da sacola: bolinha verde no canto superior direito do ícone */
.mr-theme .js-cart-widget-amount.badge {
  position: absolute; top: -5px; right: -9px; left: auto; transform: none;
  display: flex; align-items: center; justify-content: center;
  min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px;
  background: var(--mr-verde); color: var(--mr-creme);
  font-family: var(--mr-sans); font-size: 9px; font-weight: 400; line-height: 1; letter-spacing: 0;
  box-shadow: 0 0 0 2px var(--mr-creme);
}
.mr-theme .js-cart-widget-amount.badge.d-none { display: none !important; }

/* =========================================================
   LOGIN, CADASTRO E SENHA (templates/account/login, register, reset, newpass)
   Formulário centralizado
   ========================================================= */
body.mr-auth .page-header { text-align: center; }
body.mr-auth .page-header .container-fluid > *, body.mr-auth .page-header .row > * { margin-left: auto; margin-right: auto; }
body.mr-auth .page-header .breadcrumbs,
body.mr-auth .page-header nav { justify-content: center; }
body.mr-auth .page-header h1 {
  font-family: var(--mr-serif); font-weight: 400; letter-spacing: 1px; text-transform: uppercase; color: var(--mr-verde);
}
body.mr-auth .account-page { padding-bottom: 100px; }
body.mr-auth .account-page .row { justify-content: center !important; }
body.mr-auth .account-page .col-md-5 { flex: 0 0 100% !important; max-width: 480px !important; margin-left: auto; margin-right: auto; }
body.mr-auth .account-page .btn-primary {
  background: var(--mr-verde) !important; border: 1px solid var(--mr-verde) !important; color: var(--mr-creme) !important;
  border-radius: 0; font-family: var(--mr-sans); font-size: 12px; letter-spacing: 2.2px; text-transform: uppercase; padding: 20px 16px;
  transition: background-color .3s ease, color .3s ease;
}
body.mr-auth .account-page .btn-primary:hover { background: transparent !important; color: var(--mr-verde) !important; }
body.mr-auth .account-page .form-control { border-radius: 0; background: transparent; border-color: rgba(0, 40, 16, .35); }
body.mr-auth .account-page .form-control:focus { border-color: var(--mr-verde); box-shadow: none; }

/* =========================================================
   GUIA DE TAMANHOS (snipplets/meraude/guia-tamanhos.tpl)
   ========================================================= */
.mr-guia-inner { border-top: 1px solid rgba(0, 40, 16, .12); padding: 76px 0 60px; }
.mr-guia-title { font-family: var(--mr-serif); font-size: 26px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--mr-verde); }
.mr-guia-sub { margin-top: 12px !important; font-weight: 300; font-size: 13px; letter-spacing: .3px; opacity: .65; }
.mr-guia-passos { margin-top: 42px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.mr-guia-passo { background: var(--mr-branco); padding: 34px; display: flex; flex-direction: column; gap: 20px; }
.mr-guia-num { font-size: 11px; letter-spacing: 2px; opacity: .5; }
.mr-guia-passo img { width: 54px; height: 76px; opacity: .8; }
.mr-guia-passo p { font-size: 16px; line-height: 1.65; letter-spacing: .1px; }
.mr-guia-passo strong { font-weight: 600; }

.mr-guia-tabela { margin-top: 20px; background: var(--mr-branco); padding: 30px 34px 34px; }
.mr-guia-tabela-titulo { font-size: 10px; letter-spacing: 1.8px; opacity: .5; }
.mr-guia-medidas { margin-top: 24px !important; display: flex; flex-wrap: wrap; gap: 12px 0; }
.mr-guia-medidas li { width: 130px; height: 46px; display: flex; align-items: center; gap: 10px; }
.mr-guia-n {
  width: 36px; height: 36px; flex: none; border: 1px solid var(--mr-verde); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; letter-spacing: .4px;
}
.mr-guia-cm { font-weight: 300; font-size: 12px; letter-spacing: .3px; opacity: .7; }
.mr-guia-nota { margin-top: 30px !important; font-weight: 300; font-size: 11px; letter-spacing: .2px; opacity: .5; }

/* =========================================================
   CARRINHO LATERAL (#modal-cart) · bordas retas e fundo creme
   ========================================================= */
.mr-theme #modal-cart,
.mr-theme #modal-cart * {
  --border-radius: 0; --border-radius-small: 0; --border-radius-half: 0;
  --border-radius-top: 0; --border-radius-top-left: 0; --border-radius-top-right: 0;
  --border-radius-bottom: 0; --border-radius-bottom-left: 0; --border-radius-bottom-right: 0; --border-radius-bottom-left-half: 0;
  --border-radius-left: 0; --border-radius-left-big: 0; --border-radius-right: 0; --border-radius-right-big: 0;
}
.mr-theme #modal-cart { border-radius: 0 !important; background: var(--mr-creme) !important; color: var(--mr-verde); }
.mr-theme #modal-cart .modal-header,
.mr-theme #modal-cart .modal-body,
.mr-theme #modal-cart .modal-footer { background: var(--mr-creme) !important; }
.mr-theme #modal-cart .modal-header {
  font-family: var(--mr-serif); font-weight: 400; letter-spacing: 1px; text-transform: uppercase; color: var(--mr-verde);
}
/* Aviso "carrinho vazio" no verde da marca, sem o azul padrão */
.mr-theme #modal-cart .alert {
  background: transparent !important; border: 1px solid rgba(0, 40, 16, .2) !important; border-radius: 0 !important;
  color: var(--mr-verde) !important; font-weight: 300; letter-spacing: .2px;
}
.mr-theme #modal-cart .alert svg { fill: var(--mr-verde) !important; }
/* Botões do carrinho retos e em verde */
.mr-theme #modal-cart .btn-primary {
  background: var(--mr-verde) !important; border: 1px solid var(--mr-verde) !important; color: var(--mr-creme) !important;
  border-radius: 0 !important; font-family: var(--mr-sans); font-size: 12px; letter-spacing: 2.2px; text-transform: uppercase;
}
.mr-theme #modal-cart .btn-primary:hover { background: transparent !important; color: var(--mr-verde) !important; }
.mr-theme #modal-cart .form-control, .mr-theme #modal-cart .btn { border-radius: 0 !important; }
/* Linha "Frete:" do tema usa .row sem compensar o padding e vazava para fora da borda */
.mr-theme #shipping-cost-container,
.mr-theme .js-shipping-discount-row { margin-left: 0 !important; margin-right: 0 !important; }
.mr-theme #shipping-cost-container > span,
.mr-theme .js-shipping-discount-row > span { padding-left: 0 !important; padding-right: 0 !important; }

/* =========================================================
   RODAPÉ (snipplets/footer/footer.tpl)
   ========================================================= */
.mr-footer { background: var(--mr-verde); color: var(--mr-creme); padding-top: 80px; margin-top: 0 !important; }
.mr-footer a { color: var(--mr-creme) !important; }
.mr-footer-top { display: grid; grid-template-columns: 480px 290px 290px 180px; min-height: 290px; }
.mr-footer-brand { display: flex; flex-direction: column; gap: 20px; max-width: 380px; }
.mr-footer-name { font-family: var(--mr-serif); font-size: 24px; letter-spacing: 8px; }
.mr-footer-about { font-weight: 300; font-size: 13px; line-height: 1.8; letter-spacing: .2px; opacity: .7; }
.mr-footer-social { display: flex; gap: 26px; }
.mr-footer-social a { display: flex; align-items: center; gap: 9px; font-size: 10px; letter-spacing: 1.8px; }
.mr-footer-social a span { opacity: .8; }
.mr-footer-social img { width: 17px; height: 17px; }
.mr-footer-col h3 { font-family: var(--mr-sans); font-size: 11px; letter-spacing: 1.8px; margin-bottom: 20px !important; color: var(--mr-creme); }
.mr-footer-col ul { display: flex; flex-direction: column; gap: 16px; }
.mr-footer-col li { font-weight: 300; font-size: 12px; letter-spacing: .3px; }
.mr-footer-col li a, .mr-footer-col li span { opacity: .75; transition: opacity .2s ease; }
.mr-footer-col li a:hover { opacity: 1; }
.mr-footer-contact li { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.mr-footer-contact img { width: 16px; height: 16px; flex: none; }

.mr-footer-mid {
  border-top: 1px solid rgba(242, 239, 235, .15);
  padding: 40px 0 30px;
  display: grid; grid-template-columns: 520px 380px 1fr;
}
.mr-footer-group h3 { font-family: var(--mr-sans); font-size: 10px; letter-spacing: 1.8px; opacity: .55; margin-bottom: 14px !important; color: var(--mr-creme); }
.mr-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mr-chips li { border: 1px solid var(--mr-creme); border-radius: 2px; padding: 7px 10px; font-weight: 300; font-size: 9px; letter-spacing: 1.2px; opacity: .55; }
.mr-footer-seals { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; padding: 0 0 30px; }

.mr-footer-bottom {
  border-top: 1px solid rgba(242, 239, 235, .15);
  display: flex; justify-content: space-between; align-items: flex-start; gap: 16px 32px; flex-wrap: wrap;
  padding: 24px 0 80px;
  font-weight: 300; font-size: 11px; letter-spacing: .3px;
}
.mr-footer-bottom > p { opacity: .5; }
.mr-footer-legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 16px; text-align: right; }
.mr-footer-legal > span:first-child { opacity: .5; }
.mr-footer-claims, .mr-footer-legal-link { font-size: 11px !important; opacity: .7; }
.mr-footer-divider { margin: 0 6px; opacity: .4; }
.mr-footer-powered, .mr-footer-powered a { opacity: .6; font-size: 11px; }
.mr-footer-powered svg, .mr-footer-powered img { max-height: 16px; width: auto; vertical-align: middle; fill: var(--mr-creme); }

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width: 1280px) {
  .mr-footer-top { grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 32px; }
  .mr-footer-mid { grid-template-columns: repeat(3, auto); justify-content: space-between; gap: 32px; }
  .mr-footer-about { font-size: 15px; }
  .mr-pedra-copy { padding-left: 56px; }
}

@media (max-width: 1024px) {
  .mr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
  .mr-hero { height: 800px; }
  /* Tablet e celular: imagem vertical ocupando tudo e texto mais para cima */
  .mr-manifesto { height: 800px; }
  .mr-manifesto-photo { width: 100%; }
  .mr-manifesto-gradient { width: 100%; background: linear-gradient(to bottom, var(--mr-verde-sombra) 0%, rgba(4, 33, 17, 0) 62%); }
  .mr-manifesto-scrim { width: 100%; background: linear-gradient(to bottom, rgba(0, 40, 16, .8) 0%, rgba(0, 40, 16, 0) 58%); }
  .mr-manifesto-inner { align-items: flex-start; padding-top: 120px; }
  .mr-pedra { grid-template-columns: 1fr; min-height: 0; padding: 0 0 80px; }
  .mr-pedra-copy { padding: 48px 24px 0; max-width: none; }
  .mr-depoimentos-grid { grid-template-columns: 1fr; gap: 48px; max-width: 560px; }
  .mr-footer-top { grid-template-columns: 1fr 1fr; row-gap: 48px; }
  .mr-footer-brand { grid-column: 1 / -1; }
  .mr-footer-mid { grid-template-columns: 1fr; gap: 28px; }
  .mr-footer-legal { justify-content: flex-start; text-align: left; }
  .mr-pdp-grid { grid-template-columns: 1fr; gap: 40px; }
  .mr-pdp-details-grid { grid-template-columns: 1fr; gap: 44px; }
  .mr-guia-medidas li { width: 33.333%; }
}

@media (max-width: 640px) {
  .mr-wrap { width: calc(100% - 40px); }
  .mr-theme .head-main > .container-fluid { width: calc(100% - 32px); }
  .mr-theme .section-adbar { font-size: 10px; letter-spacing: .4px; }

  .mr-grid { gap: 12px; row-gap: 32px; }
  .mr-grid--category { row-gap: 32px; }
  .mr-card-name { font-size: 10px; letter-spacing: 1px; }

  .mr-hero { height: 760px; }
  /* No celular o texto sobe, ficando mais perto do topo mas longe do cabeçalho */
  .mr-hero-inner { align-items: flex-start; padding-top: 130px; }
  /* Com o texto no topo, o véu do vídeo escurece de cima para baixo */
  .mr-hero-scrim { background: linear-gradient(to bottom, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .24) 48%, rgba(0, 0, 0, 0) 78%); }
  .mr-hero-title { font-size: 32px; }
  .mr-hero-sub { font-size: 18px; }
  .mr-btn-light { width: 100%; height: 60px; font-size: 16px; }

  .mr-novidades, .mr-categorias { padding: 56px 0; }
  .mr-section-head { margin-bottom: 28px; }
  .mr-section-title { font-size: 22px; }

  .mr-manifesto { height: 760px; }
  .mr-manifesto-inner { padding-top: 110px; }
  .mr-manifesto-title { font-size: 34px; }
  .mr-manifesto-text { font-size: 18px; }

  .mr-cat-card { height: 220px; }
  .mr-cat-label { left: 14px; right: 12px; bottom: 16px; font-size: 10px; letter-spacing: 1.4px; }

  .mr-selos { grid-template-columns: 1fr; }
  .mr-selo { height: 80px; }

  .mr-pedra-title { font-size: 28px; }
  .mr-pedra-text { font-size: 17px; }

  .mr-desejados { padding: 56px 0; }
  .mr-desejados .mr-section-head { margin-bottom: 32px; }
  .mr-carousel > .mr-card { flex-basis: 64%; }

  .mr-newsletter, .mr-newsletter--home { padding: 72px 0; }
  .mr-newsletter-title { font-size: 30px; }
  .mr-newsletter-text { font-size: 15px; }
  .mr-newsletter-form { flex-direction: column; height: auto; gap: 10px; }
  /* No celular o campo e o botão crescem pelo padding, para o texto não ficar colado */
  .mr-newsletter-form input[type="email"] { height: auto; padding: 21px 20px; line-height: 1.2; }
  .mr-newsletter-submit { height: auto; padding: 21px 24px; line-height: 1.2; }

  .mr-depoimentos .mr-wrap { padding-top: 56px; }
  .mr-depoimento blockquote { font-size: 17px; }

  .mr-footer-top { grid-template-columns: 1fr; }
  .mr-footer-contact li { white-space: normal; }
  .mr-footer-about { font-size: 15px; }
  .mr-footer-logo { width: 220px; }

  .mr-cat-head { padding: 36px 0 32px; }
  .mr-cat-head-inner { grid-template-columns: 1fr; gap: 0; }
  .mr-cat-title { font-size: 36px; }
  .mr-cat-desc { font-size: 16px; }
  .mr-cat-count { margin-top: 16px !important; font-size: 12px; }
  .mr-filters-list { gap: 12px 20px; }
  .mr-filters-inner { padding: 16px 0; }
  .mr-pagination { padding: 48px 0 56px; }

  .mr-pdp-main { padding: 28px 0 64px; }
  .mr-pdp-grid { margin-top: 24px; }
  .mr-pdp-title { font-size: 28px; }
  .mr-pdp-details .mr-wrap { padding: 56px 0 40px; }
  .mr-guia-inner { padding: 48px 0 40px; }
  .mr-guia-passos { grid-template-columns: 1fr; gap: 12px; margin-top: 28px; }
  .mr-guia-passo { padding: 24px; gap: 14px; }
  .mr-guia-passo p { font-size: 15px; }
  .mr-guia-tabela { padding: 24px; }
  .mr-guia-medidas li { width: 50%; }
  .mr-combina { padding: 56px 0 72px; }
}

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

/* =========================================================
   VÍDEO DO PRODUTO NA GALERIA
   Os vídeos da Meraude são quadrados, como as fotos, mas o tema
   monta o slide de vídeo em 16:9. Isso deixava faixas vazias dos
   lados e fazia o carrossel mudar de altura ao trocar de slide.
   Basta mudar a proporção da caixa: a miniatura e o player do
   Cloudflare Stream se ajustam sozinhos. NÃO mexer em position,
   height ou overflow dos elementos internos, porque o player do
   vídeo fica em branco quando o container dele vira referência
   de posicionamento.
   ========================================================= */
.mr-pdp-gallery .js-product-video-slide .embed-responsive.embed-responsive-16by9,
.js-product-video-modal .embed-responsive.embed-responsive-16by9 { padding-bottom: 100%; }

/* Botão de play redondo, no mesmo desenho do contador da sacola.
   Mantém os 50px do tema, porque a centralização usa margem de -25px. */
.mr-pdp-gallery .js-product-video-slide .video-player-icon,
.js-product-video-modal .video-player-icon { border-radius: 50%; }
