/*
Theme Name: RMR Inocencio
Theme URI: https://rmrinocencio.com.br
Template: blocksy
Author: J1 Studio
Author URI: https://j1studio.com.br
Description: Tema filho do Blocksy para o site de RMR Inocencio. Estilo global vive no Blocksy e no kit de classes do Greenshift; este arquivo recebe só o que não cabe neles.
Version: 1.0.0
Text Domain: blocksy-child
*/

/*
 * Todo CSS do site mora aqui; o CSS adicional do Customizer fica vazio (ver desenvolvimento/06-padroes-de-projeto.md).
 * O functions.php imprime este arquivo no fim do <head> (wp_head 100), depois do CSS dinâmico do Blocksy.
 *
 * Regras da casa: medidas em múltiplos de 8 (4 só em detalhe fino); cor sempre pela paleta
 * (var(--theme-palette-color-N)); cada bloco com comentário de uma linha dizendo o que faz e a data;
 * seletor por id gsbp- só com j1-corte. Seção vazia fica com o título, para o próximo saber onde escrever.
 *
 *  1. Fontes
 *  2. Global
 *  3. Cabeçalho
 *  4. Páginas (home e institucionais)
 *  5. Blog
 *  6. Loja: listagem de produtos
 *  7. Loja: página do produto
 *  8. Loja: carrinho e checkout
 *  9. Componentes
 */


/* =========================================================================
   1. Fontes
   ========================================================================= */


/* =========================================================================
   2. Global
   ========================================================================= */

/* Parágrafo vazio (<p></p> que sobra do editor ou de importação) não ocupa espaço (Jofran, 13/10/2026). */
p:empty { display: none; }

/* Títulos e subtítulos sem palavra sozinha na última linha, em qualquer largura e sem <br> (Acelera, 28/09/2026). */
h1, h2, h3, h4, .heading__subtitle, .page-description { text-wrap: balance; }


/* =========================================================================
   3. Cabeçalho
   ========================================================================= */


/* =========================================================================
   4. Páginas (home e institucionais)
   ========================================================================= */


/* =========================================================================
   5. Blog
   ========================================================================= */
/* Tabela do editor sem a borda de 3px que o núcleo do WordPress põe embaixo do cabeçalho (.wp-block-table thead) (Jofran, 13/10/2026). */
.wp-block-table thead { border-bottom: 0; }

/* J1 - tempo de leitura depois da data (inc/tempo-leitura-j1.php): caixa baixa mesmo quando a data está em maiúsculas */
.j1-leitura { text-transform: none; }


/* =========================================================================
   6. Loja: listagem de produtos
   ========================================================================= */


/* =========================================================================
   7. Loja: página do produto
   ========================================================================= */


/* =========================================================================
   8. Loja: carrinho e checkout
   ========================================================================= */


/* =========================================================================
   9. Componentes
   ========================================================================= */

/* Núcleo do Swiper (swiper-bundle.min.css do Greenshift, só horizontal): o bloco swiper montado por API não enfileira o CSS da lib, que vem na folha do editor */
:root{--swiper-theme-color:#007aff}.swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-horizontal{touch-action:pan-y}.swiper .swiper-slide,swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;text-transform:none;font-variant:initial;line-height:1}.swiper-button-lock{display:none}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,10px);left:0;width:100%;line-height:0}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity,.2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity,1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-lock{display:none}.swiper .swiper-notification,swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}

/* Slider de serviços da home (clone do carrossel do site atual): setas e bolinhas brancas sobre a faixa azul. */
.gs-swiper { padding-bottom: 48px; }
.gs-swiper .swiper-slide { height: auto; }
.gs-swiper .swiper-pagination { bottom: 0 !important; }
.gs-swiper .swiper-pagination-bullet { width: 10px; height: 10px; background: #fff; opacity: .5; }
.gs-swiper .swiper-pagination-bullet-active { opacity: 1; }
.gs-swiper .swiper-button-prev, .gs-swiper .swiper-button-next { color: #fff; width: 40px; height: 40px; margin-top: -44px; }
.gs-swiper .swiper-button-prev { left: -48px; } .gs-swiper .swiper-button-next { right: -48px; }
.gs-swiper .swiper-button-prev::after, .gs-swiper .swiper-button-next::after { content: ""; width: 12px; height: 12px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; }
.gs-swiper .swiper-button-prev::after { transform: rotate(-135deg); } .gs-swiper .swiper-button-next::after { transform: rotate(45deg); }
@media (max-width: 1279.98px) { .gs-swiper .swiper-button-prev, .gs-swiper .swiper-button-next { display: none; } }
.gs-swiper .swiper-button-disabled { opacity: .35; }
/* Mapa do contato em faixa de largura total, logo depois da seção do formulário. */
.j1-mapa { padding: 0 !important; }
.j1-mapa .gspb_row__content { max-width: none !important; width: 100%; padding: 0 !important; }
.j1-mapa iframe { width: 100%; height: 440px; }
/* Lista "O que está incluído" das páginas de serviço. */
.j1-lista { margin: 0; padding-left: 20px; display: grid; row-gap: 8px; }
.j1-lista li::marker { color: var(--theme-palette-color-2); }
/* Formulários Fluent no padrão do site: raio de 8px, fonte do tema e botão azul-marinho. */
.fluentform .ff-el-group .ff-el-form-control { font-family: inherit; font-size: 16px; border-radius: 8px; }
.fluentform .ff-btn-submit { background-color: var(--theme-palette-color-1) !important; color: #fff !important; border-radius: 8px; padding: 12px 32px; font-family: Barlow, sans-serif; font-weight: 600; font-size: 16px; }
.fluentform .ff-btn-submit:hover { background-color: var(--theme-palette-color-2) !important; }
.fluentform .ff_upload_btn { border-radius: 8px; }
/* Link de texto dentro do conteúdo: sublinhado para não depender só da cor. */
.entry-content p a:not(.gspb-buttonbox) { color: var(--theme-palette-color-2); text-decoration: underline; }
/* Cards do carrossel com a mesma altura: o slide estica e o card ocupa a altura toda. */
.gs-swiper .swiper-wrapper { align-items: stretch; }
.gs-swiper .swiper-slide, .gs-swiper .swiper-slide-inner, .gs-swiper .slider-content-zone { height: auto; display: flex; flex-direction: column; }
.gs-swiper .slider-content-zone, .gs-swiper .slider-content-zone > div { flex: 1 1 auto; }
.gs-swiper .swiper-slide > .swiper-slide-inner { flex: 1 1 auto; }
.gs-swiper .slider-content-zone > div { flex: 1 1 auto; }
.j1-mapa .gspb_row__content { width: 100% !important; max-width: 100% !important; margin: 0 !important; }
.j1-mapa .gspb_row__content > div { padding: 0 !important; }
/* Bolinhas do carrossel centralizadas, 8px entre elas. */
.gs-swiper .swiper-pagination { left: 0 !important; right: 0 !important; width: 100% !important; display: flex; justify-content: center; column-gap: 8px; }
.gs-swiper .swiper-pagination-bullet { margin: 0 !important; }
.gs-swiper { padding-bottom: 56px; } .gs-swiper .swiper-pagination { bottom: 8px !important; }
.gs-swiper { padding-bottom: 80px; } .gs-swiper .swiper-pagination { bottom: 16px !important; }
/* a paginação do Greenshift sai estática depois do .swiper: o espaço vem de margem, não de bottom */ .gs-swiper { padding-bottom: 0; } .gs-swiper .swiper-pagination { position: static !important; margin-top: 40px; }
