/* LBF App native (22/10/2026) : mode boutique, Supprimer mon compte, panneau admin « Apps et boutiques ». */

/* Mode boutique : prix et boutons d'achat masqués (règles Apple et Google). */
.lbf-store .pplan, .lbf-store .pcof-btn, .lbf-store .tiers, .lbf-store .fsop,
.lbf-store a[href*="fluent-cart="], .lbf-store a[href*="instant_checkout"] { display: none !important; }
/* 22/10 : offres et tarifs des écrans d'accès (FlipScan, FlipBoard), onglets Tarifs et Parrainage (primes sur les
   abonnements), liens vers le Club et ses pages d'inscription payantes. Les lignes de prix sont masquées par app-native.js. */
.lbf-store .of3, .lbf-store .lbn-price, .lbf-store [data-tab="rejoindre"], .lbf-store [data-gatego="rejoindre"],
.lbf-store [data-go="rejoindre"], .lbf-store [data-tab="parrain"], .lbf-store [data-gatego="parrain"],
.lbf-store a[href$="/le-club/"], .lbf-store a[href$="/le-club"], .lbf-store a[href*="/le-club/?"], .lbf-store a[href*="/le-club/#"],
.lbf-store a[href*="/flipboard/inscription"], .lbf-store a[href$="/inscription/"], .lbf-store a[href*="/tarifs"],
.lbf-store a[href*="/checkout"], .lbf-store a[href*="/panier"], .lbf-store a[href*="/parrainage"] { display: none !important; }
#lbn-storebar { position: fixed; top: calc(var(--top, 0px) + 8px); left: 50%; transform: translateX(-50%); z-index: 2000; display: inline-flex; align-items: center; gap: 10px; padding: 7px 8px 7px 14px; border-radius: 10px; background: var(--ink, #1A1924); color: #fff; font: 600 12.5px/1 var(--font, system-ui, sans-serif); text-decoration: none; box-shadow: var(--sh-s, 0 2px 10px rgba(0,0,0,.12)); }
#lbn-storebar span { background: rgba(255,255,255,.16); padding: 5px 9px; border-radius: 7px; }

/* Toast */
#lbn-toast { position: fixed; left: 50%; bottom: calc(var(--bot, 0px) + 86px); transform: translate(-50%, 12px); z-index: 2100; max-width: min(92vw, 420px); padding: 11px 14px; border-radius: 10px; background: var(--ink, #1A1924); color: #fff; font: 500 14px/1.4 var(--font, system-ui, sans-serif); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
#lbn-toast.on { opacity: 1; transform: translate(-50%, 0); }
#lbn-toast.bad { background: var(--err, #B9380B); }

/* Feuille */
#lbn-wrap { position: fixed; inset: 0; z-index: 1900; }
#lbn-wrap .lbn-bd { position: absolute; inset: 0; background: rgba(26,25,36,.38); opacity: 0; transition: opacity .2s; }
#lbn-wrap .lbn-sheet { position: absolute; left: 0; right: 0; bottom: 0; max-height: 88%; display: flex; flex-direction: column; background: var(--card, #fff); border-radius: 14px 14px 0 0; box-shadow: var(--sh, 0 12px 36px rgba(0,0,0,.16)); transform: translateY(24px); opacity: 0; transition: transform .22s, opacity .22s; padding-bottom: var(--bot, 0px); }
#lbn-wrap.on .lbn-bd { opacity: 1; }
#lbn-wrap.on .lbn-sheet { transform: none; opacity: 1; }
@media (min-width: 700px) { #lbn-wrap .lbn-sheet { left: 50%; right: auto; width: 540px; margin-left: -270px; bottom: 24px; border-radius: 14px; max-height: 82%; } }
#lbn-wrap .lbn-x { position: absolute; top: 12px; right: 14px; width: 34px; height: 34px; border-radius: 10px; border: 0; background: var(--line2, #F2EDE4); color: var(--ink2, #3D3552); font-size: 20px; line-height: 1; cursor: pointer; }
#lbn-wrap .lbn-body { overflow-y: auto; overscroll-behavior: contain; padding: 22px 20px 22px; color: var(--ink2, #3D3552); font: 400 15px/1.5 var(--font, system-ui, sans-serif); }
.lbn-h { margin: 0 44px 10px 0; font: 700 26px/1.15 var(--serif, Georgia, serif); color: var(--ink, #1A1924); }
.lbn-h em { color: var(--or-d, #C9650E); }
.lbn-body p { margin: 0 0 12px; }
.lbn-note { background: var(--or-soft, #FDEBD5); color: var(--ink, #1A1924); border-radius: 10px; padding: 10px 12px; font-size: 14px; }
.lbn-list { list-style: none; margin: 4px 0 14px; padding: 0; display: grid; gap: 8px; }
.lbn-list li { display: grid; gap: 2px; padding: 10px 12px; border: 1px solid var(--line, #E9E3D7); border-radius: 10px; }
.lbn-list b { color: var(--ink, #1A1924); font-size: 14px; }
.lbn-list span { font-size: 14px; }
.lbn-box { display: grid; gap: 4px; margin: 0 0 14px; padding: 10px 12px; border-radius: 10px; background: var(--bg, #FDF8F1); font-size: 14px; }
.lbn-box b { color: var(--ink, #1A1924); }
.lbn-fld { display: grid; gap: 6px; margin: 0 0 12px; font-size: 14px; }
.lbn-fld input, .lbn-fld textarea { width: 100%; box-sizing: border-box; padding: 11px 12px; border: 1px solid var(--line, #E9E3D7); border-radius: 10px; font: 500 15px/1.4 var(--font, system-ui, sans-serif); color: var(--ink, #1A1924); background: #fff; }
.lbn-fld input:focus, .lbn-fld textarea:focus { outline: 2px solid var(--or, #F08A24); outline-offset: 1px; border-color: transparent; }
.lbn-acts { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 10px; }
.lbn-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--line, #E9E3D7); background: #fff; color: var(--ink, #1A1924); font: 600 14px/1 var(--font, system-ui, sans-serif); text-decoration: none; cursor: pointer; white-space: nowrap; }
.lbn-btn:hover { border-color: var(--ink2, #3D3552); }
.lbn-btn.danger { background: var(--err, #B9380B); border-color: var(--err, #B9380B); color: #fff; }
.lbn-btn[disabled] { opacity: .45; cursor: not-allowed; }
.lbn-small { font-size: 12.5px; color: var(--muted, #6E6886); }
.lbn-small a, .lbn-body a { color: var(--ink2, #3D3552); }

/* Panneau admin dans Ma fiche */
.lbn-card { background: #fff; border: 1px solid var(--line, #E9E3D7); border-radius: 10px; padding: 14px; margin-top: 14px; font: 400 14px/1.45 var(--font, system-ui, sans-serif); color: var(--ink2, #3D3552); }
.lbn-card-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.lbn-card-h b { color: var(--ink, #1A1924); font-size: 15px; }
.lbn-pill { font-size: 11.5px; font-weight: 600; padding: 4px 8px; border-radius: 7px; background: var(--line2, #F2EDE4); color: var(--ink2, #3D3552); }
.lbn-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line2, #F2EDE4); }
.lbn-sub { padding-top: 10px; border-top: 1px solid var(--line2, #F2EDE4); }
.lbn-sub > b { display: block; color: var(--ink, #1A1924); margin-bottom: 6px; }
.lbn-dels { display: grid; gap: 8px; }
.lbn-del { display: grid; gap: 8px; padding: 10px 12px; border: 1px solid var(--line, #E9E3D7); border-radius: 10px; }
.lbn-del > div:first-child { display: grid; gap: 2px; font-size: 13px; }
.lbn-del b { color: var(--ink, #1A1924); font-size: 14px; }
.lbn-del-a { display: flex; flex-wrap: wrap; gap: 8px; }
.lbn-muted { color: var(--muted, #6E6886); font-size: 13px; }
.lbn-warn { color: var(--err, #B9380B); font-weight: 600; }
.lbn-foot a { color: inherit; }
@media (max-width: 520px) { .lbn-row { flex-direction: column; align-items: stretch; } .lbn-row .lbn-btn { width: 100%; } }

/* Accueil de l'app pour une personne non connectée (22/10) : app-native.js, welcome(). */
#lbn-welcome { position: fixed; inset: 0; z-index: 2050; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; background: linear-gradient(165deg, #FCEEE4 0%, #F9F4EE 48%, #F2F0F5 100%); opacity: 0; transition: opacity .25s; }
#lbn-welcome.on { opacity: 1; }
#lbn-welcome.out { opacity: 0; pointer-events: none; }
#lbn-welcome::before { content: ''; position: absolute; right: -110px; top: -110px; width: 320px; height: 320px; background: radial-gradient(circle, rgba(232,98,26,.22), transparent 68%); pointer-events: none; }
.lbn-w-in { position: relative; z-index: 1; min-height: 100%; max-width: 460px; margin: 0 auto; display: flex; flex-direction: column; padding: calc(var(--top, 0px) + 30px) 22px calc(var(--bot, 0px) + 16px); }
.lbn-w-in::before { content: ''; position: absolute; right: 22px; top: calc(var(--top, 0px) + 30px); width: 46px; height: 46px; background: linear-gradient(#E8621A, #E8621A) 32px 0/14px 14px no-repeat, linear-gradient(rgba(232,98,26,.55), rgba(232,98,26,.55)) 16px 16px/14px 14px no-repeat, linear-gradient(rgba(232,98,26,.25), rgba(232,98,26,.25)) 0 32px/14px 14px no-repeat; opacity: .9; pointer-events: none; }
.lbn-w-brand { display: flex; align-items: center; gap: 12px; }
.lbn-w-brand img { width: 52px; height: 52px; border-radius: 14px; box-shadow: var(--sh-s, 0 2px 10px rgba(26,25,36,.09)); }
.lbn-w-brand b { font-family: var(--serif, Georgia, serif); font-size: 30px; line-height: 1; font-weight: 700; color: var(--ink, #1A1924); }
.lbn-w-brand em { font-style: italic; color: #E8621A; }
.lbn-w-t { margin: 34px 0 12px; font-family: var(--serif, Georgia, serif); font-size: 39px; line-height: 1.02; font-weight: 700; color: #16151F; }
.lbn-w-t em { display: block; font-style: italic; color: #E8621A; }
.lbn-w-s { margin: 0 0 22px; font-size: 16px; line-height: 1.45; color: var(--ink2, #3D3552); }
.lbn-w-list { list-style: none; margin: 0 0 24px; padding: 4px 16px; background: rgba(255,255,255,.88); border: 2px solid #F1C9AE; border-radius: 22px; }
.lbn-w-list li { display: flex; align-items: center; gap: 14px; padding: 12px 0; }
.lbn-w-list li + li { border-top: 1px solid var(--line2, #F2EDE4); }
.lbn-w-i { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--or-soft, #FDEBD5); color: #E8621A; }
.lbn-w-i svg { width: 22px; height: 22px; }
.lbn-w-list b { display: block; font-size: 16px; line-height: 1.25; color: var(--ink, #1A1924); }
.lbn-w-list small { display: block; margin-top: 1px; font-size: 14px; line-height: 1.35; color: var(--muted, #6E6886); }
.lbn-w-acts { position: relative; z-index: 1; margin-top: auto; display: grid; gap: 10px; }
.lbn-w-acts .btn { margin: 0; }
.lbn-w-acts .btn.primary { background: #E8621A; border-color: #E8621A; }
.lbn-w-skip { border: 0; background: none; padding: 12px 8px 6px; font: 600 15px/1.2 var(--font, system-ui, sans-serif); color: var(--ink2, #3D3552); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.lbn-w-mo { position: fixed; right: -26px; bottom: -30px; width: 120px; height: 120px; opacity: .35; pointer-events: none; z-index: 0; }
@media (max-height: 700px) { .lbn-w-in { padding-top: calc(var(--top, 0px) + 16px); } .lbn-w-in::before { top: calc(var(--top, 0px) + 16px); } .lbn-w-brand img { width: 44px; height: 44px; border-radius: 12px; } .lbn-w-brand b { font-size: 26px; } .lbn-w-t { margin: 18px 0 10px; font-size: 32px; } .lbn-w-s { margin-bottom: 14px; font-size: 15px; } .lbn-w-list { margin-bottom: 16px; } .lbn-w-list li { padding: 8px 0; } .lbn-w-i { width: 40px; height: 40px; } }
/* Encart de la carte pour un visiteur, version app (storeGate) */
.lbf-store .vgate .lbn-v-s { margin: 0 8px 14px; font-size: 15.5px; line-height: 1.45; color: var(--ink2, #3D3552); }
.lbf-store .vgate .vgate-alt { margin-top: 14px; }
/* 22/10 : dans l'app, pas de bandeau de chiffres (0 €, MDB, contacts) dans les formulaires d'inscription et de fiche. */
.lbf-store .ivmini { display: none !important; }
/* Accueil sur tablette et ordinateur : le bloc reste groupé au centre de l'écran. */
@media (min-width: 600px) { .lbn-w-in { justify-content: center; } .lbn-w-acts { margin-top: 6px; } }
