/**
 * La Cura — Homepage (referência: Helios, HTML5 UP)
 * Escopo: body.lcr-public-theme.lcr-theme-home (apenas a homepage pública)
 * Um único acento (azul royal da marca), tipografia sans única, fotografia
 * em primeiro plano, muito respiro — sem blocos de cor empilhados.
 */

/* header-lacura.css já reserva 70px no topo do body pro header virar
   fixed, mas em algumas páginas esse respiro não está "pegando" (o
   título fica embaixo do header, cortado) — reforça aqui com
   !important pra garantir em qualquer página pública. */
body.lcr-public-theme {
    padding-top: 70px !important;
}

/* ==========================================================================
   Tokens
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home {
    --bg: #FFFFFF;
    --bg-soft: #F6F6F3;
    --ink: #1D2433;
    --muted: #5B6472;
    --brand: #0040A0;
    --brand-deep: #002D73;
    --line: rgba(29, 36, 51, 0.1);
    --line-strong: rgba(29, 36, 51, 0.18);

    /* Aliases consumidos pelo resto do app (botões, sweetalert, pricing...) */
    --primary-color: var(--brand-deep);
    --secondary-color: var(--brand);
    --dark-color1: var(--brand-deep);
    --dark-color2: var(--bg-soft);
    --white-color: var(--bg);
    --text: var(--ink);
    --text-soft: var(--muted);
    --theme: var(--brand);
    --theme-soft: rgba(0, 64, 160, 0.08);
    --theme-glow: rgba(0, 64, 160, 0.18);
    --line: var(--line);
    --blue-deep: var(--brand-deep);
    --radius: 3px;
    --radius-sm: 2px;
}

/* ==========================================================================
   Tela
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home {
    background: var(--bg) !important;
    color: var(--ink) !important;
    font-family: 'Inter', sans-serif !important;
}

body.lcr-public-theme.lcr-theme-home h1,
body.lcr-public-theme.lcr-theme-home h2,
body.lcr-public-theme.lcr-theme-home h3,
body.lcr-public-theme.lcr-theme-home .as_heading,
body.lcr-public-theme.lcr-theme-home .as_subheading {
    font-family: 'Inter', sans-serif !important;
    letter-spacing: -0.01em;
    font-weight: 300 !important;
    color: var(--ink) !important;
}

body.lcr-public-theme.lcr-theme-home .as_heading {
    font-size: clamp(1.7rem, 2.8vw, 2.3rem) !important;
    font-weight: 300 !important;
    padding-bottom: 0 !important;
    margin-bottom: 10px !important;
}

body.lcr-public-theme.lcr-theme-home .as_heading:after {
    display: none !important;
}

body.lcr-public-theme.lcr-theme-home p {
    color: var(--muted) !important;
    line-height: 1.7;
}

body.lcr-public-theme.lcr-theme-home .as_about_wrapper,
body.lcr-public-theme.lcr-theme-home .as_service_wrapper,
body.lcr-public-theme.lcr-theme-home .as_blog_wrapper,
body.lcr-public-theme.lcr-theme-home .spiritual-message-section,
body.lcr-public-theme.lcr-theme-home .location-info-section {
    background: var(--bg) !important;
    background-image: none !important;
    color: var(--ink) !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-shelf,
body.lcr-public-theme.lcr-theme-home .lcr-people,
body.lcr-public-theme.lcr-theme-home .lcr-note {
    background: var(--bg-soft) !important;
}

/* Introdução de seção — nome pequeno em maiúsculas + título leve, como no
   Helios ("header" simples antes de cada bloco) */
body.lcr-public-theme.lcr-theme-home .lcr-services-section .col-lg-12.text-center,
body.lcr-public-theme.lcr-theme-home .lcr-gallery .col-lg-12.text-center,
body.lcr-public-theme.lcr-theme-home .lcr-shelf .text-center,
body.lcr-public-theme.lcr-theme-home .home-about-god-section .text-center,
body.lcr-public-theme.lcr-theme-home .lcr-people .text-center {
    margin-bottom: 28px;
    max-width: none;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center !important;
}

body.lcr-public-theme.lcr-theme-home .as_heading.as_heading_center {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Título de seção: selo + frase grande, uma palavra em itálico */
body.lcr-public-theme.lcr-theme-home .lcr-sec-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center !important;
    margin: 0 auto 22px;
    max-width: 40rem;
}

/* Selo "eyebrow" acima do título — removido: é o tell nº1 de página
   template/gerada por IA (rótulo em caixa-alta flutuando sobre o heading). */
body.lcr-public-theme.lcr-theme-home .lcr-sec-kicker {
    display: none !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-sec-kicker__dot {
    display: none !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-sec-title {
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Philosopher', Georgia, serif !important;
    font-size: clamp(2rem, 4.4vw, 3.35rem) !important;
    font-weight: 400 !important;
    letter-spacing: 0;
    line-height: 1.2 !important;
    color: #142033 !important;
    text-align: center !important;
}

/* Uma palavra do título em itálico/cor diferente é o outro tell clássico
   de página gerada — o <em> continua no HTML (vem de um helper), mas aqui
   ele só herda o mesmo estilo do resto do título. */
body.lcr-public-theme.lcr-theme-home .lcr-sec-title em {
    font-family: inherit;
    font-style: normal;
    font-weight: inherit;
    letter-spacing: inherit;
    color: inherit;
}

body.lcr-public-theme.lcr-theme-home .lcr-sec-lead {
    margin: 14px auto 0 !important;
    max-width: 36rem;
    color: #5c6b7a !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
    text-align: center !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-people .lcr-sec-title {
    color: #142033 !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-people .lcr-sec-title em {
    color: inherit;
}

body.lcr-public-theme.lcr-theme-home .lcr-people .lcr-sec-lead {
    color: #5c6b7a !important;
}

html[lang="ja"] body.lcr-public-theme.lcr-theme-home .lcr-sec-title,
html[lang="ja"] body.lcr-public-theme.lcr-theme-home .lcr-sec-title em,
html[lang="ja"] body.lcr-public-theme.lcr-theme-home .ast_bannertext_wrapper h1 {
    font-family: 'Inter', sans-serif !important;
    font-weight: 300 !important;
    letter-spacing: 0.01em;
}

body.lcr-public-theme.lcr-theme-home .ast_bannertext_wrapper h1 {
    font-family: 'Philosopher', Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
}

/* ==========================================================================
   Cabeçalho
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home .as_header_wrapper {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--line) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    box-shadow: none !important;
}

body.lcr-public-theme.lcr-theme-home .as_logo {
    border-right: none !important;
    padding: 10px 24px !important;
    background: transparent !important;
}

body.lcr-public-theme.lcr-theme-home .as_logo .lacura-logo {
    max-height: 46px !important;
}

body.lcr-public-theme.lcr-theme-home .as_info_detail ul li a,
body.lcr-public-theme.lcr-theme-home .as_right_info > a,
body.lcr-public-theme.lcr-theme-home .as_infobox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 14px !important;
    border-radius: 999px !important;
    border: 1px solid var(--line) !important;
    background: transparent !important;
    color: var(--muted) !important;
    font-size: 13px !important;
    transition: 0.25s ease !important;
}

body.lcr-public-theme.lcr-theme-home .as_info_detail ul li a:hover,
body.lcr-public-theme.lcr-theme-home .as_right_info > a:hover,
body.lcr-public-theme.lcr-theme-home .as_infobox:hover {
    border-color: var(--brand) !important;
    color: var(--brand) !important;
}

body.lcr-public-theme.lcr-theme-home .as_right_info > a[href*="register"] {
    background: var(--brand) !important;
    color: #fff !important;
    border-color: transparent !important;
    font-weight: 600 !important;
}

body.lcr-public-theme.lcr-theme-home .as_right_info > a[href*="register"]:hover {
    background: var(--brand-deep) !important;
}

body.lcr-public-theme.lcr-theme-home .as_menu_handle {
    border-radius: var(--radius-sm) !important;
    width: 36px !important;
    height: 36px !important;
    background: transparent !important;
    border: 1px solid var(--line) !important;
    color: var(--brand) !important;
    box-shadow: none !important;
}

body.lcr-public-theme.lcr-theme-home .as_menu_handle .as_menu_icon {
    stroke: var(--brand) !important;
}

body.lcr-public-theme.lcr-theme-home .as_menu_wrapper {
    border-top: none !important;
    background: transparent !important;
}

body.lcr-public-theme.lcr-theme-home .as_menu > ul > li > a {
    padding: 10px 14px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    color: var(--muted) !important;
}

body.lcr-public-theme.lcr-theme-home .as_menu > ul > li > a:before {
    display: none !important;
}

body.lcr-public-theme.lcr-theme-home .as_menu > ul > li > a:hover,
body.lcr-public-theme.lcr-theme-home .as_menu > ul > li > a.active {
    color: var(--brand) !important;
    background: var(--theme-soft) !important;
}

body.lcr-public-theme.lcr-theme-home .as_submenu {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius-sm) !important;
    padding: 8px !important;
    box-shadow: 0 16px 32px rgba(29, 36, 51, 0.12) !important;
    color: var(--ink) !important;
}

body.lcr-public-theme.lcr-theme-home .as_submenu li a {
    border-radius: 4px !important;
    padding: 9px 12px !important;
    color: var(--muted) !important;
}

body.lcr-public-theme.lcr-theme-home .as_submenu li a:hover {
    background: var(--theme-soft) !important;
    color: var(--brand) !important;
}

@media (max-width: 767px) {
    body.lcr-public-theme.lcr-theme-home .as_logo {
        border-bottom: 1px solid var(--line) !important;
    }
    body.lcr-public-theme.lcr-theme-home .as_menu {
        background-color: #fff !important;
    }
    body.lcr-public-theme.lcr-theme-home .as_menu li {
        border-bottom: 1px solid var(--line) !important;
    }
    body.lcr-public-theme.lcr-theme-home .as_menu ul li a {
        color: var(--ink) !important;
    }
}

/* ==========================================================================
   Botões — canto reto
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home .as_btn,
body.lcr-public-theme.lcr-theme-home a.as_btn {
    height: auto !important;
    min-height: 44px !important;
    margin-left: 0 !important;
    padding: 11px 26px !important;
    border: 2px solid var(--brand) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--brand) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    box-shadow: none !important;
    clip-path: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.25s ease, color 0.25s ease !important;
}

body.lcr-public-theme.lcr-theme-home .as_btn:before,
body.lcr-public-theme.lcr-theme-home .as_btn:after {
    display: none !important;
    content: none !important;
}

body.lcr-public-theme.lcr-theme-home .as_btn:hover {
    background: var(--brand) !important;
    color: #fff !important;
}

/* Hero revertido para a versão original a pedido do cliente (2026-10-12) —
   ver git log de resources/views/version-2/index.blade.php antes de
   a8a600f0 para o que era. As regras .header-sty/.ast_banner_text/etc do
   redesign "Helios" foram removidas daqui de propósito. */

/* ==========================================================================
   病気・治療 — faixa de cartões (foto + título + texto) com setas laterais
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home .lcr-services-section {
    background: #f4f7f8 !important;
    margin-top: 0 !important;
    padding-top: 16px !important;
    padding-bottom: 40px !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat {
    position: relative;
    margin-top: 4px;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-track {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 4px 2px 8px;
    outline: none;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-track::-webkit-scrollbar {
    display: none;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-card {
    flex: 0 0 calc((100% - 54px) / 4.15);
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #fff;
    text-decoration: none !important;
    color: inherit;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-card__media {
    display: block;
    aspect-ratio: 16 / 11;
    overflow: hidden;
    background: linear-gradient(160deg, #8eb8c9, #3d6280);
}

body.lcr-public-theme.lcr-theme-home .lcr-svc-recovery .lcr-treat-card__media {
    background: linear-gradient(165deg, #8fd0c8 0%, #3d6d92 100%);
}

body.lcr-public-theme.lcr-theme-home .lcr-svc-trauma .lcr-treat-card__media {
    background: linear-gradient(165deg, #c9a898 0%, #5a4568 100%);
}

body.lcr-public-theme.lcr-theme-home .lcr-svc-spiritual .lcr-treat-card__media {
    background: linear-gradient(165deg, #ead4c4 0%, #8d6a60 100%);
}

body.lcr-public-theme.lcr-theme-home .lcr-svc-work .lcr-treat-card__media {
    background: linear-gradient(165deg, #6d527c 0%, #24182f 100%);
}

body.lcr-public-theme.lcr-theme-home .lcr-svc-soul .lcr-treat-card__media,
body.lcr-public-theme.lcr-theme-home .lcr-svc-treatments .lcr-treat-card__media {
    background: linear-gradient(165deg, #d8c6b4 0%, #6e5364 100%);
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-card__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px 16px 22px;
    background: #fff;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-card__title {
    display: block;
    min-height: 2.7em;
    font-family: 'Inter', sans-serif;
    font-size: 1.02rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0;
    color: #3a4150;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-card:hover .lcr-treat-card__title,
body.lcr-public-theme.lcr-theme-home .lcr-treat-card:focus-visible .lcr-treat-card__title {
    color: #c47070;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-card__text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.9em;
    margin: 0;
    font-size: 0.92rem;
    font-weight: 400;
    line-height: 1.45;
    color: #8b939e;
}

html[lang="ja"] body.lcr-public-theme.lcr-theme-home .lcr-treat-card__title {
    font-size: 0.98rem;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-nav {
    position: absolute;
    top: 22%;
    z-index: 2;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 0;
    display: grid;
    place-items: center;
    background: rgba(88, 96, 110, 0.55);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(30, 40, 60, 0.16);
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-nav svg {
    width: 20px;
    height: 20px;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-prev {
    left: -8px;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-next {
    right: -8px;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-nav:hover,
body.lcr-public-theme.lcr-theme-home .lcr-treat-nav:focus-visible {
    background: rgba(58, 65, 80, 0.72);
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-nav:disabled {
    opacity: 0.35;
    cursor: default;
}

body.lcr-public-theme.lcr-theme-home .lcr-treat-nav[hidden] {
    display: none;
}

@media (max-width: 991px) {
    body.lcr-public-theme.lcr-theme-home .lcr-treat-card {
        flex-basis: calc((100% - 18px) / 2.15);
    }
}

@media (max-width: 575px) {
    body.lcr-public-theme.lcr-theme-home .lcr-treat-card {
        flex-basis: calc(100% - 36px);
    }

    body.lcr-public-theme.lcr-theme-home .lcr-treat-prev {
        left: 0;
    }

    body.lcr-public-theme.lcr-theme-home .lcr-treat-next {
        right: 0;
    }
}

/* ==========================================================================
   Mensagem espiritual / vitrine de livro — segundo "Special"
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home .lcr-spread > .container > .row {
    align-items: center !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider {
    margin-top: 0;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .col-lg-6:last-child .row {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    align-items: center !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider,
body.lcr-public-theme.lcr-theme-home .lcr-spread .as_blog_img {
    border-radius: 2px !important;
    overflow: hidden !important;
    border: none !important;
    background: var(--bg-soft) !important;
    box-shadow: none !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider .slick-slider,
body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider .slick-list,
body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider .slick-track,
body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider .slick-slide,
body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider .swiper-container,
body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider .swiper-wrapper,
body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider .swiper-slide {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    transform: none !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    display: block !important;
    opacity: 1 !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider .slick-track {
    display: flex !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider .swiper-slide ~ .swiper-slide {
    display: none !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .as_about_slider img {
    width: 100% !important;
    height: auto !important;
    max-height: 420px;
    object-fit: cover;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .as_blog_img img,
body.lcr-public-theme.lcr-theme-home .lcr-spread .img-thumbnail {
    width: 100% !important;
    height: 340px !important;
    object-fit: contain !important;
    background: var(--bg-soft) !important;
    display: block;
    border: none !important;
    border-radius: 0 !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .spiritual-title {
    color: var(--ink) !important;
    font-size: clamp(1.4rem, 2.2vw, 1.8rem) !important;
    font-weight: 300 !important;
    margin-bottom: 8px !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .spiritual-subtitle {
    color: var(--brand) !important;
    font-style: normal;
    font-weight: 500 !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 16px !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .spiritual-description {
    color: var(--muted) !important;
    line-height: 1.8;
}

body.lcr-public-theme.lcr-theme-home .lcr-spread .book-cover-placeholder {
    background: var(--bg-soft) !important;
    border: none !important;
    color: var(--muted) !important;
}

/* ==========================================================================
   Galeria — mesma largura da seção Livros, quatro quadrados
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home .lcr-gallery p {
    color: var(--muted) !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

body.lcr-public-theme.lcr-theme-home .lcr-gallery-grid__item {
    display: block;
    min-width: 0;
}

body.lcr-public-theme.lcr-theme-home .lcr-gallery-grid img,
body.lcr-public-theme.lcr-theme-home .lcr-gallery-grid video {
    display: block;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
    border-radius: 0 !important;
    border: none !important;
    padding: 0 !important;
    background: #f6f6f3;
    transition: opacity 0.25s ease;
}

body.lcr-public-theme.lcr-theme-home .lcr-gallery-grid__item:hover img,
body.lcr-public-theme.lcr-theme-home .lcr-gallery-grid__item:focus img {
    opacity: 0.88;
}

@media (max-width: 767px) {
    body.lcr-public-theme.lcr-theme-home .lcr-gallery-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
}

/* ==========================================================================
   Prateleira de livros
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home .lcr-shelf .home-book-card,
body.lcr-public-theme.lcr-theme-home .lcr-shelf .z-book-cover {
    background: transparent !important;
    border: none !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-shelf .z-book-cover {
    aspect-ratio: 2 / 3;
    border-radius: 2px !important;
    overflow: hidden;
    border: none !important;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

body.lcr-public-theme.lcr-theme-home .lcr-shelf .cover {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

body.lcr-public-theme.lcr-theme-home .lcr-shelf a:hover .z-book-cover {
    transform: translateY(-4px);
    opacity: 0.88;
}

body.lcr-public-theme.lcr-theme-home .lcr-shelf .book-cover-placeholder {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    color: var(--muted) !important;
    border-radius: 2px !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-shelf .book-cover-placeholder::before,
body.lcr-public-theme.lcr-theme-home .lcr-shelf .book-cover-placeholder::after {
    display: none !important;
}

/* ==========================================================================
   神について
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home .home-about-god-section .as_heading,
body.lcr-public-theme.lcr-theme-home .home-about-god-section h1,
body.lcr-public-theme.lcr-theme-home .home-about-god-section h3 {
    color: var(--ink) !important;
}

body.lcr-public-theme.lcr-theme-home .home-about-god-excerpt,
body.lcr-public-theme.lcr-theme-home .home-about-god-section p {
    color: var(--muted) !important;
}

body.lcr-public-theme.lcr-theme-home .home-about-god-copy {
    max-width: 40rem;
    margin: 0 auto;
    text-align: center;
}

body.lcr-public-theme.lcr-theme-home .home-about-god-emphasis {
    margin: 22px auto 0;
    max-width: 42rem;
    text-align: center;
}

body.lcr-public-theme.lcr-theme-home .home-about-god-emphasis p {
    margin: 0 0 0.55em;
    color: #142033 !important;
    font-family: 'Philosopher', Georgia, serif !important;
    font-style: italic;
    font-size: 1.22rem !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

body.lcr-public-theme.lcr-theme-home .home-about-god-emphasis p:last-child {
    margin-bottom: 0;
}

html[lang="ja"] body.lcr-public-theme.lcr-theme-home .home-about-god-emphasis p {
    font-family: 'Inter', sans-serif !important;
}

body.lcr-public-theme.lcr-theme-home .home-about-god-copy .lcr-book-more {
    margin-top: 22px;
}

body.lcr-public-theme.lcr-theme-home .home-about-god-faq-video {
    max-width: 28rem;
    margin: 28px auto 0;
}

/* ==========================================================================
   Nota de localização
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home .lcr-note .location-message-section {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: 2px !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-note .location-message-section:hover {
    border-color: var(--brand) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-note .location-icon-wrapper i {
    color: var(--brand) !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-note .location-text {
    color: var(--muted) !important;
}

/* ==========================================================================
   Seguidores — depoimentos na largura da galeria
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home .lcr-people {
    margin: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    padding-top: 28px !important;
    padding-bottom: 40px !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice {
    position: relative;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-track {
    display: flex;
    gap: 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 4px 0 8px;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice[data-autoplay="1"] .lcr-voice-track {
    scroll-snap-type: none;
    scroll-behavior: auto;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-track::-webkit-scrollbar {
    display: none;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-card {
    flex: 0 0 calc((100% - 72px) / 4);
    scroll-snap-align: start;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    min-width: 0;
    min-height: 168px;
    padding: 16px;
    background: #fff;
    border: 1px solid rgba(29, 36, 51, 0.1);
    border-radius: 0;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-avatar {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 0;
    border: 0;
    background: #f4f1ec;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-quote {
    margin: 0 0 10px;
    color: #3a4150 !important;
    font-family: 'Philosopher', Georgia, serif !important;
    font-style: italic;
    font-size: 0.98rem !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-quote::before {
    content: "“";
    color: #0040a0;
    font-style: normal;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-name {
    margin: 0;
    color: #0040a0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.78rem !important;
    font-style: normal;
    font-weight: 600 !important;
    letter-spacing: 0.04em;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-nav {
    position: absolute;
    top: 42%;
    z-index: 2;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 0;
    display: grid;
    place-items: center;
    background: rgba(20, 32, 51, 0.72);
    color: #fff;
    cursor: pointer;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-nav svg {
    width: 18px;
    height: 18px;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-prev {
    left: -8px;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-next {
    right: -8px;
}

body.lcr-public-theme.lcr-theme-home .lcr-voice-nav[hidden] {
    display: none;
}

@media (max-width: 767px) {
    body.lcr-public-theme.lcr-theme-home .lcr-voice-track {
        gap: 12px;
    }

    body.lcr-public-theme.lcr-theme-home .lcr-voice-card {
        /* 1 por tela no mobile — 2 cartões espremidos lado a lado ficava
           ilegível (texto quebrando em 3-4 palavras por linha). */
        flex-basis: 100%;
        grid-template-columns: 56px minmax(0, 1fr);
        min-height: 0;
        padding: 12px;
    }

    body.lcr-public-theme.lcr-theme-home .lcr-voice-avatar {
        width: 56px;
        height: 56px;
    }
}

html[lang="ja"] body.lcr-public-theme.lcr-theme-home .lcr-voice-quote {
    font-family: 'Inter', sans-serif !important;
}

/* ==========================================================================
   Rodapé — 3 colunas, como no Helios
   ========================================================================== */
/* slider1.jpg (a lua) removida a pedido do cliente — fica só o azul-marinho
   escuro liso que já cobria a foto quase por completo (gradiente a .78/.86
   de opacidade). */
body.lcr-public-theme .as_footer_wrapper {
    margin-top: 0 !important;
    padding-top: 56px !important;
    border-top: 0 !important;
    background-color: #071018 !important;
    background-image: linear-gradient(180deg, rgba(7, 16, 32, 0.78), rgba(7, 16, 32, 0.86)) !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    color: rgba(243, 239, 230, 0.82) !important;
}

/* Div vazia de newsletter (sem conteúdo, nunca usada) herdava fundo
   branco + borda do tema antigo e sobrava como uma linha branca no
   topo do rodapé. */
body.lcr-public-theme .as_footer_wrapper .as_newsletter_wrapper {
    display: none !important;
}

body.lcr-public-theme .as_footer_heading {
    font-weight: 500 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.85rem;
    color: #f3efe6 !important;
}

body.lcr-public-theme .as_footer_heading:after {
    /* era um azul claro (#9ec0ef) que lia como linha branca em cima do
       fundo escuro — troca pro dourado usado como acento no resto do site. */
    background: #d99a00 !important;
    height: 1px !important;
    width: 32px !important;
}

body.lcr-public-theme .as_footer_widget p,
body.lcr-public-theme .as_footer_widget > ul > li a,
body.lcr-public-theme .as_footer_widget > ul > li {
    color: rgba(243, 239, 230, 0.82) !important;
}

body.lcr-public-theme .as_footer_widget > ul > li svg path {
    fill: rgba(243, 239, 230, 0.72) !important;
}

body.lcr-public-theme .as_footer_widget > ul > li:hover,
body.lcr-public-theme .as_footer_widget > ul > li:hover a {
    color: #fff !important;
}

body.lcr-public-theme .footer-ads-heading {
    margin-top: 6px !important;
    margin-bottom: 10px !important;
    padding-bottom: 8px;
    line-height: 1.2 !important;
}

body.lcr-public-theme .footer-lacuna-banner {
    display: block;
    margin-top: 4px;
    max-width: 260px;
}

body.lcr-public-theme .footer-lacuna-banner img {
    display: block;
    width: 100% !important;
    max-width: 260px !important;
    height: auto !important;
}

/* Mobile: "病気・治療" e "クイックリンク" lado a lado; logo e missão
   continuam cada um ocupando a linha inteira. */
@media (max-width: 575px) {
    /* Algo no CSS legado vira essa linha para flex-direction: column no
       mobile — sem isso as colunas nunca ficam lado a lado, não importa
       a largura que a gente dê a cada uma. */
    body.lcr-public-theme .as_footer_wrapper .row.as_padderBottom10 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
    }

    body.lcr-public-theme .as_footer_wrapper .row.as_padderBottom10 > div:nth-child(2),
    body.lcr-public-theme .as_footer_wrapper .row.as_padderBottom10 > div:nth-child(3) {
        /* -1px evita o arredondamento de 50%+50% ultrapassar a largura da
           linha em 1px e empurrar a 2ª coluna para a linha de baixo. */
        flex: 0 0 calc(50% - 1px) !important;
        max-width: calc(50% - 1px) !important;
    }
}

body.lcr-public-theme .as_copyright_wrapper {
    background-color: #050b14 !important;
    background-image: none !important;
}

body.lcr-public-theme .as_copyright_wrapper p,
body.lcr-public-theme .as_copyright_wrapper a {
    color: rgba(243, 239, 230, 0.78) !important;
}

/* Valores fixos (não var(--brand) etc.) porque esses tokens só existem
   no escopo .lcr-theme-home — essa regra agora vale em toda página pública. */
body.lcr-public-theme .lcr-phrase-avatar {
    background: #fff !important;
    color: #0040a0 !important;
    border-color: rgba(29, 36, 51, 0.1) !important;
}

body.lcr-public-theme .lcr-phrase-bubble {
    background: #fff !important;
    color: #1d2433 !important;
    border-color: rgba(29, 36, 51, 0.1) !important;
}

body.lcr-public-theme .lcr-phrase-row.is-right .lcr-phrase-bubble {
    background: rgba(0, 64, 160, 0.08) !important;
    color: #1d2433 !important;
}

/* ==========================================================================
   Livros: destaque em cima, quatro capas embaixo
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home .lcr-books-merge {
    background: #fff !important;
    padding-top: 28px !important;
    padding-bottom: 40px !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-books-merge__layout {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-feature {
    display: grid;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
    gap: 40px;
    align-items: center;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-feature__cover img,
body.lcr-public-theme.lcr-theme-home .lcr-book-feature__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 2 / 3;
    /* contain deixava capas com proporção != 2:3 "flutuando" dentro da
       caixa, com fundo sobrando ao redor — cada capa parecia um tamanho
       diferente. cover corta o excesso e preenche a caixa toda, igual
       pra qualquer imagem. */
    object-fit: cover;
    border-radius: 0;
    box-shadow: 0 8px 18px rgba(20, 32, 51, 0.12);
    background: #f4f1ec;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-feature__placeholder,
body.lcr-public-theme.lcr-theme-home .lcr-book-library__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8b939e;
    font-size: 1.6rem;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-feature__title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 10px !important;
    font-size: clamp(1.7rem, 2.6vw, 2.35rem) !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: 0;
    color: #1a2332 !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-feature__subtitle {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 14px;
    color: #0040a0 !important;
    font-size: 1.08rem;
    font-weight: 600;
    line-height: 1.4;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-feature__text {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 22px;
    max-width: 40rem;
    color: #6b7280 !important;
    font-size: 1.05rem;
    line-height: 1.55;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 22px;
    border: 1px solid #0040a0;
    border-radius: 0;
    background: #fff;
    color: #0040a0 !important;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1;
    text-decoration: none !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-more:hover,
body.lcr-public-theme.lcr-theme-home .lcr-book-more:focus {
    background: #1a56c4;
    color: #fff !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-library {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-library__item {
    display: block;
    min-height: 0;
    background: #fff;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-library__item img,
body.lcr-public-theme.lcr-theme-home .lcr-book-library__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 2 / 3;
    /* mesmo motivo do .lcr-book-feature__cover acima: contain deixava as
       capas com tamanhos de exibição diferentes entre si. */
    object-fit: cover;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    transition: opacity 0.25s ease;
}

body.lcr-public-theme.lcr-theme-home .lcr-book-library__item:hover img,
body.lcr-public-theme.lcr-theme-home .lcr-book-library__item:focus img {
    opacity: 0.88;
}

@media (max-width: 767px) {
    body.lcr-public-theme.lcr-theme-home .lcr-books-merge__layout {
        gap: 28px;
    }

    body.lcr-public-theme.lcr-theme-home .lcr-book-feature {
        /* capa 140px ao lado do texto ficava espremido no mobile — capa
           em cima (centralizada), texto embaixo ocupando a largura toda
           (a prateleira 2x2 abaixo continua igual). */
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        align-items: start;
    }

    body.lcr-public-theme.lcr-theme-home .lcr-book-feature__cover {
        max-width: 180px;
        margin: 0 auto;
    }

    body.lcr-public-theme.lcr-theme-home .lcr-book-feature__title {
        font-size: 1.2rem !important;
    }

    body.lcr-public-theme.lcr-theme-home .lcr-book-feature__subtitle,
    body.lcr-public-theme.lcr-theme-home .lcr-book-feature__text {
        font-size: 0.92rem;
    }

    body.lcr-public-theme.lcr-theme-home .lcr-book-library {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
}

/* ==========================================================================
   Catálogo de livros (/books) — mesmo cartão plano da prateleira da home,
   sem o kit de card genérico (fundo branco + sombra + raio) do tema antigo.
   Não é só .lcr-theme-home porque o catálogo é uma página própria.
   ========================================================================== */
body.lcr-public-theme .home-latest-books .home-book-card,
body.lcr-public-theme .home-latest-books .z-book-cover {
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.lcr-public-theme .home-latest-books .home-book-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

body.lcr-public-theme .home-latest-books .home-book-card img,
body.lcr-public-theme .home-latest-books .cover {
    border-radius: 0 !important;
    transition: opacity 0.25s ease;
}

body.lcr-public-theme .home-latest-books .home-book-card:hover img {
    opacity: 0.88;
}

body.lcr-public-theme .book-catalog-copy {
    color: inherit !important;
}

body.lcr-public-theme .book-catalog-title {
    color: #1d2433 !important;
    font-weight: 500 !important;
}

body.lcr-public-theme .book-catalog-letter {
    color: #5b6472 !important;
}

/* ==========================================================================
   Faixas alternadas — cada seção se distingue da vizinha
   ========================================================================== */
body.lcr-public-theme.lcr-theme-home .lcr-services-section,
body.lcr-public-theme.lcr-theme-home .lcr-gallery,
body.lcr-public-theme.lcr-theme-home .lcr-people {
    background: #eef2f5 !important;
    border-top: 1px solid rgba(20, 32, 51, 0.08);
    /* theme-public-refresh.css (base antiga) ainda aplica
       "margin: 8px 10px 0" nesta seção abaixo de 767px — sobrando como
       uma borda/caixa deslocada no mobile. Zeramos para todas as larguras. */
    margin: 0 !important;
}

body.lcr-public-theme.lcr-theme-home .lcr-books-merge,
body.lcr-public-theme.lcr-theme-home .home-about-god-section {
    background: #fff !important;
    border-top: 1px solid rgba(20, 32, 51, 0.08);
}

body.lcr-public-theme.lcr-theme-home .lcr-services-section,
body.lcr-public-theme.lcr-theme-home .lcr-books-merge,
body.lcr-public-theme.lcr-theme-home .lcr-gallery,
body.lcr-public-theme.lcr-theme-home .home-about-god-section,
body.lcr-public-theme.lcr-theme-home .lcr-people {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

/* ==========================================================================
   Movimento reduzido
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    body.lcr-public-theme.lcr-theme-home * {
        transition: none !important;
    }
}
