
/* ══ VÍDEO YOUTUBE ══════════════════════════════════════════ */

/*
Theme Name: Link Bio Pro 8.0 - 10MAR26
Theme URI: https://linkbiopro.com
Author: Link Bio Pro
Description: Tema profissional de Link na Bio.
Version: 33.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: Proprietary
Text Domain: link-bio-pro
*/
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
/* Sem scrollbar visível em nenhum elemento */
::-webkit-scrollbar{display:none}
*{scrollbar-width:none;-ms-overflow-style:none}
:root{
  --acc:#c9963e;--acc-l:#d4aa60;--acc-glow:rgba(201,150,62,.22);
  --bg:#08080f;--surf:#10101e;--card:rgba(255,255,255,.04);
  --bdr:rgba(255,255,255,.09);--t1:#f0ede8;--t2:#9a9585;
  --r:14px;--tr:all .25s ease;
  --fd:'Playfair Display',Georgia,serif;
  --fb:'Plus Jakarta Sans',Arial,sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--t1);font-family:var(--fb);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
#lbpPage{visibility:visible!important;opacity:1!important}

/* FUNDO */
.lbp-bg-img{position:fixed;inset:0;z-index:-3;background-size:cover;background-position:center;pointer-events:none}
.lbp-bg-ov{position:fixed;inset:0;z-index:-2;background:rgba(8,8,15,.72);pointer-events:none}

/* WRAP — SEM overflow:hidden para nao cortar o pulse do vCard */
.lbp-wrap{max-width:480px;margin:0 auto;padding-top:18px;padding-bottom:60px;position:relative;z-index:1}
.lbp-fade{opacity:0;transform:translateY(14px);animation:lbpUp .5s ease forwards}
@keyframes lbpUp{to{opacity:1;transform:translateY(0)}}

/* HERO */
.lbp-hero{position:relative;text-align:center;border-radius:var(--r);background:var(--surf);overflow:hidden;isolation:isolate;margin:0 16px;min-height:260px}
.lbp-hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center top;pointer-events:none}
.lbp-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,8,15,.12),rgba(8,8,15,.58))}
.lbp-hero-inner{position:absolute;inset:0;z-index:1;padding:20px 20px 24px;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch}
.lbp-hero-badge{display:inline-block;padding:4px 14px;background:var(--acc-glow);border:1px solid var(--acc);border-radius:100px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc-l);margin-bottom:14px}
.lbp-prw{position:relative;width:120px;height:120px;margin:0 auto 16px;flex-shrink:0;align-self:center}
.lbp-pr{position:absolute;inset:-4px;border-radius:50%;background:conic-gradient(var(--acc) 0deg,var(--acc-l) 120deg,transparent 200deg,var(--acc) 360deg);animation:ringSpn 4s linear infinite;will-change:transform}
@keyframes ringSpn{to{transform:rotate(360deg)}}
.lbp-pi{width:120px;height:120px;border-radius:50%;object-fit:cover;position:relative;z-index:1;border:3px solid var(--bg)}
.lbp-hero-name{font-family:var(--fd);font-size:clamp(1.5rem,6vw,2rem);font-weight:700;line-height:1.25;margin-bottom:2px}
.lbp-hero-name strong{color:var(--hero-name-color,var(--acc))}
.lbp-hero-name em{color:#e05b5b;font-style:normal}
.lbp-hero-sub{font-size:.92rem;color:var(--t2);width:100%;margin:0 auto 10px;font-weight:700}
.lbp-cta{display:inline-block;padding:12px 28px;border-radius:100px;font-weight:700;font-size:.9rem;background:var(--acc);color:#14100a;border:none;cursor:pointer;transition:background .2s;touch-action:manipulation;text-decoration:none}
.lbp-cta:hover{filter:brightness(1.1)}
/* Hero CTA — mesmo estilo dos botões do site (retangular com leve curva) */
.lbp-cta-btn{display:inline-block;padding:14px 28px;border-radius:var(--r);font-weight:700;font-size:.95rem;background:var(--acc);color:#14100a;border:none;cursor:pointer;transition:filter .2s;touch-action:manipulation;text-decoration:none;-webkit-tap-highlight-color:transparent}
.lbp-cta-btn:hover{filter:brightness(1.1)}

/* ─────────────────────────────────────────────────────────────
   vCARD — PULSE VISÍVEL
   CORREÇÃO: overflow:visible no wrap, pulse com scale + shadow
   O efeito de pulsar usa transform:scale + box-shadow
   Isso funciona mesmo dentro de container sem overflow:hidden
───────────────────────────────────────────────────────────── */
.lbp-vc-wrap{padding:10px 16px 4px;overflow:visible}
.lbp-vc-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:15px 20px;border-radius:var(--r);
  border:none;cursor:pointer;
  font-family:var(--fb);font-size:1rem;font-weight:700;
  background:#25d366;color:#fff;
  /* PULSO VISIVEL: combina scale + shadow + glow */
  animation:vcPulse 2s ease-in-out infinite;
  position:relative;z-index:5;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  /* overflow:visible herda do pai para o shadow aparecer */
  isolation:auto;
}
@keyframes vcPulse{
  0%  {transform:scale(1);   box-shadow:0 0 0 0 rgba(37,211,102,.6),0 4px 16px rgba(37,211,102,.25)}
  50% {transform:scale(1.03);box-shadow:0 0 0 10px rgba(37,211,102,0),0 6px 24px rgba(37,211,102,.5)}
  100%{transform:scale(1);   box-shadow:0 0 0 0 rgba(37,211,102,.6),0 4px 16px rgba(37,211,102,.25)}
}
.lbp-vc-desc{display:none;text-align:center;font-size:.82rem;color:var(--t2);padding:7px 8px 2px;line-height:1.55}

/* SEC LABEL */
.lbp-sec-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);text-align:center;margin-bottom:10px}

/* BOTÕES DE LINKS */
.lbp-links{display:flex;flex-direction:column;gap:10px;padding:12px 0;margin:0 16px}
.lbp-btn{
  display:flex;align-items:center;justify-content:center;
  padding:16px 20px;border-radius:var(--r);
  font-size:.95rem;font-weight:600;
  background:var(--card);border:1px solid var(--bdr);
  color:var(--t1);width:100%;text-align:center;
  cursor:pointer;position:relative;z-index:2;
  pointer-events:auto;touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  transition:background .2s,border-color .2s;text-decoration:none;
}
.lbp-btn:hover{background:rgba(255,255,255,.08);border-color:var(--acc)}
.lbp-btn.frozen{opacity:.4;pointer-events:none;cursor:not-allowed}
.lbp-freeze-msg{display:none;text-align:center;font-size:.82rem;color:var(--t2);padding:10px 20px}
.lbp-freeze-msg.show{display:block}

/* LIVROS — TRIGGER */
.lbp-books-trig-wrap{padding:4px 16px 10px}
.lbp-books-trig{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:16px 20px;border-radius:var(--r);
  font-size:.95rem;font-weight:700;
  background:rgba(201,150,62,.1);border:1.5px solid rgba(201,150,62,.35);
  color:var(--acc-l);cursor:pointer;transition:var(--tr);
  position:relative;z-index:2;touch-action:manipulation;
}
.lbp-books-trig:hover{background:rgba(201,150,62,.2)}

/* BIO */
.lbp-bio{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--r);padding:28px 20px;text-align:center;margin:10px 16px}
.lbp-bio-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;margin:0 auto 14px;border:2px solid var(--acc)}
.lbp-bio-title{font-family:var(--fd);font-size:1.2rem;font-weight:700;margin-bottom:12px}
.lbp-bio-text{font-size:.88rem;line-height:1.75;color:var(--t2);white-space:pre-line;word-break:break-word;overflow-wrap:break-word}

/* VIDEO */
.lbp-video-sec{margin:10px 16px;border-radius:var(--r);overflow:hidden;background:#0a0a14;border:1px solid var(--bdr);position:relative;z-index:1}
.lbp-vid-thumb{position:relative;cursor:pointer;display:block;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.lbp-vid-thumb img{width:100%;aspect-ratio:9/16;object-fit:cover;display:block}
.lbp-vid-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;background:rgba(0,0,0,.65);border:3px solid rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;pointer-events:none}
.lbp-vid-play::after{content:'';width:0;height:0;border-style:solid;border-width:12px 0 12px 22px;border-color:transparent transparent transparent #fff;margin-left:4px}
.lbp-vid-hint{text-align:center;font-size:.8rem;color:var(--t2);padding:8px 0 12px}
.lbp-vid-modal{display:none;position:fixed;inset:0;background:rgba(5,5,12,.97);z-index:9000;justify-content:center;align-items:center}
.lbp-vid-modal.active{display:flex}
.lbp-vid-inner{position:relative;width:100%;max-width:560px;background:#000;overflow:hidden;display:flex;align-items:center;justify-content:center;max-height:95dvh;height:auto}
.lbp-vid-inner iframe,.lbp-vid-inner video{width:100%;height:100%;min-height:200px;border:none;display:block}
.lbp-vid-mask-bot{position:absolute;bottom:0;left:0;right:0;height:56px;background:#000;z-index:10;pointer-events:none}
.lbp-vid-close{position:absolute;top:10px;right:10px;z-index:12;width:40px;height:40px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;font-size:1.4rem;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation}

/* CARROSSEL */
.lbp-car-sec{padding:10px 0 0;overflow:visible}
.lbp-car-outer{margin:10px 16px 0;border-radius:var(--r);overflow:hidden}
.lbp-car-track{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.lbp-slide{flex:0 0 100%;position:relative;cursor:pointer;overflow:hidden}
.lbp-slide img{width:100%;aspect-ratio:1080/1400;object-fit:cover;display:block}
.lbp-slide-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:.82rem;font-weight:600;padding:24px 16px 12px;text-align:center;pointer-events:none}
.lbp-car-dots{display:flex;justify-content:center;gap:6px;padding:10px 0 4px}
.lbp-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);border:none;cursor:pointer;transition:var(--tr);padding:0;touch-action:manipulation}
.lbp-dot.active{background:var(--acc);width:22px;border-radius:4px}

/* DEPOIMENTOS */
.lbp-tests{padding:14px 0;margin:0 16px}
.lbp-test-grid{display:flex;flex-direction:column;gap:12px}
.lbp-test-card{background:var(--card);border:1px solid var(--bdr);border-radius:var(--r);padding:18px}
.lbp-test-stars{color:var(--acc);font-size:1rem;margin-bottom:8px}
.lbp-test-txt{font-size:.88rem;color:var(--t2);line-height:1.7;margin-bottom:12px;white-space:pre-line;word-break:break-word}
.lbp-test-auth{display:flex;align-items:center;gap:10px}
.lbp-test-av{width:36px;height:36px;border-radius:50%;object-fit:cover}
.lbp-test-name{font-size:.88rem;font-weight:700;margin:0}
.lbp-test-role{font-size:.78rem;color:var(--t2);margin:0}

/* REVIEWS */
.lbp-rv-sec{padding:14px 0;margin:0 16px}
.lbp-rv-head{display:flex;align-items:center;gap:10px;justify-content:center;margin-bottom:14px}
.lbp-rv-score{font-size:2rem;font-weight:700}
.lbp-rv-sub{font-size:.8rem;color:var(--t2)}
.lbp-rv-card{background:rgba(255,255,255,.05);border:1px solid var(--bdr);border-radius:12px;padding:14px;margin-bottom:10px}
.lbp-rv-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.lbp-rv-av{width:34px;height:34px;background:var(--acc);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0}
.lbp-rv-name{font-weight:600;font-size:.9rem;margin:0}
.lbp-rv-date{font-size:.75rem;color:var(--t2);margin:0}
.lbp-rv-stars{color:#f59e0b;font-size:.9rem;margin-bottom:5px}
.lbp-rv-txt{font-size:.85rem;color:var(--t2);line-height:1.5;margin:0}
.lbp-rv-gmb{display:block;text-align:center;margin-top:10px;color:var(--acc);font-size:.85rem}

/* RODAPÉ */
.lbp-footer-terms{display:flex;justify-content:center;gap:16px;padding:8px 0 4px;margin:0 16px;flex-wrap:wrap}
.lbp-terms-btn{font-size:.72rem;color:var(--t2);background:none;border:none;cursor:pointer;text-decoration:underline;touch-action:manipulation}
.lbp-terms-btn:hover{color:var(--t1)}

/* ─────────────────────────────────────────────────────────────
   LIVROS — DRAWER COM SCROLL INFINITO
   
   CORREÇÃO PRINCIPAL:
   - .lbp-books-sheet: height:100% (não max-height fixo)  
   - .lbp-books-list: flex:1; overflow-y:auto (scroll real)
   - Título "Livros" centralizado, sem emoji
   - "Saiba mais" abre em FULLSCREEN individual (outro overlay)
   - Botão Fechar fica na PARTE INFERIOR do detail
   - Descrição sem limite de altura
─────────────────────────────────────────────────────────────── */
.lbp-books-ov{
  display:none;position:fixed;inset:0;
  background:rgba(5,5,12,.93);z-index:8500;
  flex-direction:column;align-items:center;justify-content:flex-end;
}
.lbp-books-ov.active{display:flex}

/* Sheet ocupa quase toda a tela e tem scroll real */
.lbp-books-sheet{
  background:#0d0d1a;
  border-radius:24px 24px 0 0;
  width:100%;max-width:480px;
  /* CRITICO: usa % da viewport para scroll funcionar */
  height:90vh;
  display:flex;flex-direction:column;
  border:1px solid rgba(201,150,62,.2);border-bottom:none;
}
.lbp-books-handle{width:40px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin:12px auto 0;flex-shrink:0}
.lbp-books-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px 12px;border-bottom:1px solid var(--bdr);flex-shrink:0;
}
/* TITULO CENTRALIZADO SEM EMOJI */
.lbp-books-hdr-ttl{
  font-family:var(--fd);font-size:1.1rem;font-weight:700;color:var(--acc);
  text-align:center;flex:1;
}
.lbp-books-close{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.08);border:none;color:var(--t2);
  font-size:1.4rem;cursor:pointer;transition:var(--tr);
  display:flex;align-items:center;justify-content:center;
  touch-action:manipulation;flex-shrink:0;
}
.lbp-books-close:hover{background:rgba(255,255,255,.15);color:#fff}

/* LISTA COM SCROLL REAL — flex:1 ocupa espaço restante */
.lbp-books-list{
  flex:1;overflow-y:auto;
  padding:12px 12px 24px;
  display:flex;flex-direction:column;gap:12px;
  /* scroll suave no iOS */
  -webkit-overflow-scrolling:touch;
}
.lbp-books-list::-webkit-scrollbar{width:4px}
.lbp-books-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}

/* CARD — simples, sem overflow:hidden para não cortar */
.lbp-bk-card{
  background:var(--card);border:1px solid var(--bdr);
  border-radius:var(--r);transition:border-color .2s;
}
.lbp-bk-card:hover{border-color:rgba(201,150,62,.25)}
.lbp-bk-main{
  display:flex;flex-direction:column;align-items:center;
  padding:20px 16px 14px;text-align:center;gap:14px;
}
.lbp-bk-cover-wrap{
  width:200px;height:200px;border-radius:10px;overflow:hidden;
  background:#0a0a14;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;margin:0 auto;
}
.lbp-bk-cover-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.lbp-bk-cover-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1428,#2a1f3d);font-size:3rem}
.lbp-bk-info{width:100%;text-align:center}
.lbp-bk-tag{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);display:block;margin-bottom:4px}
.lbp-bk-title{font-family:var(--fd);font-size:1rem;font-weight:700;line-height:1.3;margin-bottom:12px}
.lbp-bk-saiba{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 24px;border-radius:100px;font-size:.82rem;font-weight:700;
  border:1.5px solid rgba(201,150,62,.45);background:rgba(201,150,62,.08);
  color:var(--acc-l);cursor:pointer;transition:var(--tr);
  animation:pulseBdr 2.5s ease infinite;touch-action:manipulation;
}
@keyframes pulseBdr{0%,100%{box-shadow:0 0 0 0 rgba(201,150,62,0)}50%{box-shadow:0 0 0 5px rgba(201,150,62,.15)}}
.lbp-bk-saiba:hover{background:rgba(201,150,62,.18);border-color:var(--acc)}

/* ─────────────────────────────────────────────────────────────
   LIVRO DETAIL — TELA CHEIA (overlay sobre o drawer)
   Quando clica "Saiba mais", abre um overlay dedicado
   Botão FECHAR fica na PARTE INFERIOR
─────────────────────────────────────────────────────────────── */
.lbp-bk-detail-ov{
  display:none;position:fixed;inset:0;
  background:rgba(5,5,12,.97);z-index:9100;
  flex-direction:column;align-items:center;justify-content:flex-end;
}
.lbp-bk-detail-ov.active{display:flex}
.lbp-bk-detail-sheet{
  background:#0d0d1a;border-radius:24px 24px 0 0;
  width:100%;max-width:480px;
  /* Tela cheia: 95vh */
  height:95vh;
  display:flex;flex-direction:column;
  border:1px solid rgba(201,150,62,.2);border-bottom:none;
}
.lbp-bk-detail-hdr{
  display:flex;align-items:center;justify-content:center;
  padding:14px 20px 12px;border-bottom:1px solid var(--bdr);
  flex-shrink:0;position:relative;
}
.lbp-bk-detail-tag{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
/* Scroll area */
.lbp-bk-detail-body{
  flex:1;overflow-y:auto;padding:20px 20px 12px;
  -webkit-overflow-scrolling:touch;
}
.lbp-bk-detail-body::-webkit-scrollbar{width:4px}
.lbp-bk-detail-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}
/* Capa centralizada no detail */
.lbp-bk-detail-img{
  width:200px;height:200px;border-radius:10px;overflow:hidden;
  margin:0 auto 16px;display:flex;align-items:center;justify-content:center;
  background:#0a0a14;
}
.lbp-bk-detail-img img{width:100%;height:100%;object-fit:cover;display:block}
.lbp-bk-detail-title{font-family:var(--fd);font-size:1.15rem;font-weight:700;text-align:center;margin-bottom:16px;line-height:1.3}
/* Descrição sem limite — texto completo */
.lbp-bk-detail-desc{
  font-size:.88rem;color:var(--t2);line-height:1.8;
  white-space:pre-line;word-break:break-word;overflow-wrap:break-word;
  text-align:justify
}
/* FOOTER DO DETAIL — Fechar na parte inferior */
.lbp-bk-detail-footer{
  flex-shrink:0;padding:16px 20px 24px;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex;flex-direction:column;gap:10px;
  background:#0d0d1a;
}
.lbp-bk-fechar{
  display:block;width:100%;padding:13px;border-radius:var(--r);
  font-size:.9rem;font-weight:700;
  border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);
  color:var(--t2);cursor:pointer;transition:var(--tr);touch-action:manipulation;
}
.lbp-bk-fechar:hover{background:rgba(255,255,255,.12);color:#fff}
.lbp-bk-buy-btn{
  display:block;width:100%;padding:13px;border-radius:var(--r);
  font-size:.9rem;font-weight:700;text-align:center;
  background:var(--acc);
  color:#14100a;border:2px solid var(--acc);cursor:pointer;touch-action:manipulation;
  text-decoration:none;transition:filter .2s;
}
.lbp-bk-buy-btn:hover{filter:brightness(1.08)}

/* ─────────────────────────────────────────────────────────────
   MODAIS — todos display:none (NUNCA visibility:hidden)
─────────────────────────────────────────────────────────────── */
.lbp-modal-ov{display:none;position:fixed;inset:0;z-index:8200;background:rgba(5,5,12,.93);align-items:flex-end;justify-content:center}
.lbp-modal-ov.active{display:flex}
.lbp-modal-sheet{background:#14100a;border-radius:24px 24px 0 0;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:28px 24px 36px;border:1px solid rgba(255,220,0,.1);border-bottom:none;position:relative}
.lbp-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);border:none;color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation}
.lbp-modal-title{font-family:var(--fd);font-size:1.3rem;font-weight:700;margin-bottom:8px}
.lbp-modal-sub{font-size:.88rem;color:var(--t2);margin-bottom:18px}
.lbp-cap-input,.lbp-cap-ta{width:100%;padding:12px 16px;background:rgba(255,255,255,.06);border:1px solid var(--bdr);border-radius:10px;color:var(--t1);font-family:inherit;font-size:.9rem;margin-bottom:10px;outline:none}
.lbp-cap-ta{resize:vertical;min-height:80px}
.lbp-cap-submit{width:100%;padding:14px;background:var(--acc);color:#14100a;border:2px solid var(--acc);border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;touch-action:manipulation}
.lbp-cap-ok{display:none;text-align:center;font-size:.95rem;color:#22c55e;padding:20px}
.lbp-terms-ov{display:none;position:fixed;inset:0;background:rgba(5,5,12,.95);z-index:8300;align-items:center;justify-content:center;padding:16px}
.lbp-terms-ov.active{display:flex}
.lbp-terms-card{background:#14100a;border-radius:16px;width:100%;max-width:440px;max-height:80vh;display:flex;flex-direction:column;border:1px solid rgba(255,255,0,.1);overflow:hidden}
.lbp-terms-title{font-family:var(--fd);font-size:1.1rem;font-weight:700;padding:20px 20px 12px}
.lbp-terms-body{flex:1;overflow-y:auto;padding:0 20px 16px;font-size:.85rem;color:var(--t2);line-height:1.7}
.lbp-terms-footer{padding:12px 20px 20px}
.lbp-terms-ok{opacity:0;pointer-events:none;width:100%;padding:12px;background:var(--acc);color:#14100a;border:none;border-radius:10px;font-weight:700;font-size:.9rem;cursor:pointer;transition:opacity .4s}
.lbp-terms-ok.vis{opacity:1;pointer-events:auto}

/* QUIZ */
.quiz-ov{display:none;position:fixed;inset:0;background:rgba(5,5,12,.96);z-index:8100;align-items:flex-end;justify-content:center}
.quiz-ov.active{display:flex}
.quiz-sheet{background:#0d0d1a;border-radius:24px 24px 0 0;width:100%;max-width:480px;height:92vh;overflow-y:auto;padding:24px 20px 32px;border:1px solid rgba(201,150,62,.2);border-bottom:none;position:relative;-webkit-overflow-scrolling:touch}
.quiz-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);border:none;color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation}
.quiz-badge{display:inline-block;padding:4px 12px;background:rgba(201,150,62,.15);border:1px solid rgba(201,150,62,.4);border-radius:100px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc-l);margin-bottom:12px}
.quiz-title{font-family:var(--fd);font-size:1.4rem;font-weight:700;line-height:1.3;margin-bottom:8px}
.quiz-sub{font-size:.85rem;color:var(--t2);margin-bottom:16px}
.quiz-prog-wrap{margin-bottom:18px}
.quiz-prog-info{display:flex;justify-content:space-between;font-size:.75rem;color:var(--t2);margin-bottom:6px}
.quiz-prog-track{height:4px;background:rgba(255,255,255,.1);border-radius:2px}
.quiz-prog-bar{height:4px;background:linear-gradient(90deg,var(--acc),var(--acc-l));border-radius:2px;transition:width .4s ease}
.quiz-q{display:none}.quiz-q.active{display:block}
.quiz-q-num{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin-bottom:8px}
.quiz-q-ttl{font-family:var(--fd);font-size:1.1rem;font-weight:700;line-height:1.4;margin-bottom:6px}
.quiz-q-sub{font-size:.82rem;color:var(--t2);margin-bottom:8px}
.quiz-multi{font-size:.75rem;color:rgba(201,150,62,.7);margin-bottom:12px}
.quiz-opts{display:flex;flex-direction:column;gap:8px}
.quiz-opt{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);color:var(--t1);font-size:.88rem;line-height:1.5;cursor:pointer;transition:var(--tr);text-align:left;touch-action:manipulation;width:100%}
.quiz-opt:hover,.quiz-opt.sel{background:rgba(201,150,62,.12);border-color:var(--acc)}
.quiz-chk{width:18px;height:18px;border-radius:4px;flex-shrink:0;border:1.5px solid rgba(255,255,255,.3);margin-top:2px;transition:var(--tr)}
.quiz-opt.sel .quiz-chk{background:var(--acc);border-color:var(--acc)}
.opt-l{font-weight:700;color:var(--acc);margin-right:4px}
.quiz-nav{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}
.quiz-nav-btn{padding:10px 22px;border-radius:100px;font-weight:700;font-size:.88rem;border:none;cursor:pointer;transition:var(--tr);display:flex;align-items:center;gap:6px;touch-action:manipulation}
.q-prev{background:rgba(255,255,255,.08);color:var(--t2)}
.q-next,.q-res{background:var(--acc);color:#14100a}
.quiz-nav-btn:disabled{opacity:.4;cursor:not-allowed}
.quiz-result{text-align:center;padding:20px 0;display:none}.quiz-result.show{display:block}
.qr-icon{font-size:3rem;display:block;margin-bottom:10px}
.qr-badge{display:inline-block;padding:4px 12px;background:rgba(201,150,62,.15);border:1px solid rgba(201,150,62,.4);border-radius:100px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc-l);margin-bottom:12px}
.qr-title{font-family:var(--fd);font-size:1.5rem;font-weight:700;margin-bottom:10px}
.qr-desc{font-size:.9rem;color:var(--t2);line-height:1.7;margin-bottom:20px}
.qr-div{height:1px;background:rgba(255,255,255,.1);margin:20px 0}
.qr-book-lbl{font-size:.78rem;color:var(--t2);margin-bottom:10px}
.qr-book-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:10px;background:linear-gradient(135deg,var(--acc),var(--acc-l));color:#14100a;font-weight:700;font-size:.92rem;margin-bottom:16px;text-decoration:none}
.qr-close{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);color:var(--t2);padding:10px 24px;border-radius:100px;font-size:.88rem;cursor:pointer;transition:var(--tr);touch-action:manipulation}
.qr-close:hover{background:rgba(255,255,255,.12);color:#fff}

/* SLIDE MODAL */
.lbp-sl-ov{display:none;position:fixed;inset:0;background:rgba(5,5,12,.92);z-index:8000;align-items:center;justify-content:center}
.lbp-sl-ov.active{display:flex}
.lbp-sl-card{background:#14100a;border-radius:24px 24px 0 0;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;border:1px solid rgba(201,150,62,.2);border-bottom:none;position:relative}
.lbp-sl-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);border:none;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation}
.lbp-sl-img{width:100%;max-height:260px;object-fit:cover;border-radius:24px 24px 0 0}
.lbp-sl-body{padding:20px}
.lbp-sl-title{font-family:var(--fd);font-size:1.2rem;font-weight:700;margin-bottom:10px}
.lbp-sl-txt{font-size:.88rem;color:var(--t2);line-height:1.7;margin-bottom:16px;white-space:pre-line;word-break:break-word}
.lbp-sl-btn{display:block;text-align:center;padding:13px;border-radius:10px;font-weight:700;font-size:.9rem;background:var(--acc);color:#14100a;touch-action:manipulation}

/* ADMIN PANEL */
.lbp-panel{font-family:sans-serif;max-width:1100px;margin:24px auto;padding:0 16px 40px}

@media(max-width:480px){
  .lbp-bk-cover-wrap{width:160px;height:160px}
  .lbp-bk-detail-img{width:160px;height:160px}
  .quiz-sheet{padding:20px 16px 28px}
  .lbp-modal-sheet{padding:24px 18px 32px}
}

/* Texto justificado — bio, livros, carrossel */
.lbp-bio-text{text-align:justify}
.lbp-bk-detail-desc{text-align:justify!important}
.lbp-sl-txt{text-align:justify}

/* Buy button — aparece após 37s (JS controla) */
.lbp-bk-buy-btn{
  display:none;/* começa oculto, JS mostra após 37s */
  width:100%;padding:13px;border-radius:var(--r);
  font-size:.9rem;font-weight:700;text-align:center;
  background:var(--acc);
  color:#14100a;border:2px solid var(--acc);cursor:pointer;touch-action:manipulation;
  text-decoration:none;transition:filter .2s,opacity .4s;
  animation:fadeInUp .5s ease forwards;
}
.lbp-bk-buy-btn.visible{display:block}
@keyframes fadeInUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Reviews — all reviews overlay */
.lbp-rv-all-ov{
  display:none;position:fixed;inset:0;
  background:rgba(5,5,12,.97);z-index:9200;
  flex-direction:column;align-items:center;justify-content:flex-end;
}
.lbp-rv-all-ov.active{display:flex}
.lbp-rv-all-sheet{
  background:#0d0d1a;border-radius:24px 24px 0 0;
  width:100%;max-width:480px;height:92vh;
  display:flex;flex-direction:column;
  border:1px solid rgba(201,150,62,.2);border-bottom:none;
}
.lbp-rv-all-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px 12px;border-bottom:1px solid var(--bdr);flex-shrink:0;
}
.lbp-rv-all-ttl{font-family:var(--fd);font-size:1.1rem;font-weight:700;color:var(--acc);flex:1;text-align:center}
.lbp-rv-all-close{
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.08);border:none;color:var(--t2);
  font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  touch-action:manipulation;flex-shrink:0;
}
.lbp-rv-all-body{
  flex:1;overflow-y:auto;padding:16px 16px 24px;
  -webkit-overflow-scrolling:touch;
}
.lbp-rv-all-body::-webkit-scrollbar{width:4px}
.lbp-rv-all-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}
.lbp-rv-all-summary{
  text-align:center;padding:16px 0 20px;
  border-bottom:1px solid var(--bdr);margin-bottom:16px;
}
.lbp-rv-all-score{font-size:3rem;font-weight:700;color:var(--acc);line-height:1}
.lbp-rv-all-stars{color:#f59e0b;font-size:1.2rem;margin:6px 0}
.lbp-rv-all-cnt{font-size:.85rem;color:var(--t2)}
/* Btn ver todas */
.lbp-rv-see-all{
  display:block;width:100%;padding:13px;border-radius:var(--r);
  font-weight:700;font-size:.9rem;text-align:center;
  background:rgba(201,150,62,.1);border:1.5px solid rgba(201,150,62,.35);
  color:var(--acc-l);cursor:pointer;touch-action:manipulation;
  transition:var(--tr);margin-top:10px;
}
.lbp-rv-see-all:hover{background:rgba(201,150,62,.2)}

/* QUIZ v12 — engine-rendered form styles */
.quiz-lead-form{display:flex;flex-direction:column;gap:10px;margin:16px 0}
.quiz-input{width:100%;padding:13px 16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:12px;color:var(--t1);font-size:.92rem;outline:none;-webkit-appearance:none;transition:border-color .2s}
.quiz-input:focus{border-color:var(--acc)}
.quiz-input::placeholder{color:rgba(255,255,255,.3)}
.quiz-input option{background:#1a1428;color:var(--t1)}
.quiz-privacy-note{font-size:.73rem;color:rgba(255,255,255,.3);text-align:center;margin-top:10px;line-height:1.5}
.quiz-q-num{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin-bottom:6px}
.quiz-q-ttl{font-family:var(--fd);font-size:1.1rem;font-weight:700;line-height:1.4;margin-bottom:4px}
.quiz-multi{font-size:.75rem;color:rgba(255,255,255,.35);margin-bottom:12px}
/* Score bars animate on render */
.quiz-score-bar{transition:width .8s ease}

/* ═══ iOS & MOBILE FIXES (v15) ════════════════════════════════
   - viewport-fit=cover already in header.php
   - safe-area-inset for notch / home indicator
   - -webkit-fill-available fixes 100vh Safari bug
   - body.lbp-locked replaces overflow:hidden (broken on iOS)
   - touch-action, -webkit-tap-highlight-color throughout
══════════════════════════════════════════════════════════════ */

/* iOS 100vh bug fix */
.lbp-bk-ov,
.lbp-bk-detail-ov,
.quiz-ov,
.lbp-cap-ov,
.lbp-vc-modal-ov,
.lbp-terms-ov,
.lbp-rv-all-ov {
  min-height: 100%;
  min-height: -webkit-fill-available;
}

/* Scroll lock: overflow:hidden only — position:fixed breaks iOS keyboard */
body.lbp-locked {
  overflow: hidden;
}

/* iOS safe area insets — respect notch and home indicator */
.lbp-bk-sheet-hdr,
.lbp-bk-detail-hdr {
  padding-top: max(14px, env(safe-area-inset-top));
}
.lbp-bk-detail-footer,
.lbp-footer {
  padding-bottom: max(16px, env(safe-area-inset-bottom));
}
.lbp-cap-sheet,
.lbp-vc-modal,
.quiz-sheet,
.lbp-terms-sheet {
  padding-bottom: max(24px, env(safe-area-inset-bottom));
}

/* iOS: font-size 16px on inputs prevents auto-zoom */
.lbp-cap-input,
.quiz-input,
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
  font-size: 16px !important;
}

/* Buy button hidden by default, visible class shows it */
.lbp-bk-buy-btn { display: none; }
.lbp-bk-buy-btn.visible { display: block; }

/* iOS: prevent callout on long-press for images */
img { -webkit-touch-callout: none; }

/* Smooth momentum scroll inside sheets */
.lbp-bk-sheet,
.lbp-cap-sheet,
.quiz-sheet,
.lbp-terms-sheet,
.lbp-bk-detail-ov {
  -webkit-overflow-scrolling: touch;
}

/* ══════════════════════════════════════════════════════════════
   APLICAÇÃO MENTORIA — ONE STEP DESIGN
   Reference: light card, centered question, PROSSEGUIR button
══════════════════════════════════════════════════════════════ */

/* Bio open button — full width, rectangular, slightly rounded */
.lbp-app-open-btn {
  display: block;
  width: 100%;
  margin-top: 16px;
  padding: 15px 20px;
  background: var(--acc);
  color: #14100a;
  font-size: .95rem;
  font-weight: 700;
  letter-spacing: .04em;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: filter .2s, transform .12s;
  text-align: center;
}
.lbp-app-open-btn:hover  { filter: brightness(1.1); }
.lbp-app-open-btn:active { transform: scale(.98); }

/* Full-screen overlay */
.lbp-app-ov {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9500;
  background: rgba(5,5,12,.88);
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  -webkit-tap-highlight-color: transparent;
  /* Background image support */
  background-size: cover;
  background-position: center;
}
.lbp-app-ov.active { display: flex; }
.lbp-app-ov-bg {
  position: absolute;
  inset: 0;
  background: rgba(5,5,12,.75);
  z-index: 0;
}

/* Card — light cream background */
.lbp-app-card {
  position: relative;
  z-index: 1;
  width: calc(100% - 32px);
  max-width: 420px;
  max-height: 88vh;
  max-height: 88dvh;
  background: #f6fcf9;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 8px 48px rgba(0,0,0,.4);
}

/* Top bar — dots + close */
.lbp-app-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px 10px;
  border-bottom: 1px solid rgba(0,0,0,.07);
  flex-shrink: 0;
  background: #fcf9f6;
  position: relative;
}
.lbp-app-header-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #8b1a1a;
  pointer-events: none;
  white-space: nowrap;
}
.lbp-app-prog-dots {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  flex: 1;
  max-width: calc(100% - 44px);
}
.lbp-app-mentoria-name{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8b1a1a;font-family:var(--fs)}
.lbp-app-x {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.12);
  background: transparent;
  color: #666;
  font-size: .9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  touch-action: manipulation;
}

/* Steps container — only one step visible at a time */
.lbp-app-steps {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  position: relative;
}
.lbp-app-step {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 32px 28px 28px;
  text-align: center;
}
.lbp-app-step.active { display: flex; }
@keyframes lbpFadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
.lbp-app-step.active { animation: lbpFadeIn .3s ease; }
@keyframes lbpShake {
  0%,100% { transform: translateX(0); }
  20%,60%  { transform: translateX(-6px); }
  40%,80%  { transform: translateX(6px); }
}
.lbp-app-step.shake { animation: lbpShake .4s ease; }

/* .lbp-app-category — removida */

/* Question text */
.lbp-app-question {
  font-family: var(--fd, Georgia, serif);
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.4;
  margin-bottom: 10px;
  text-align: center;
}

/* Sub line (like reference) */
.lbp-app-sub-line {
  width: 40px;
  height: 3px;
  background: #c0392b;
  border-radius: 2px;
  margin: 0 auto 18px;
}

/* Hint text */
.lbp-app-hint {
  font-size: .82rem;
  color: #888;
  margin-bottom: 16px;
  text-align: center;
  line-height: 1.5;
}

/* Description text (intro/success) */
.lbp-app-desc {
  font-size: .9rem;
  color: #555;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 10px;
  max-width: 340px;
}

/* Input field — small rounded corners */
.lbp-app-input {
  width: 100%;
  padding: 14px 16px;
  background: #fff;
  border: 1.5px solid #e0dad5;
  border-radius: 6px;
  color: #1a1a1a;
  font-size: 16px; /* prevent iOS zoom */
  font-family: var(--fb, sans-serif);
  outline: none;
  margin-bottom: 20px;
  transition: border-color .2s, box-shadow .2s;
  -webkit-appearance: none;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.lbp-app-input:focus {
  border-color: #8b1a1a;
  box-shadow: 0 0 0 3px rgba(139,26,26,.1);
}
.lbp-app-ta {
  resize: vertical;
  min-height: 100px;
  line-height: 1.6;
}

/* Choice buttons (single select) */
.lbp-app-choices {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
.lbp-app-choices-col { flex-direction: column; }
.lbp-app-choice {
  flex: 1;
  min-width: 110px;
  padding: 13px 16px;
  background: #fff;
  border: 1.5px solid #e0dad5;
  border-radius: 8px;
  color: #333;
  font-size: .88rem;
  font-weight: 600;
  cursor: pointer;
  touch-action: manipulation;
  transition: border-color .2s, background .2s, color .2s;
  text-align: center;
  line-height: 1.4;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.lbp-app-choices-col .lbp-app-choice { flex: none; min-width: unset; }
.lbp-app-choice.selected {
  border-color: #8b1a1a;
  background: #8b1a1a;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.lbp-app-choice:hover:not(.selected) { border-color: #b47a3e; }

/* Scale 1–10 */
.lbp-app-scale {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 20px;
  width: 100%;
}
.lbp-app-scale-btn {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  border: 1.5px solid #e0dad5;
  background: #fff;
  color: #555;
  font-size: .88rem;
  font-weight: 700;
  cursor: pointer;
  touch-action: manipulation;
  transition: all .18s;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.lbp-app-scale-btn.selected {
  background: #8b1a1a;
  border-color: #8b1a1a;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  transform: scale(1.1);
}

/* Multi-check */
.lbp-app-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-bottom: 14px;
  width: 100%;
}
.lbp-app-check-btn {
  padding: 9px 14px;
  background: #fff;
  border: 1.5px solid #e0dad5;
  border-radius: 8px;
  color: #555;
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  touch-action: manipulation;
  transition: all .18s;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
.lbp-app-check-btn.selected {
  background: #8b1a1a;
  border-color: #8b1a1a;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* PROSSEGUIR / Submit button */
.lbp-app-btn {
  display: block;
  width: 100%;
  padding: 15px 20px;
  background: #8b1a1a;
  color: #fff;
  font-size: .85rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  touch-action: manipulation;
  transition: filter .2s, transform .12s;
  margin-top: 4px;
}
.lbp-app-btn:hover  { filter: brightness(1.15); }
.lbp-app-btn:active { transform: scale(.98); }
.lbp-app-btn:disabled { opacity: .55; cursor: not-allowed; }
.lbp-app-btn-submit { background: linear-gradient(135deg,#8b1a1a,#b02020); }

/* Price highlight */
.lbp-app-price {
  color: #8b1a1a;
  font-weight: 800;
}

/* Success screen */
.lbp-app-success-icon {
  font-size: 3rem;
  color: #8b1a1a;
  margin-bottom: 12px;
}
.lbp-app-sign {
  font-size: .82rem;
  color: #aaa;
  font-style: italic;
  margin-top: 14px;
  margin-bottom: 20px;
}

/* Step validation error */
.lbp-app-err {
  display: none;
  color: #c0392b;
  font-size: .82rem;
  font-weight: 600;
  text-align: center;
  padding: 8px 12px;
  background: rgba(192,57,43,.08);
  border: 1px solid rgba(192,57,43,.25);
  border-radius: 6px;
  margin-bottom: 10px;
  animation: lbpFadeIn .2s ease;
}

/* ── Overlay background image support ────────────────────── */
.lbp-has-bg-ov {
  background-size: cover;
  background-position: center;
  position: relative;  /* ensure dimmer positions inside */
}
.lbp-ov-dimmer {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
/* Ensure overlay children sit above the dimmer */
.lbp-has-bg-ov > *:not(.lbp-ov-dimmer) {
  position: relative;
  z-index: 1;
}

/* ── Slide application CTA button ───────────────────────── */
.lbp-sl-app-btn {
  display: block;
  width: 100%;
  padding: 13px 16px;
  margin-top: 10px;
  background: #8b1a1a;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: .9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.lbp-sl-app-btn:active { filter: brightness(.9); }

/* ═══════════════════════════════════════════════════════════
   iOS / SAFARI COMPATIBILITY — safe-area, scroll, touch
═══════════════════════════════════════════════════════════ */

/* Prevent iOS double-tap zoom on buttons */
button, a, [role=button] {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Fix 100vh on iOS (viewport-fit) */
.lbp-app-ov,
.lbp-vid-modal,
.lbp-sl-ov,
.lbp-books-ov,
.lbp-modal-ov,
.quiz-ov {
  max-height: -webkit-fill-available;
}

/* Smooth scroll for iOS (momentum) */
.lbp-bk-detail-body,
.lbp-app-body,
.lbp-books-list,
.lbp-sl-body,
#lpMain {
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}

/* Fix input zoom on iOS (font-size ≥ 16px prevents zoom) */
.lbp-app-input,
.lbp-cap-input,
.lbp-cap-ta,
input[type=text],
input[type=email],
input[type=tel],
textarea {
  font-size: max(16px, 1em) !important;
}

/* Fix sticky hover on iOS */
@media (hover: none) {
  .lbp-btn:hover { background: transparent; border-color: var(--bdr); }
  .lbp-app-choice:hover:not(.selected) { background: #fff; border-color: #e0dad5; }
  .sb-item:hover { background: none; }
}

/* Fix position:fixed on older Safari */
.lbp-app-ov,
.lbp-vid-modal {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* Prevent text selection glitch on long-press */
.lbp-slide,
.lbp-btn,
.lbp-app-choice,
.lbp-scale-btn {
  -webkit-user-select: none;
  user-select: none;
}

/* Consistent vertical rhythm between all main cards */
.lbp-bio,.lbp-video-sec,.lbp-books-trig-wrap,.lbp-car-sec,.lbp-tests,.lbp-rv-sec{margin-bottom:0}

/* ── Intro step mentoria badge ─────────────────── */
.lbp-app-mentoria-badge {
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #3b0a0a;
  margin-bottom: 10px;
  min-height: 1em;
}
.lbp-app-intro-title {
  font-family: var(--fd);
  font-size: 1.6rem;
  font-weight: 800;
  color: #111 !important;
  line-height: 1.2;
  margin-bottom: 6px;
}

/* ── Filhos sub-options ─────────────────────────── */
.lbp-app-choices-sm {
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: wrap;
}
.lbp-app-choice-sm {
  padding: 10px 16px;
  border: 1.5px solid #e0dad5;
  border-radius: 10px;
  background: #fff;
  color: #3d2c1e;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: background .15s, border-color .15s;
  pointer-events: auto;
}
.lbp-app-choice-sm.selected {
  background: #8b1a1a;
  border-color: #8b1a1a;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* ── Books overlay bg ───────────────────────────── */
.lbp-books-ov.lbp-has-bg-ov { position: relative; }
.lbp-app-editorial{background:rgba(255,255,255,.04);border:1px solid rgba(201,150,62,.22);border-radius:12px;padding:18px;margin-bottom:8px;text-align:justify}
.lbp-app-editorial p{font-size:.88rem;color:#1a1a1a;line-height:1.7;margin-bottom:10px;text-align:justify}
.lbp-app-editorial p:last-child{margin-bottom:0}


/* Título da seção de botões carrossel */
.lbp-csl-section-title{
  font-size:.78rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--acc);
  text-align:center;padding:10px 16px 4px;margin:0;
}
/* ══ BOTÕES CARROSSEL SUSPENSO ═════════════════════ */
.lbp-csl-btns-wrap{margin-top:0;padding:6px 0!important;gap:8px!important}
/* Alta especificidade para sobrescrever padding do .lbp-btn */
.lbp-links.lbp-csl-btns-wrap .lbp-btn.lbp-csl-trigger{
  padding:10px 14px;
  font-size:.82rem;
  line-height:1.35;
  min-height:unset;
  cursor:pointer;
  position:relative;
  overflow:hidden;
}
/* Efeito brilho lateral — indica clicabilidade */
.lbp-links.lbp-csl-btns-wrap .lbp-btn.lbp-csl-trigger::after{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent 10%,rgba(255,255,255,.35) 50%,transparent 90%);
  pointer-events:none;
}
/* Botões Carrossel */
.lbp-csl-btns-wrap .lbp-csl-trigger,
.lbp-csl-trigger{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  padding:11px 14px!important;
  font-size:.82rem!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  line-height:1.35!important;
  text-align:center!important;
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:break-word!important;
  hyphens:auto!important;
  -webkit-hyphens:auto!important;
  box-shadow:0 3px 10px rgba(0,0,0,.2);
  animation:cslFloat 3.5s ease-in-out infinite;
  transition:filter .15s ease,box-shadow .15s ease!important
}
@keyframes cslFloat{
  0%,100%{transform:translateY(0);box-shadow:0 3px 12px rgba(0,0,0,.22)}
  50%{transform:translateY(-3px);box-shadow:0 6px 18px rgba(0,0,0,.28)}
}
.lbp-csl-btns-wrap .lbp-csl-trigger:active,
.lbp-csl-trigger:active{
  transform:scale(.97)!important;
  filter:brightness(.9)!important;
  animation:none!important
}
.lbp-csl-trigger span{display:none}

/* Modal overlay */
/* ══ CAROUSEL MODAL — 1:1 format, bg image, uniform width rounded cards ══ */
.lbp-csl-modal-ov{
  position:fixed;inset:0;background:rgba(5,5,12,.88);z-index:9000;
  display:none;align-items:flex-start;justify-content:center;
  padding:0;-webkit-tap-highlight-color:transparent;
  overflow-x:hidden;overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none
}
.lbp-csl-modal-ov::-webkit-scrollbar{display:none}
.lbp-csl-modal-ov.active{display:flex}

/* Card — layout container */
.lbp-csl-modal-card{
  position:relative;
  width:100%;max-width:480px;
  margin:0 auto;
  background:var(--surf,#1a1510);
  border-radius:20px;
  overflow:visible;
  display:flex;flex-direction:column;
  box-shadow:0 8px 48px rgba(0,0,0,.6);
  margin-top:16px;
  margin-bottom:16px
}
/* Background image layer — truly behind carousel and description */
.lbp-csl-bg-layer{
  position:absolute;inset:0;
  background-size:cover;background-position:center;background-repeat:no-repeat;
  z-index:0;pointer-events:none
}
/* Dark overlay on bg so text stays readable */
.lbp-csl-bg-layer::after{
  content:'';position:absolute;inset:0;
  background:rgba(5,3,2,.70)
}
/* All direct children above bg layer */
.lbp-csl-modal-card > *{position:relative;z-index:1}

@media(min-width:520px){
  .lbp-csl-modal-ov{align-items:center;padding:20px 12px}
  .lbp-csl-modal-card{border-radius:16px;margin-top:20px}
}

/* Close button */
.lbp-csl-close{
  position:absolute;top:12px;right:12px;z-index:20;
  width:32px;height:32px;border-radius:8px;
  background:rgba(0,0,0,.5);border:1.5px solid rgba(255,255,255,.18);
  color:#fff;font-size:.9rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  touch-action:manipulation;backdrop-filter:blur(4px)
}
.lbp-csl-close:hover{background:rgba(0,0,0,.75)}

/* ── Carousel: 1:1 square, full width, rounded top corners ── */
.lbp-csl-car-wrap{
  position:relative;
  overflow:hidden;
  background:#111;
  border-radius:12px;
  margin:14px 14px 0;
  width:calc(100% - 28px);
  flex-shrink:0;
  aspect-ratio:1/1
}
.lbp-csl-car-track{
  position:absolute;
  top:0;left:0;
  display:flex;
  width:100%;
  height:100%;
  transition:transform .38s cubic-bezier(.4,0,.2,1)
}
.lbp-csl-slide{
  flex:0 0 100%;
  width:100%;
  height:100%;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat
}

/* Arrows — sit on top of image, bottom-center area */
.lbp-csl-arrow{
  position:absolute;
  bottom:14px;
  width:36px;height:36px;border-radius:8px;
  background:rgba(0,0,0,.55);border:none;color:#fff;
  font-size:1.5rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  touch-action:manipulation;z-index:5;
  transition:background .18s;backdrop-filter:blur(4px)
}
.lbp-csl-arrow:hover{background:rgba(0,0,0,.8)}
.lbp-csl-arrow-l{left:14px}
.lbp-csl-arrow-r{right:14px}

/* Dots — above arrows, centered at bottom */
.lbp-csl-dots{
  position:absolute;bottom:60px;left:50%;
  transform:translateX(-50%);
  display:flex;gap:5px;z-index:5
}
.lbp-csl-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.4);cursor:pointer;transition:all .22s
}
.lbp-csl-dot.active{background:#fff;width:18px;border-radius:3px}

/* Description — same width as carousel, rounded card */
.lbp-csl-desc-wrap{
  margin:10px 14px 0;
  background:rgba(0,0,0,.38);
  border-radius:12px;
  padding:16px 18px;
  backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.1);
  overflow:hidden
}
.lbp-csl-desc{
  font-size:.93rem;color:rgba(255,255,255,.9);
  line-height:1.72;text-align:justify;
  white-space:pre-line;word-break:break-word;overflow-wrap:break-word;
  margin:0;overflow:hidden;
  transition:max-height 0.8s ease
}
.lbp-csl-desc p{margin:0 0 .9em;text-align:justify}
.lbp-csl-desc p:last-child{margin-bottom:0}
.lbp-csl-desc br{display:block;margin-bottom:.4em}

/* App button — same width, rounded */
.lbp-csl-app-wrap{margin:10px 14px 16px}
.lbp-csl-app-btn{
  display:block;width:100%;padding:16px 20px;
  background:var(--acc,#c9963e);color:#fff;
  border:none;border-radius:12px;
  font-size:1rem;font-weight:700;cursor:pointer;
  letter-spacing:.03em;touch-action:manipulation;
  font-family:Arial,sans-serif;
  animation:csl-app-fade .5s ease
}
@keyframes csl-app-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.lbp-csl-app-btn:hover{filter:brightness(1.1)}

/* Timer bar — same margin as others */
.lbp-csl-app-timer{
  height:3px;background:rgba(255,255,255,.1);
  margin:0 14px 12px;border-radius:2px;overflow:hidden
}
.lbp-csl-timer-fill{height:100%;background:var(--acc,#c9963e);width:0%;border-radius:2px}


.lbp-app-editorial-cta{font-size:.75rem;color:#b47a3e;text-align:center;margin:4px 0 10px;letter-spacing:.05em;opacity:.8}

/* Editorial step — justify-content:flex-start para botão aparecer */
.lbp-app-step-editorial {
  justify-content: flex-start;
  padding-top: 20px;
}
