/* Doc 37 P1 — LP Visual Premium: shell por seção (design layer).
   BEM: lps-shell, lps-shell__* — carregado no landing/public.blade. */

.lps-shell { position: relative; overflow: hidden; }

/* Fix 2026-07-17: o shell vira o filho direto do .container e perdia o
   full-bleed das seções (margens laterais no mobile/desktop). O fundo
   escapa pra viewport inteira; o conteúdo interno volta pro grid. */
.container > .lps-shell {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: none;
}
.container > .lps-shell > .lps-shell__content {
    max-width: var(--max-width, 1200px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--spacing-container, 16px);
    padding-right: var(--spacing-container, 16px);
}

.lps-shell__media {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; z-index: 0;
}
.lps-shell__poster-fallback { display: none; }
.lps-shell__overlay { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.lps-shell__content { position: relative; z-index: 2; }

/* Padding vertical */
.lps-shell--pad-compact  .lps-shell__content { padding-top: 8px;  padding-bottom: 8px; }
.lps-shell--pad-spacious .lps-shell__content { padding-top: 64px; padding-bottom: 64px; }

/* Tom do texto (auto/light/dark) — light clareia a tipografia base;
   classes específicas das seções continuam vencendo por ordem/especificidade. */
.lps-shell--tone-light .lps-shell__content { color: #fff; }
.lps-shell--tone-light .lps-shell__content :is(h1, h2, h3, h4, p, li) { color: inherit; }

/* Divider SVG */
.lps-shell__divider { position: relative; z-index: 2; line-height: 0; margin-top: -1px; }
.lps-shell__divider svg { display: block; width: 100%; height: 48px; }

/* Efeitos */
.lps-shell--fx-grain::after {
    content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .10;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
}
.lps-shell--fx-fade-in .lps-shell__content {
    opacity: 0; transform: translateY(16px);
    transition: opacity .6s ease, transform .6s ease;
}
.lps-shell--fx-fade-in.lps-shell--visible .lps-shell__content { opacity: 1; transform: none; }
[data-lps-parallax] .lps-shell__media { transform: scale(1.12); will-change: transform; }

/* Acessibilidade / economia: sem animação nem vídeo com reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .lps-shell__video { display: none; }
    .lps-shell__poster-fallback { display: block; }
    .lps-shell--fx-fade-in .lps-shell__content { opacity: 1; transform: none; transition: none; }
    [data-lps-parallax] .lps-shell__media { transform: none; }
}

/* P7 — efeitos e tamanhos de título por seção */
.lps-shell--hfx-gradient .lps-shell__content :is(h1, h2) {
    background: linear-gradient(90deg, var(--color-primary, #7BA178), var(--color-secondary, #B18B4D));
    -webkit-background-clip: text; background-clip: text;
    color: transparent; -webkit-text-fill-color: transparent;
}
.lps-shell--hfx-shadow .lps-shell__content :is(h1, h2, h3) {
    text-shadow: 0 2px 18px rgba(0, 0, 0, .28);
}
.lps-shell--hsize-large .lps-shell__content :is(h1, h2) {
    font-size: clamp(2.2rem, 6vw, 4rem); line-height: 1.08;
}
.lps-shell--hsize-display .lps-shell__content :is(h1, h2) {
    font-size: clamp(2.6rem, 8vw, 5rem); line-height: 1.05; letter-spacing: -.02em;
}

/* ---- Cards de plano: refino + não herdar tom claro do shell (2026-09-28) ---- */
.lps-shell--tone-light .lps-shell__content .lps-plans-v2__card,
.lps-shell--tone-light .lps-shell__content .lps-plans-v2__card :is(h1,h2,h3,h4,p,li,span,small){ color: var(--color-text, #1F2937); }
.lps-plans-v2__grid{ gap: 1.75rem; align-items: stretch; }
.lps-plans-v2__card{ border-radius: 20px; border: 1px solid rgba(0,0,0,.06); box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.lps-plans-v2__thumb{ height: 150px; background: var(--color-surface, #F9FAFB); display:flex; align-items:center; justify-content:center; padding: 18px; }
.lps-plans-v2__thumb img{ width:auto; height:100%; max-width:100%; object-fit: contain; }
.lps-plans-v2__card:hover .lps-plans-v2__thumb img{ transform: none; }
.lps-plans-v2__body{ padding: 1.5rem 1.75rem 1.75rem; gap: .35rem; }
.lps-plans-v2__name{ font-family: var(--heading-font, inherit); font-size: 1.45rem; font-weight: 600; letter-spacing: 0; margin-bottom: .35rem; }
.lps-plans-v2__desc{ -webkit-line-clamp: 3; font-size: .9rem; line-height: 1.55; opacity: .85; margin-bottom: 1rem; }
.lps-plans-v2__price-integer{ color: var(--color-primary); }
.lps-plans-v2__price-old{ opacity: .55; }
.lps-plans-v2__promo--unlimited{ background: transparent; border: 0; padding: 0; margin: .25rem 0 .5rem; }
.lps-plans-v2__promo--unlimited .lps-plans-v2__promo-badge{ display:inline-block; background: color-mix(in srgb, var(--color-secondary, #B18B4D) 14%, transparent); color: var(--color-secondary, #B18B4D); border-radius: 999px; padding: .3rem .75rem; font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.lps-plans-v2__badge{ font-size: .68rem; letter-spacing: .06em; opacity: .8; }
.lps-plans-v2__cta{ margin-top: auto; background: var(--color-primary); color: #fff; border-color: var(--color-primary); border-radius: 12px; padding: .9rem 1rem; font-size: .95rem; }
.lps-plans-v2__cta:hover{ filter: brightness(.95); }
.lps-plans-v2__card--featured{ transform: none; border: 2px solid var(--color-secondary, #B18B4D); box-shadow: 0 16px 40px rgba(0,0,0,.10); }
.lps-plans-v2__card--featured:hover{ transform: translateY(-4px); }
@media (max-width: 640px){ .lps-plans-v2__thumb{ height: 120px; } }

/* ---- Card de plano v2.1: mídia com fundo desfocado, autora, inclusos (2026-09-28) ---- */
.lps-plans-v2__thumb{ position:relative; height:170px; padding:0; overflow:hidden; background: var(--color-surface,#F9FAFB); }
.lps-plans-v2__thumb-bg{ position:absolute; inset:-10%; width:120%; height:120%; object-fit:cover; filter: blur(22px) saturate(1.1); opacity:.55; }
.lps-plans-v2__thumb-img{ position:relative; height:100%; width:auto; max-width:70%; margin:0 auto; object-fit:contain; padding:14px 0; }
.lps-plans-v2__creator{ display:flex; align-items:center; gap:.5rem; font-size:.85rem; opacity:.85; margin:0 0 .6rem; }
.lps-plans-v2__creator-avatar{ width:28px; height:28px; border-radius:50%; object-fit:cover; }
.lps-plans-v2__includes{ list-style:none; margin:0 0 1rem; padding:.75rem 0 0; border-top:1px solid rgba(0,0,0,.06); display:flex; flex-direction:column; gap:.5rem; }
.lps-plans-v2__includes li{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; font-size:.82rem; }
.lps-plans-v2__includes-label{ color: var(--color-secondary,#B18B4D); font-weight:600; }
.lps-plans-v2__courses{ display:flex; gap:.35rem; }
.lps-plans-v2__courses img{ width:44px; height:28px; object-fit:cover; border-radius:6px; border:1px solid rgba(0,0,0,.08); }
@media (max-width:640px){ .lps-plans-v2__thumb{ height:140px; } }

/* 2026-09-30: visual com fundo próprio vence o fundo padrão da seção (hero com gradiente/cor/padrão cobria a imagem) */
.lps-shell--has-bg > .lps-shell__content > *:first-child { background: transparent !important; background-image: none !important; }
.lps-shell--has-bg .lps-hero__pattern { display: none !important; }

/* 2026-10-02: confirmação da captura — cartão que orienta o lead (e-mail enviado, onde procurar, próximo passo) */
.lps-lc-done{ text-align:left; padding:1.5rem; display:flex; flex-direction:column; gap:.9rem; color:var(--lps-color-text,#1f2937); }
.lps-lc-done__icon{ width:48px; height:48px; border-radius:999px; display:grid; place-items:center; background:color-mix(in srgb,var(--lps-color-primary,#F36707) 14%,transparent); color:var(--lps-color-primary,#F36707); }
.lps-lc-done__icon svg{ width:26px; height:26px; }
.lps-lc-done__title{ margin:0; font-size:1.3rem; line-height:1.3; font-weight:700; font-family:var(--lps-font-heading,inherit); }
.lps-lc-done__msg{ margin:0; font-size:1rem; line-height:1.55; opacity:.9; }
.lps-lc-done__to{ margin:0; padding:.6rem .8rem; border-radius:10px; background:color-mix(in srgb,var(--lps-color-text,#1f2937) 6%,transparent); font-size:.95rem; word-break:break-all; }
.lps-lc-done__steps{ margin:0; padding-left:1.25rem; display:flex; flex-direction:column; gap:.45rem; font-size:.95rem; line-height:1.5; }
.lps-lc-done__cta{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.85rem 1.2rem; border-radius:12px; background:var(--lps-color-primary,#F36707); color:#fff !important; font-weight:700; text-decoration:none; text-align:center; }
.lps-lc-done__cta:hover{ filter:brightness(.95); }
.lps-lc-done__cta:focus-visible,.lps-lc-done__again:focus-visible{ outline:3px solid color-mix(in srgb,var(--lps-color-primary,#F36707) 45%,transparent); outline-offset:2px; }
.lps-lc-done__again{ align-self:flex-start; background:none; border:0; padding:0; font-size:.875rem; text-decoration:underline; color:inherit; opacity:.75; cursor:pointer; }
.theme-dark .lps-lc-done{ color:#f3f4f6; }
