/**
 * La Cura — Tema Público Azul + Branco + Dourado (preview local)
 * Escopo: body.lcr-public-theme
 */

/* ==========================================================================
   Tokens — azul da marca + branco + ouro
   ========================================================================== */
.lcr-public-theme {
    --ink: #f4f8fc;
    --ink-2: #e8f0f7;
    --panel: #ffffff;
    --panel-2: #f0f6fb;
    --line: rgba(15, 61, 94, 0.10);
    --line-strong: rgba(184, 149, 47, 0.5);
    --text: #0f3d5e;
    --text-soft: #2a5570;
    --muted: #5a7a90;
    --blue: #1a5f8a;
    --blue-deep: #0f3d5e;
    --blue-soft: #3d8ec0;
    --gold: #c9a227;
    --gold-2: #e0bc4a;
    --gold-deep: #9a7a14;
    --jade: #2f9e8c;
    --rose: #c45c4e;
    --shadow: 0 18px 40px rgba(15, 61, 94, 0.08);
    --shadow-hover: 0 28px 56px rgba(15, 61, 94, 0.14);
    /* Escala única: células/cards 20px · controles 12px · pills 999px */
    --radius: 20px;
    --radius-sm: 12px;
    --radius-pill: 999px;
    --ease: cubic-bezier(0.22, 1, 0.36, 1);
    --theme: var(--gold);
    --theme-soft: rgba(201, 162, 39, 0.14);
    --theme-glow: rgba(201, 162, 39, 0.28);

    --primary-color: var(--text);
    --secondary-color: var(--theme);
    --dark-color1: var(--ink);
    --dark-color2: var(--panel);
    --white-color: #fff;
    --transition: 0.35s var(--ease);
}

.lcr-public-theme.lcr-theme-home { --theme: #c9a227; --theme-soft: rgba(201,162,39,.14); --theme-glow: rgba(201,162,39,.28); }
.lcr-public-theme.lcr-theme-soul { --theme: #2f9e8c; --theme-soft: rgba(47,158,140,.12); --theme-glow: rgba(47,158,140,.22); }
.lcr-public-theme.lcr-theme-spiritual { --theme: #c9a227; --theme-soft: rgba(201,162,39,.14); --theme-glow: rgba(201,162,39,.28); }
.lcr-public-theme.lcr-theme-trauma { --theme: #3d8ec0; --theme-soft: rgba(61,142,192,.12); --theme-glow: rgba(61,142,192,.2); }
.lcr-public-theme.lcr-theme-recovery { --theme: #c9a227; --theme-soft: rgba(201,162,39,.14); --theme-glow: rgba(201,162,39,.24); }
.lcr-public-theme.lcr-theme-work { --theme: #1a5f8a; --theme-soft: rgba(26,95,138,.12); --theme-glow: rgba(26,95,138,.2); }
.lcr-public-theme.lcr-theme-treatments { --theme: #c46a4a; --theme-soft: rgba(196,106,74,.12); --theme-glow: rgba(196,106,74,.2); }
.lcr-public-theme.lcr-theme-library { --theme: #1a5f8a; --theme-soft: rgba(26,95,138,.12); --theme-glow: rgba(26,95,138,.2); }
.lcr-public-theme.lcr-theme-editorial { --theme: #3d8ec0; --theme-soft: rgba(61,142,192,.12); --theme-glow: rgba(61,142,192,.2); }
.lcr-public-theme.lcr-theme-about { --theme: #c9a227; --theme-soft: rgba(201,162,39,.14); --theme-glow: rgba(201,162,39,.24); }
.lcr-public-theme.lcr-theme-legal { --theme: #5a7a90; --theme-soft: rgba(90,122,144,.1); --theme-glow: rgba(90,122,144,.16); }

.lcr-svc-recovery { --svc: #c9a227; --svc-soft: rgba(201,162,39,.14); }
.lcr-svc-trauma { --svc: #3d8ec0; --svc-soft: rgba(61,142,192,.14); }
.lcr-svc-spiritual { --svc: #c9a227; --svc-soft: rgba(201,162,39,.14); }
.lcr-svc-work { --svc: #1a5f8a; --svc-soft: rgba(26,95,138,.14); }
.lcr-svc-soul { --svc: #2f9e8c; --svc-soft: rgba(47,158,140,.12); }
.lcr-svc-treatments { --svc: #c46a4a; --svc-soft: rgba(196,106,74,.12); }
.lcr-svc-default { --svc: var(--gold); --svc-soft: rgba(201,162,39,.14); }

/* ==========================================================================
   Canvas claro
   ========================================================================== */
body.lcr-public-theme {
    background:
        radial-gradient(900px 420px at 10% -8%, rgba(201, 162, 39, 0.16), transparent 55%),
        radial-gradient(800px 420px at 92% 0%, rgba(61, 142, 192, 0.12), transparent 52%),
        linear-gradient(180deg, #f7fbfe 0%, #eaf3fa 45%, #f4f8fc 100%) !important;
    background-attachment: fixed !important;
    color: var(--text) !important;
    font-family: 'Inter', sans-serif !important;
}

body.lcr-public-theme .as_main_wrapper {
    overflow-x: clip;
    overflow-y: visible;
}

/* Coverflow 3D precisa de espaço — não clipar os giros laterais */
body.lcr-public-theme .as_about_wrapper:has(#header_slider),
body.lcr-public-theme section:has(> #header_slider) {
    overflow: visible !important;
    padding-left: 8px;
    padding-right: 8px;
}

body.lcr-public-theme #header_slider {
    min-height: 0;
    border-radius: 0;
    overflow: visible !important;
    background: transparent;
    padding: 12px 0 28px;
}

body.lcr-public-theme #header_slider .swiper-slide {
    border-radius: var(--radius);
    overflow: hidden;
    background: #fff;
    box-shadow: var(--shadow);
}

body.lcr-public-theme #header_slider .swiper-slide img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius);
}

body.lcr-public-theme p,
body.lcr-public-theme li,
body.lcr-public-theme .as_footer_widget p {
    color: var(--text-soft);
}

/* ==========================================================================
   LOGO — original (azul + ouro da marca)
   ========================================================================== */
body.lcr-public-theme .lacura-logo,
body.lcr-public-theme .as_footer_logo .lacura-logo {
    filter: none !important;
    mix-blend-mode: normal !important;
}

/* ==========================================================================
   HEADER
   ========================================================================== */
body.lcr-public-theme .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: 12px 16px 0 !important;
    padding: 0 !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    background: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(16px) saturate(1.15) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
    box-shadow: 0 12px 32px rgba(15, 61, 94, 0.1) !important;
}

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

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

body.lcr-public-theme .as_header_detail {
    width: auto !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
}

body.lcr-public-theme .as_info_detail {
    padding: 10px 22px 0 !important;
    order: 2;
}

body.lcr-public-theme .as_info_detail ul li {
    padding: 6px 0 !important;
}

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

/* Handle do menu mobile — antes era “aba” quadrada dourada */
body.lcr-public-theme .as_menu_handle {
    border-radius: var(--radius-sm) !important;
    width: 36px !important;
    height: 36px !important;
    top: max(10px, env(safe-area-inset-top, 0px)) !important;
    left: max(8px, env(safe-area-inset-left, 0px)) !important;
    background: linear-gradient(135deg, var(--gold), var(--gold-2)) !important;
    color: var(--blue-deep) !important;
    box-shadow: 0 8px 18px var(--theme-glow) !important;
}

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

body.lcr-public-theme .as_right_info {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

body.lcr-public-theme .as_right_info > a[href*="register"] {
    background: linear-gradient(135deg, var(--gold), var(--gold-2)) !important;
    color: var(--blue-deep) !important;
    border-color: transparent !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px var(--theme-glow) !important;
}

body.lcr-public-theme .as_menu_wrapper {
    order: 1;
    border-top: none !important;
    justify-content: flex-start !important;
    padding: 0 12px 8px 8px !important;
    background: transparent !important;
}

body.lcr-public-theme .as_menu > ul > li {
    margin: 0 4px !important;
}

body.lcr-public-theme .as_menu > ul > li > a {
    padding: 10px 12px !important;
    border-radius: var(--radius-pill) !important;
    font-size: 13px !important;
    color: var(--text-soft) !important;
}

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

body.lcr-public-theme .as_menu > ul > li > a:hover,
body.lcr-public-theme .as_menu > ul > li > a.active {
    color: var(--blue-deep) !important;
    background: linear-gradient(135deg, var(--gold), var(--gold-2)) !important;
}

body.lcr-public-theme .as_submenu {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    padding: 10px !important;
    box-shadow: var(--shadow-hover) !important;
    color: var(--text) !important;
}

body.lcr-public-theme .as_submenu li a {
    border-radius: var(--radius-sm) !important;
    padding: 10px 12px !important;
    color: var(--text-soft) !important;
}

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

body.lcr-public-theme .as_infoicon img {
    filter: none !important;
}

/* ==========================================================================
   Tipografia
   ========================================================================== */
body.lcr-public-theme h1,
body.lcr-public-theme h2,
body.lcr-public-theme h3,
body.lcr-public-theme h4,
body.lcr-public-theme .as_heading,
body.lcr-public-theme .as_subheading {
    font-family: 'Philosopher', serif !important;
    color: var(--text) !important;
    letter-spacing: 0.015em;
}

body.lcr-public-theme .as_heading {
    font-size: clamp(1.85rem, 3vw, 2.7rem) !important;
    font-weight: 700 !important;
    padding-bottom: 18px !important;
    margin-bottom: 28px !important;
}

body.lcr-public-theme .as_heading:after {
    width: 72px !important;
    border: none !important;
    height: 2px !important;
    background: linear-gradient(90deg, var(--theme), transparent) !important;
}

body.lcr-public-theme .as_heading.as_heading_center:after {
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 140px !important;
    background: linear-gradient(90deg, transparent, var(--theme), transparent) !important;
}

/* ==========================================================================
   Botões
   ========================================================================== */
body.lcr-public-theme .as_btn,
body.lcr-public-theme .btn-primary,
body.lcr-public-theme a.as_btn {
    height: auto !important;
    min-height: 48px !important;
    margin-left: 0 !important;
    padding: 12px 22px !important;
    border: none !important;
    border-radius: 0 !important;
    background: linear-gradient(135deg, var(--gold), var(--gold-2)) !important;
    color: var(--blue-deep) !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: none !important;
    box-shadow: 0 10px 24px var(--theme-glow) !important;
    clip-path: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

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

body.lcr-public-theme .as_btn:hover,
body.lcr-public-theme .btn-primary:hover {
    transform: translateY(-2px) !important;
    color: var(--blue-deep) !important;
    background: linear-gradient(135deg, var(--gold-deep), var(--gold)) !important;
}

body.lcr-public-theme .as_btn.is-ghost {
    background: #fff !important;
    color: var(--blue) !important;
    border: 1px solid rgba(26, 95, 138, 0.28) !important;
    box-shadow: none !important;
}

/* ==========================================================================
   Hero claro
   ========================================================================== */
body.lcr-public-theme .header-sty,
body.lcr-public-theme .ast_slider_wrapper {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
    clear: both !important;
    display: block !important;
}

body.lcr-public-theme .header-sty {
    display: flow-root !important;
}

body.lcr-public-theme .ast_banner_text,
body.lcr-public-theme .ast_bannertext_wrapper {
    float: none !important;
    width: auto !important;
}

body.lcr-public-theme .ast_slider_wrapper {
    margin-bottom: 0 !important;
    background-image: none !important;
    background-color: transparent !important;
}

/* Remove “vão vazio” entre hero e coverflow */
body.lcr-public-theme .lcr-home-slider {
    padding-top: 8px !important;
    padding-bottom: 28px !important;
    clear: both !important;
    position: relative !important;
    z-index: 2 !important;
}

body.lcr-public-theme .ast_banner_text {
    position: relative !important;
    min-height: clamp(520px, 64vh, 680px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border-radius: 0 0 var(--radius) var(--radius) !important;
    /* Azul da marca por baixo — os giros (ouro/branco) precisam de fundo para existir */
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.22), transparent 36%),
        radial-gradient(circle at 18% 80%, rgba(201, 162, 39, 0.28), transparent 32%),
        radial-gradient(circle at 86% 18%, rgba(61, 142, 192, 0.35), transparent 34%),
        linear-gradient(165deg, #0f3d5e 0%, #1a5f8a 48%, #163e5c 100%) !important;
}

body.lcr-public-theme .ast_banner_text::before {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 120px;
    z-index: 2;
    background: linear-gradient(180deg, transparent, #f4f8fc);
    pointer-events: none;
}

/* Restaura efeito antigo: rotação do starfield + pulso das ondas */
body.lcr-public-theme .ast_banner_text .starfield,
body.lcr-public-theme .ast_banner_text .ast_waves,
body.lcr-public-theme .ast_banner_text .ast_waves2,
body.lcr-public-theme .ast_banner_text .ast_waves3 {
    opacity: 1 !important;
    filter: none !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

body.lcr-public-theme .ast_banner_text .starfield {
    z-index: 1 !important;
}

body.lcr-public-theme .ast_banner_text .starfield > * {
    background-image:
        radial-gradient(2px 2px at 40px 60px, rgba(255, 255, 255, 0.9), transparent),
        radial-gradient(2px 2px at 20px 50px, rgba(224, 188, 74, 0.95), transparent),
        radial-gradient(2px 2px at 30px 100px, rgba(255, 255, 255, 0.7), transparent),
        radial-gradient(2px 2px at 40px 60px, rgba(224, 188, 74, 0.8), transparent),
        radial-gradient(2px 2px at 110px 90px, rgba(255, 255, 255, 0.75), transparent),
        radial-gradient(2px 2px at 190px 150px, rgba(224, 188, 74, 0.7), transparent) !important;
    -webkit-animation-name: starfieldRotate !important;
    animation-name: starfieldRotate !important;
    -webkit-animation-iteration-count: infinite !important;
    animation-iteration-count: infinite !important;
    -webkit-animation-timing-function: linear !important;
    animation-timing-function: linear !important;
}

body.lcr-public-theme .ast_banner_text .starfield > *:nth-child(1) { -webkit-animation-duration: 18s !important; animation-duration: 18s !important; }
body.lcr-public-theme .ast_banner_text .starfield > *:nth-child(2) { -webkit-animation-duration: 22s !important; animation-duration: 22s !important; }
body.lcr-public-theme .ast_banner_text .starfield > *:nth-child(3) { -webkit-animation-duration: 36s !important; animation-duration: 36s !important; }
body.lcr-public-theme .ast_banner_text .starfield > *:nth-child(4) { -webkit-animation-duration: 40s !important; animation-duration: 40s !important; }

body.lcr-public-theme .ast_banner_text .ast_wave {
    background: rgba(201, 162, 39, 0.08) !important;
    border: 1px solid rgba(224, 188, 74, 0.55) !important;
    z-index: 1 !important;
    -webkit-animation: pulse 3000ms ease-out infinite !important;
    animation: pulse 3000ms ease-out infinite !important;
}

body.lcr-public-theme .ast_bannertext_wrapper {
    position: relative !important;
    z-index: 3 !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 36px 28px 32px !important;
    text-align: center !important;
    border-radius: var(--radius) !important;
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(224, 188, 74, 0.45) !important;
    box-shadow: 0 24px 60px rgba(8, 28, 46, 0.28) !important;
}

body.lcr-public-theme .ast_bannertext_wrapper h1 {
    font-size: clamp(2.1rem, 4.6vw, 3.6rem) !important;
    line-height: 1.15 !important;
    margin: 0 0 10px !important;
    color: var(--blue-deep) !important;
    background: none !important;
    -webkit-text-fill-color: unset !important;
    font-weight: 700 !important;
}

body.lcr-public-theme .ast_bannertext_wrapper .chirashi-flyer__slogan {
    font-size: clamp(1.05rem, 2vw, 1.45rem) !important;
    color: var(--blue) !important;
    font-weight: 400 !important;
    margin: 0 0 12px !important;
}

body.lcr-public-theme .ast_bannertext_wrapper .chirashi-flyer__no-medicine {
    display: inline-block !important;
    margin-top: 6px !important;
    padding: 8px 16px !important;
    border-radius: var(--radius-pill) !important;
    border: 1px solid rgba(196, 92, 78, 0.35) !important;
    background: rgba(196, 92, 78, 0.08) !important;
    color: #a34538 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}

body.lcr-public-theme .lcr-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 28px;
}

/* ==========================================================================
   Seções / page title
   ========================================================================== */
body.lcr-public-theme .as_about_wrapper,
body.lcr-public-theme .as_service_wrapper,
body.lcr-public-theme .as_blog_wrapper,
body.lcr-public-theme .as_servicedetail_wrapper,
body.lcr-public-theme .spiritual-message-section,
body.lcr-public-theme .choosing-reason {
    background: transparent !important;
    background-image: none !important;
}

body.lcr-public-theme .as_service_wrapper,
body.lcr-public-theme .as_about_wrapper.as_padderTop30 {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}

body.lcr-public-theme .ast_pagetitle {
    margin: 18px 16px 0 !important;
    border-radius: var(--radius) !important;
    border: 1px solid var(--line) !important;
    background:
        radial-gradient(700px 220px at 40% 0%, rgba(201, 162, 39, 0.14), transparent 60%),
        radial-gradient(600px 200px at 80% 0%, rgba(61, 142, 192, 0.12), transparent 55%),
        linear-gradient(180deg, #fff 0%, #eaf3fa 100%) !important;
}

body.lcr-public-theme .ast_pagetitle .page_title h2,
body.lcr-public-theme .ast_pagetitle .page_title .subtitle,
body.lcr-public-theme .ast_pagetitle .breadcrumb,
body.lcr-public-theme .ast_pagetitle .breadcrumb a {
    color: var(--text) !important;
}

body.lcr-public-theme .ast_pagetitle .page_title .subtitle {
    color: var(--muted) !important;
}

/* ==========================================================================
   SERVICES — imagem grande + título polido
   ========================================================================== */
body.lcr-public-theme .lcr-services-grid {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr);
    gap: 22px;
    margin-top: 12px;
}

body.lcr-public-theme .lcr-services-grid > .lcr-service-card,
body.lcr-public-theme .lcr-services-grid > .lcr-service-card:first-child {
    grid-column: span 4;
}

body.lcr-public-theme .lcr-service-card,
body.lcr-public-theme .as_service_box {
    --svc: var(--theme);
    --svc-soft: var(--theme-soft);
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    margin-top: 0 !important;
    padding: 0 !important;
    border-radius: var(--radius) !important;
    border: 1px solid var(--line) !important;
    background: #fff !important;
    box-shadow: var(--shadow) !important;
    overflow: hidden !important;
    text-align: left !important;
    transition: transform 0.4s var(--ease), border-color 0.4s var(--ease), box-shadow 0.4s var(--ease) !important;
}

body.lcr-public-theme .lcr-service-card::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, var(--svc), transparent);
    z-index: 2;
}

body.lcr-public-theme .lcr-service-card::after,
body.lcr-public-theme .as_service_box::after {
    display: none !important;
}

body.lcr-public-theme .lcr-service-card:hover,
body.lcr-public-theme .as_service_box:hover {
    transform: translateY(-8px) !important;
    border-color: color-mix(in srgb, var(--svc) 40%, transparent) !important;
    box-shadow: var(--shadow-hover) !important;
}

/* Arte dos atendimentos é ícone 120px — medalhão, não banner esticado */
body.lcr-public-theme .lcr-service-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 148px;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    overflow: hidden;
    background:
        radial-gradient(120px 80px at 50% 70%, color-mix(in srgb, var(--svc) 28%, transparent), transparent 70%),
        linear-gradient(180deg, var(--blue-deep), #163e5c);
}

body.lcr-public-theme .lcr-service-media img {
    width: 88px !important;
    height: 88px !important;
    object-fit: contain !important;
    border-radius: var(--radius-pill) !important;
    display: block;
    padding: 8px;
    background: #fff;
    border: 2px solid var(--gold-2);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
    transition: transform 0.4s var(--ease);
}

body.lcr-public-theme .lcr-service-card:hover .lcr-service-media img {
    transform: translateY(-3px);
}

/* ícone antigo (fallback) vira grande também */
body.lcr-public-theme .lcr-service-card .as_icon,
body.lcr-public-theme .as_service_box .as_icon {
    width: 100% !important;
    height: auto !important;
    min-height: 200px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: #eef1f6 !important;
    border: none !important;
    box-shadow: none !important;
    display: block !important;
}

body.lcr-public-theme .lcr-service-card .as_icon:after,
body.lcr-public-theme .as_service_box .as_icon:after {
    display: none !important;
}

body.lcr-public-theme .lcr-service-card .as_icon img,
body.lcr-public-theme .as_service_box .as_icon img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}

body.lcr-public-theme .lcr-service-body,
body.lcr-public-theme .lcr-service-card .service-content {
    padding: 22px 24px 8px !important;
    flex: 1 1 auto;
}

body.lcr-public-theme .lcr-service-card .as_subheading,
body.lcr-public-theme .as_service_box .as_subheading {
    text-align: left !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    padding: 0 0 14px !important;
    font-family: 'Philosopher', serif !important;
    font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.03em !important;
    color: var(--blue-deep) !important;
}

body.lcr-public-theme .lcr-service-card .as_subheading:after,
body.lcr-public-theme .as_service_box .as_subheading:after {
    left: 0 !important;
    transform: none !important;
    width: 42px !important;
    height: 2px !important;
    background: var(--svc) !important;
}

body.lcr-public-theme .lcr-service-card p,
body.lcr-public-theme .as_service_box p {
    text-align: left !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    color: var(--muted) !important;
    font-size: 0.98rem !important;
    line-height: 1.7 !important;
    margin-bottom: 8px !important;
}

body.lcr-public-theme .lcr-service-card .service-button,
body.lcr-public-theme .as_service_box .service-button {
    justify-content: flex-start !important;
    margin-top: auto !important;
    padding: 8px 24px 24px !important;
}

body.lcr-public-theme .lcr-service-card .as_btn,
body.lcr-public-theme .as_service_box .as_btn {
    background: linear-gradient(135deg, var(--svc), color-mix(in srgb, var(--svc) 70%, #fff)) !important;
    color: var(--blue-deep) !important;
    max-width: none !important;
    clip-path: none !important;
}

/* ==========================================================================
   Books / blog / plans
   ========================================================================== */
body.lcr-public-theme .book-item,
body.lcr-public-theme .home-book-card {
    border-radius: var(--radius) !important;
    border: 1px solid var(--line) !important;
    background: #fff !important;
    box-shadow: var(--shadow) !important;
    color: var(--text) !important;
    overflow: hidden !important;
}

/* Capas / mídia interna seguem o raio da célula (sem canto “quadrado” solto) */
body.lcr-public-theme .book-item img,
body.lcr-public-theme .home-book-card img,
body.lcr-public-theme .as_blog_box img,
body.lcr-public-theme .img-thumbnail {
    border-radius: var(--radius-sm) !important;
}

body.lcr-public-theme .book-cover-placeholder {
    border-radius: var(--radius-sm) !important;
}

/* Inslider / galeria — células arredondadas uniformes */
body.lcr-public-theme #inswiper-container,
body.lcr-public-theme .spiritual-message-section .as_about_slider {
    border-radius: var(--radius) !important;
    overflow: hidden !important;
}

body.lcr-public-theme #inswiper-container img,
body.lcr-public-theme .spiritual-message-section img {
    border-radius: var(--radius-sm) !important;
}

body.lcr-public-theme .user-avatar,
body.lcr-public-theme .ast_team_box img {
    border-radius: var(--radius-pill) !important;
    object-fit: cover !important;
    background: var(--panel-2);
}

body.lcr-public-theme .book-item::before {
    height: 3px !important;
    background: linear-gradient(90deg, var(--theme), #2f9e8c) !important;
}

body.lcr-public-theme .book-item:hover,
body.lcr-public-theme .home-book-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: var(--shadow-hover) !important;
}

body.lcr-public-theme .as_blog_box,
body.lcr-public-theme .card,
body.lcr-public-theme .pricing__item,
body.lcr-public-theme .pricing__item-left,
body.lcr-public-theme .as_contact_expert,
body.lcr-public-theme .choosing-reason .card {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow) !important;
    color: var(--text) !important;
}

body.lcr-public-theme .as_blog_box:hover,
body.lcr-public-theme .pricing__item:hover,
body.lcr-public-theme .choosing-reason .card:hover {
    transform: translateY(-6px);
    border-color: color-mix(in srgb, var(--theme) 40%, transparent) !important;
    box-shadow: var(--shadow-hover) !important;
}

body.lcr-public-theme .choosing-reason .card-title,
body.lcr-public-theme .pricing__plan-name,
body.lcr-public-theme .pricing__title {
    color: var(--text) !important;
    text-shadow: none !important;
}

body.lcr-public-theme .choosing-reason .card-text {
    color: var(--muted) !important;
}

body.lcr-public-theme .form-control {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius-sm) !important;
    color: var(--text) !important;
}

body.lcr-public-theme .form-control:focus {
    border-color: var(--theme) !important;
    box-shadow: 0 0 0 3px var(--theme-soft) !important;
    background: #fff !important;
    color: var(--text) !important;
}

body.lcr-public-theme .form-control::placeholder {
    color: var(--muted) !important;
}

/* ==========================================================================
   Páginas de serviço
   ========================================================================== */
body.lcr-public-theme .lcr-soul-copy,
body.lcr-public-theme .lcr-trauma-copy,
body.lcr-public-theme .lcr-spirit-copy,
body.lcr-public-theme .lcr-work-copy,
body.lcr-public-theme .lcr-addiction-copy,
body.lcr-public-theme .lcr-pandora-copy {
    margin: 28px auto !important;
    padding: 32px !important;
    max-width: 860px;
    border-radius: var(--radius) !important;
    border: 1px solid var(--line) !important;
    background: #fff !important;
    box-shadow: var(--shadow) !important;
    color: var(--text-soft) !important;
}

body.lcr-public-theme .lcr-soul-copy .lcr-soul-section,
body.lcr-public-theme .lcr-trauma-copy .lcr-trauma-section,
body.lcr-public-theme .lcr-spirit-copy .lcr-spirit-section,
body.lcr-public-theme .lcr-work-copy .lcr-work-section,
body.lcr-public-theme .lcr-addiction-copy .lcr-addiction-section,
body.lcr-public-theme .lcr-pandora-copy .lcr-pandora-section {
    color: var(--theme) !important;
}

body.lcr-public-theme .lcr-soul-copy .lcr-soul-item {
    background: var(--panel-2);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 18px 20px;
}

body.lcr-public-theme .lcr-trauma-hero .subtitle,
body.lcr-public-theme .lcr-spirit-hero .subtitle,
body.lcr-public-theme .lcr-work-hero .subtitle,
body.lcr-public-theme .lcr-addiction-hero .subtitle,
body.lcr-public-theme .lcr-soul-hero .subtitle,
body.lcr-public-theme .lcr-pandora-hero .subtitle {
    color: var(--muted) !important;
}

body.lcr-public-theme .empty-state {
    background: #fff !important;
    border: 1px dashed color-mix(in srgb, var(--theme) 40%, transparent) !important;
    color: var(--muted) !important;
}

body.lcr-public-theme .empty-state h3,
body.lcr-public-theme .empty-state p,
body.lcr-public-theme .empty-state i {
    color: var(--muted) !important;
}

body.lcr-public-theme .book-cover-placeholder {
    background: linear-gradient(145deg, #e8ecf2, #dce2eb) !important;
    border-color: var(--line) !important;
    color: var(--muted) !important;
}

/* ==========================================================================
   Footer
   ========================================================================== */
body.lcr-public-theme .as_footer_wrapper {
    margin-top: 40px !important;
    padding-top: 56px !important;
    border-top: 1px solid var(--line) !important;
    background:
        radial-gradient(700px 220px at 50% 0%, rgba(61, 142, 192, 0.1), transparent 60%),
        linear-gradient(180deg, #f4f8fc, #e2eef8) !important;
    color: var(--text-soft) !important;
}

body.lcr-public-theme .as_footer_heading {
    color: var(--blue-deep) !important;
}

body.lcr-public-theme .as_footer_heading:after {
    background: var(--theme) !important;
}

body.lcr-public-theme .as_footer_widget > ul > li a,
body.lcr-public-theme .as_footer_widget > ul > li {
    color: var(--text-soft) !important;
}

body.lcr-public-theme .as_footer_widget > ul > li:hover,
body.lcr-public-theme .as_footer_widget > ul > li:hover a {
    color: var(--gold-deep) !important;
}

body.lcr-public-theme .as_newsletter_wrapper,
body.lcr-public-theme .as_newsletter_box {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow) !important;
}

/* ==========================================================================
   Modal
   ========================================================================== */
body.lcr-public-theme .modal-content {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    box-shadow: 0 30px 70px rgba(26, 31, 41, 0.18) !important;
    color: var(--text) !important;
}

/* Cookie / avisos — alinhado ao tema claro (não caixa preta + botão quadrado) */
body.lcr-public-theme .js-cookie-consent.cookie-consent,
body.lcr-public-theme .cookie-consent {
    background: rgba(255, 255, 255, 0.96) !important;
    color: var(--text) !important;
    border-top: 1px solid var(--line) !important;
    box-shadow: 0 -12px 32px rgba(15, 61, 94, 0.1) !important;
}

body.lcr-public-theme .cookie-consent * {
    color: var(--text-soft) !important;
}

body.lcr-public-theme .js-cookie-consent-agree,
body.lcr-public-theme .cookie-consent__agree,
body.lcr-public-theme .cc-btn,
body.lcr-public-theme .cc-allow,
body.lcr-public-theme .cc-dismiss {
    border-radius: 0 !important;
    background: linear-gradient(135deg, var(--gold), var(--gold-2)) !important;
    color: var(--blue-deep) !important;
    border: none !important;
    font-weight: 700 !important;
}

body.lcr-public-theme .modal-header,
body.lcr-public-theme .modal-footer {
    border-color: var(--line) !important;
}

/* ==========================================================================
   Reveal
   ========================================================================== */
body.lcr-public-theme .lcr-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.65s var(--ease), transform 0.65s var(--ease);
}

body.lcr-public-theme .lcr-reveal.is-inview {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    body.lcr-public-theme .lcr-reveal,
    body.lcr-public-theme .lcr-service-card,
    body.lcr-public-theme .as_btn {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* ==========================================================================
   Responsivo
   ========================================================================== */
@media (max-width: 991px) {
    body.lcr-public-theme .lcr-services-grid > .lcr-service-card,
    body.lcr-public-theme .lcr-services-grid > .lcr-service-card:first-child {
        grid-column: span 6;
    }

    body.lcr-public-theme .as_header_wrapper {
        margin: 8px 10px 0 !important;
        border-radius: var(--radius) !important;
    }

    body.lcr-public-theme .as_logo {
        padding-left: 12px !important;
    }

    body.lcr-public-theme .as_menu_handle {
        top: 128px !important;
        left: 14px !important;
    }
}

@media (max-width: 767px) {
    body.lcr-public-theme .lcr-services-grid > .lcr-service-card,
    body.lcr-public-theme .lcr-services-grid > .lcr-service-card:first-child {
        grid-column: span 12;
    }

    body.lcr-public-theme .lcr-service-media {
        height: 132px;
    }

    body.lcr-public-theme .ast_banner_text {
        min-height: 560px !important;
        border-radius: 0 0 var(--radius) var(--radius) !important;
    }

    body.lcr-public-theme .ast_bannertext_wrapper {
        margin: 0 16px !important;
        padding: 28px 18px 24px !important;
    }

    body.lcr-public-theme .ast_bannertext_wrapper h1 {
        font-size: 2rem !important;
    }
}

/* Keyframes unprefixed (o CSS legado só tem -webkit-) */
@keyframes starfieldRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes pulse {
    0% { transform: scale(0.1, 0.1); opacity: 0; }
    50% { opacity: 1; }
    100% { transform: scale(1.2, 1.2); opacity: 0; }
}

@supports not (background: color-mix(in srgb, #000 50%, #fff)) {
    body.lcr-public-theme .as_btn {
        background: var(--gold) !important;
    }
}

/* ==========================================================================
   Home — nova composição (mesmos itens, outra leitura)
   Palco (hero + banners) → folha (atendimentos em faixa)
   → página dupla (mensagem + livro) → prateleira (galeria + livros)
   → fecho (sobre, local, seguidores)
   ========================================================================== */

body.lcr-public-theme .lcr-stage .ast_banner_text {
    min-height: clamp(460px, 56vh, 600px) !important;
    padding-bottom: 88px !important;
    border-radius: 0 !important;
}

body.lcr-public-theme .lcr-home-slider {
    position: relative !important;
    z-index: 5 !important;
    margin-top: -92px !important;
    padding-top: 0 !important;
    padding-bottom: 8px !important;
}

body.lcr-public-theme .as_heading.as_heading_center {
    text-align: left !important;
    font-size: clamp(1.6rem, 2.4vw, 2.15rem) !important;
    margin-bottom: 18px !important;
    padding-bottom: 12px !important;
}

body.lcr-public-theme .as_heading.as_heading_center:after {
    left: 0 !important;
    transform: none !important;
    width: 56px !important;
}

body.lcr-public-theme .as_service_wrapper,
body.lcr-public-theme .as_about_wrapper.as_padderTop30,
body.lcr-public-theme .as_padderTop60,
body.lcr-public-theme .as_padderBottom80,
body.lcr-public-theme .as_padderTop30,
body.lcr-public-theme .as_padderBottom30 {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
}

/* Atendimentos: faixa editorial (texto) + azulejos só com ícone e nome */
body.lcr-public-theme .lcr-services-section {
    background: transparent !important;
    box-shadow: none !important;
    margin: 12px 0 0 !important;
    padding-top: 8px !important;
}

body.lcr-public-theme .lcr-services-layout {
    display: grid;
    gap: 18px;
}

body.lcr-public-theme .lcr-service-lead {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    gap: 24px;
    align-items: center;
    padding: 36px 40px;
    border-radius: 28px;
    background: var(--blue-deep);
    color: #fff;
    box-shadow: var(--shadow-hover);
}

body.lcr-public-theme .lcr-service-lead__title {
    margin: 0 0 10px;
    color: #fff !important;
    font-family: 'Philosopher', serif;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    line-height: 1.2;
}

body.lcr-public-theme .lcr-service-lead p {
    color: rgba(255, 255, 255, 0.82) !important;
    max-width: 62ch;
    margin-bottom: 18px;
}

body.lcr-public-theme .lcr-service-lead__mark {
    display: grid;
    place-items: center;
    width: 160px;
    height: 160px;
    margin-left: auto;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(224, 188, 74, 0.55);
}

body.lcr-public-theme .lcr-service-lead__mark img {
    width: 96px;
    height: 96px;
    object-fit: contain;
    border-radius: 50%;
    background: #fff;
    padding: 8px;
}

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

body.lcr-public-theme .lcr-service-tile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    min-height: 168px;
    padding: 18px 16px 16px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: none;
    text-decoration: none !important;
    color: var(--blue-deep) !important;
}

body.lcr-public-theme .lcr-service-tile img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 50%;
    background: var(--panel-2);
    padding: 6px;
}

body.lcr-public-theme .lcr-service-tile span {
    font-family: 'Philosopher', serif;
    font-size: 1.15rem;
    line-height: 1.25;
    font-weight: 700;
}

body.lcr-public-theme .lcr-service-tile:hover {
    border-color: var(--gold);
    transform: translateY(-3px);
}

/* Banners: cartões de foto, separados dos azulejos */
body.lcr-public-theme #header_slider .swiper-slide {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 36px rgba(15, 61, 94, 0.16);
}

body.lcr-public-theme #header_slider .swiper-slide img {
    border-radius: 18px;
    aspect-ratio: 16 / 7;
    object-fit: cover;
    height: 220px;
}

/* Mensagem + livro: duas colunas de leitura, não mais o grid do tema antigo */
body.lcr-public-theme .lcr-spread > .container > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 22px;
    align-items: stretch;
    margin: 0 !important;
}

body.lcr-public-theme .lcr-spread > .container > .row > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
}

body.lcr-public-theme .lcr-spread .as_about_slider,
body.lcr-public-theme .lcr-spread .as_blog_img {
    border-radius: var(--radius);
    overflow: hidden;
    background: #fff;
    box-shadow: var(--shadow);
}

body.lcr-public-theme .lcr-spread .as_blog_img img,
body.lcr-public-theme .lcr-spread .img-thumbnail {
    width: 100% !important;
    height: 280px !important;
    object-fit: contain !important;
    background: var(--panel-2);
}

/* Galeria: faixa horizontal, não grelha de células soltas */
body.lcr-public-theme .lcr-gallery .ast_service_slider .row,
body.lcr-public-theme .lcr-gallery .owl-stage-outer,
body.lcr-public-theme .lcr-gallery .owl-stage {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 12px;
    overflow-x: auto !important;
    transform: none !important;
    width: 100% !important;
    padding-bottom: 8px;
}

body.lcr-public-theme .lcr-gallery .owl-item,
body.lcr-public-theme .lcr-gallery .ast_service_slider .row > div {
    flex: 0 0 132px !important;
    width: 132px !important;
    max-width: 132px !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

body.lcr-public-theme .lcr-gallery img,
body.lcr-public-theme .lcr-gallery video {
    width: 132px !important;
    height: 132px !important;
    object-fit: cover !important;
    border-radius: var(--radius-sm) !important;
}

/* Livros: prateleira, capas em pé */
body.lcr-public-theme .lcr-shelf .home-latest-books {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 18px;
    overflow-x: auto;
    margin: 0 !important;
    padding: 12px 8px 22px !important;
    background:
        linear-gradient(#0f3d5e, #0f3d5e) left 78% / 100% 8px no-repeat,
        linear-gradient(#c9a227, #c9a227) left calc(78% + 8px) / 100% 3px no-repeat;
}

body.lcr-public-theme .lcr-shelf .home-latest-books > [class*="col-"] {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

body.lcr-public-theme .lcr-shelf .home-book-card,
body.lcr-public-theme .lcr-shelf .z-book-cover,
body.lcr-public-theme .lcr-shelf .cover-container {
    width: 148px !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

body.lcr-public-theme .lcr-shelf .home-book-card img,
body.lcr-public-theme .lcr-shelf .cover {
    width: 148px !important;
    height: 210px !important;
    object-fit: contain !important;
    border-radius: 4px 10px 10px 4px !important;
    box-shadow: 8px 12px 24px rgba(15, 61, 94, 0.18);
    background: #fff;
}

/* Página dupla: o texto do livro fica num painel ouro, a foto no outro lado */
body.lcr-public-theme .lcr-spread .col-lg-6:last-child .row {
    background: linear-gradient(160deg, #f4e7b8, #fff 55%);
    border-radius: 28px;
    padding: 22px 8px;
    margin: 0;
}

/* Galeria: a primeira foto é maior que as outras */
body.lcr-public-theme .lcr-gallery .ast_service_slider .row > div:first-child,
body.lcr-public-theme .lcr-gallery .owl-item:first-child {
    flex-basis: 220px !important;
    width: 220px !important;
    max-width: 220px !important;
}

body.lcr-public-theme .lcr-gallery .ast_service_slider .row > div:first-child img,
body.lcr-public-theme .lcr-gallery .owl-item:first-child img {
    width: 220px !important;
    height: 220px !important;
}

/* Local: faixa dourada, não cartão branco */
body.lcr-public-theme .lcr-note {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

body.lcr-public-theme .lcr-note .location-message-section {
    background: linear-gradient(90deg, var(--gold), var(--gold-2)) !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    max-width: none;
}

body.lcr-public-theme .lcr-note .col-lg-10 {
    max-width: none !important;
    flex: 0 0 100% !important;
    width: 100% !important;
}

body.lcr-public-theme .lcr-note .location-text {
    color: var(--blue-deep) !important;
    font-weight: 600 !important;
}

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

/* Seguidores: faixa azul com rostos redondos — outro tipo de célula */
body.lcr-public-theme .lcr-people {
    margin: 0 16px 24px;
    padding: 28px 12px 32px !important;
    border-radius: 28px;
    background: var(--blue-deep) !important;
}

body.lcr-public-theme .lcr-people .as_heading,
body.lcr-public-theme .lcr-people p {
    color: #fff !important;
}

body.lcr-public-theme .lcr-people .as_heading:after {
    background: var(--gold-2) !important;
}

body.lcr-public-theme .lcr-people .ast_team_box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

body.lcr-public-theme .lcr-people .user-avatar {
    width: 92px !important;
    height: 92px !important;
    border: 3px solid var(--gold-2);
    background: #fff;
}

@media (max-width: 991px) {
    body.lcr-public-theme .lcr-service-tiles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.lcr-public-theme .lcr-spread > .container > .row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    body.lcr-public-theme .lcr-service-lead {
        grid-template-columns: 1fr;
        padding: 24px 18px;
    }

    body.lcr-public-theme .lcr-service-lead__mark {
        margin: 0 auto;
    }

    body.lcr-public-theme .lcr-service-tiles {
        grid-template-columns: 1fr 1fr;
    }

    body.lcr-public-theme .lcr-stage .ast_banner_text {
        min-height: 520px !important;
        padding-bottom: 72px !important;
    }

    body.lcr-public-theme .lcr-home-slider {
        margin-top: -56px !important;
    }

    body.lcr-public-theme .lcr-services-section {
        margin: 8px 10px 0 !important;
    }
}
