/* Tantie Lorraine's: ajustes da marcação dos blocos do WordPress ao design system.
   Carregado depois de tokens.css, components.css e site.css. Só variáveis do sistema. */

/* Estrutura */
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; }
.wp-site-blocks > .conteudo { flex: 1; }
.wp-block-image { margin: 0; }
.wp-block-image img { display: block; }

/* Cabeçalho fixo (a barra de administração do WordPress empurra-o para baixo quando há sessão iniciada) */
.tl-topo { position: sticky; top: var(--wp-admin--admin-bar--height, 0); z-index: 50; }
.tl-header .marca img { height: calc(var(--space-header) - var(--space-gutter)); width: auto; }
.tl-footer .marca img { height: var(--space-header); width: auto; }

/* Menu principal (bloco Navegação) */
.menu-principal .wp-block-navigation-item__content {
  color: var(--ink);
  font: 400 18px/22.5px var(--font-condensed);
  text-transform: uppercase;
  text-decoration: none;
}
.menu-principal .wp-block-navigation-item__content:hover,
.menu-principal .current-menu-item > .wp-block-navigation-item__content {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.menu-principal .wp-block-navigation__container { gap: 22px; }
/* O núcleo do WordPress repõe o tipo de letra dos botões Menu e Fechar com "inherit": definido no próprio menu */
.menu-principal { font: 400 18px/22.5px var(--font-condensed); text-transform: uppercase; }
.menu-principal .wp-block-navigation__responsive-container-open,
.menu-principal .wp-block-navigation__responsive-container-close {
  border: var(--border-button) solid var(--ink);
  border-radius: var(--radius-pill);
  padding: var(--space-btn-compact-y) var(--space-btn-compact-x);
  color: var(--ink);
}
.menu-principal .wp-block-navigation__responsive-container.is-menu-open {
  --navigation-layout-justification-setting: flex-start;
  padding: var(--space-header) var(--space-gutter) var(--space-gutter);
}
.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: var(--space-card-gap); align-items: flex-start; }
.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start; }
.menu-principal .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 24px; line-height: 1.2; }

/* Rodapé */
.tl-footer p { margin: 0; }
.tl-footer__social a { color: var(--ink); text-decoration: underline; }

/* Botões: estilos do design system aplicados ao bloco Botão */
.wp-block-buttons { gap: var(--space-btn-y); }
.wp-block-button .wp-block-button__link { text-decoration: none; }
.wp-block-button.is-style-compacto .wp-block-button__link,
.wp-block-button.is-style-brevemente .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  height: 43px;
  box-sizing: border-box;
  padding: var(--space-btn-compact-y) var(--space-btn-compact-x);
  background: var(--ink);
  color: var(--paper);
  border: 0;
  border-radius: var(--radius-button-compact);
  font: 400 18px/23.4px var(--font-condensed);
}
.wp-block-button.is-style-brevemente .wp-block-button__link { cursor: default; pointer-events: none; }
.wp-block-button.is-style-hero .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  height: 40px;
  box-sizing: border-box;
  padding: 0 var(--space-btn-x);
  background: var(--paper);
  color: var(--ink);
  border: var(--border-button) solid var(--ink);
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-hard);
  font: 400 15px/21px var(--font-display);
  text-transform: uppercase;
}

/* Hero (bloco Capa) */
.hero.wp-block-cover { padding: calc(var(--seccao-y) * 1.5) var(--space-gutter); }
.hero .wp-block-cover__image-background { filter: blur(6px); transform: scale(1.05); }
.hero .wp-block-cover__inner-container { color: var(--paper); text-align: center; }
.hero .tl-text-hero-mega { color: var(--paper); }
.hero .tl-text-subhead { margin: var(--space-card-gap) auto var(--space-gutter); max-width: 40rem; }

/* Colunas: texto ao lado de fotografia */
.wp-block-columns.duas-colunas { gap: var(--space-column-gap); align-items: center; margin: 0; }
.duas-colunas .texto { max-width: none; }

/* Página inicial: gama em cartões */
.wp-block-columns.gama { gap: var(--space-column-gap) var(--space-card-gap); margin: 0 0 var(--space-gutter); }
.gama .cartao { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.gama .cartao__foto img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-media); }
.gama .tl-card__title { text-transform: none; }
.gama .tl-card__title a { color: inherit; text-decoration: none; }
.gama .tl-card__title a:hover { text-decoration: underline; }
.gama .ref { color: var(--plum-grey); margin: 0; }
.seccao--mist .tl-text-section-title.centrado { text-align: center; }

/* Página Produtos: as colunas seguem a grelha de site.css (.produto) */
.wp-block-columns.produto { margin: 0; }
.produto__media.wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.produto__info .wp-block-buttons { margin: var(--space-card-gap) 0 var(--space-gutter); }
.nutricao summary { font: 400 16px/20.8px var(--font-display); text-transform: uppercase; }
.tabela-nutricional { margin: var(--space-btn-y) 0 0; }
.tabela-nutricional table { width: 100%; border-collapse: collapse; font: 400 16px/24px var(--font-ui); }
.tabela-nutricional td { padding: var(--space-btn-compact-y) 0; border: 0; border-bottom: var(--border-stepper) solid var(--mist); }
.tabela-nutricional td:first-child { white-space: nowrap; padding-right: var(--space-card-gap); }
.tabela-nutricional td:last-child { text-align: right; }
.tabela-nutricional tr:nth-child(3) td:first-child,
.tabela-nutricional tr:nth-child(5) td:first-child { padding-left: var(--space-card-gap); }

/* Contactos */
.lista-contactos li strong { display: block; font: 400 16px/20.8px var(--font-display); text-transform: uppercase; }

/* Texto centrado */
.centrado .wp-block-heading, .centrado > .contentor > p { text-align: center; }
.centrado .texto { margin-left: auto; margin-right: auto; }
.lista-contactos li br { display: none; }
