/* Shared NFC community layer, loaded after the existing retro themes. */
.groovy-nfc-page [hidden] { display:none !important; }
.groovy-nfc-page { --community-ink:#3b2517; --community-line:#d9bc91; }
.groovy-nfc-page .nfc-bof-hero { max-width:310px; margin:12px auto 0; border-radius:22px; }
.groovy-nfc-page .acte1 { min-height:0; height:auto; padding-bottom:24px; }
.groovy-nfc-page .acte2,.groovy-nfc-page .acte3,.nfc-bonus-wrap { max-width:550px; padding-left:20px; padding-right:20px; margin-left:auto; margin-right:auto; }
.groovy-nfc-page .chien-block { margin:12px auto 22px; }
.groovy-nfc-page .chien-bubble { padding:10px 16px; border-radius:18px; }
.groovy-nfc-page .chien-bubble p { font-size:18px; line-height:1.4; }
.groovy-nfc-page .chien-avatar { margin-top:9px; }
.groovy-nfc-page .write-question { font-size:clamp(24px,6vw,30px); margin-bottom:16px; }
.groovy-nfc-page .write-textarea { min-height:128px; }
.groovy-nfc-page .connected-note { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; margin:25px 0 0; font:500 14px/1.4 'Barlow Condensed',sans-serif; color:#6a4d32; }
.session-ready { display:inline-flex; align-items:center; gap:6px; }
.session-ready svg { width:18px; height:18px; color:#3d604d; }
.groovy-nfc-page .nfc-text-button { padding:10px 2px; min-height:44px; background:none; border:0; color:#68422b; font:600 15px/1.3 'Barlow Condensed',sans-serif; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.groovy-nfc-page .nfc-text-button:hover { color:#a44522; }
.groovy-nfc-page .nfc-text-button:disabled { opacity:.5; cursor:wait; }
.groovy-nfc-page .nfc-feedback { margin:8px 0; font:500 15px/1.4 'Barlow Condensed',sans-serif; color:#704228; }
.nfc-feedback:empty { display:none; }
.groovy-nfc-page .ack-wrap { padding:14px; border-radius:14px; background:#e1eadb; margin-top:16px; }
.groovy-nfc-page .ack-msg { font:500 17px/1.4 'Barlow Condensed',sans-serif; color:#34503c; }
.groovy-nfc-page .ack-dot { animation:none; background:#496a50; }
.groovy-nfc-page .ack-decline { display:none; }
.groovy-nfc-page .acte3 { padding-top:24px; padding-bottom:12px; }
.groovy-nfc-page .acte3 > .divider-wrap { display:none; }
.groovy-nfc-page .counter-block { margin-bottom:20px; }
.community-heading { margin:4px 0 20px; }
.community-eyebrow { font:600 12px/1.4 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.12em; color:#866447; }
.community-heading h2 { margin:7px 0 8px; font:900 clamp(25px,6.5vw,31px)/1.15 'Fraunces',Georgia,serif; letter-spacing:-.035em; color:var(--community-ink); }
.community-heading p { margin:0; font:500 17px/1.4 'Barlow Condensed',sans-serif; color:#755436; }
.nfc-tabs { display:flex; gap:6px; padding:5px; border:1px solid var(--community-line); border-radius:999px; background:#e9d8b780; margin-bottom:18px; }
.nfc-tabs [role=tab] { flex:1; min-height:44px; padding:10px 12px; border:0; border-radius:999px; background:transparent; font:700 16px/1.2 'Barlow Condensed',sans-serif; color:#67472d; cursor:pointer; }
.nfc-tabs [aria-selected=true] { background:#3d2518; color:#fff0ce; box-shadow:0 2px 3px #45240e1a; }
.groovy-nfc-page .list-block { opacity:1; transform:none; margin:0 0 20px; }
.list-block .list-header { display:none; }
.groovy-nfc-page .bof-card { display:flex; flex-direction:column; align-items:stretch; gap:12px; padding:19px 20px 13px; border-radius:19px; border:1px solid var(--community-line); background:#fff7e6b8; box-shadow:0 3px 0 #d6b98d45; margin-bottom:12px; animation:none; }
.groovy-nfc-page .bof-quote { margin:0; font:500 20px/1.45 'Barlow Condensed',sans-serif; color:var(--community-ink); }
.groovy-nfc-page .bof-like-btn { display:inline-flex; align-items:center; align-self:flex-start; gap:8px; min-height:44px; border:1px solid #d8bc9680; background:#f9ebd4; border-radius:999px; padding:8px 12px; font:600 14px/1.2 'Barlow Condensed',sans-serif; color:#79583d; cursor:pointer; transition:background .15s,color .15s; }
.groovy-nfc-page .bof-like-btn:hover { transform:none; color:#ac492b; background:#f8dfca; }
.groovy-nfc-page .bof-like-btn svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; }
.groovy-nfc-page .bof-like-btn.liked { color:#9d3d26; background:#f8dfca; border-color:#dca98c; }
.groovy-nfc-page .bof-like-btn.liked svg { fill:currentColor; animation:nfcHeart .25s ease-out; }
.groovy-nfc-page .bof-like-btn strong { min-width:13px; text-align:center; border-left:1px solid #b58d6b70; padding-left:9px; font-weight:700; }
.groovy-nfc-page .bof-like-btn:disabled { cursor:wait; opacity:.7; }
@keyframes nfcHeart { 50% { transform:scale(1.22); } }
.groovy-nfc-page .voir-plus { min-height:44px; font:600 15px/1.3 'Barlow Condensed',sans-serif; text-transform:none; letter-spacing:0; color:#704c30; padding:8px; }
.groovy-nfc-page .nfc-empty { margin:0; padding:25px 22px 16px; text-align:center; background:#fff6e1a0; border:1px dashed #cbb08c; border-radius:20px; font:500 18px/1.45 'Barlow Condensed',sans-serif; color:#755436; }
.nfc-empty > svg { display:block; width:28px; height:28px; fill:none; stroke:#b28964; stroke-width:1.2; margin:0 auto 13px; }
.nfc-empty strong { display:block; color:#513521; font-weight:600; }
.nfc-empty p { margin:5px auto; max-width:270px; }
.my-bof-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:9px; }
.my-bof-heading .section-label { margin:0; font:700 15px/1.3 'Barlow Condensed',sans-serif; letter-spacing:0; color:#5a3e27; }
.bof-status { padding:5px 10px; border-radius:999px; background:#f5dfac; color:#695022; font:600 13px/1.2 'Barlow Condensed',sans-serif; }
.bof-status[data-status=approved] { background:#dce8d4; color:#405637; }
.bof-status[data-status=rejected] { background:#edd8cf; color:#7a4236; }
.groovy-nfc-page .my-bof-wrap { margin:0 0 28px; }
.groovy-nfc-page .my-bof-card { flex-direction:column; gap:5px; border:1px solid #cba46c; border-radius:17px; background:#ffe8b8a0; box-shadow:none; }
.groovy-nfc-page .my-bof-card .nfc-text-button { align-self:flex-end; }
.groovy-nfc-page .my-bof-text { font:500 19px/1.45 'Barlow Condensed',sans-serif; }
.nfc-bonus-wrap { padding-top:4px; }
.groovy-nfc-page .nfc-bof-bonus { margin:20px 0 28px; padding-top:24px; border-top:1px solid #cfb28c; }
.groovy-nfc-page .nfc-bof-bonus h2 { font-size:23px; }
.groovy-nfc-page .nfc-bof-flip { width:min(65%,230px); }
.groovy-nfc-page .auth-modal-card { max-height:calc(100dvh - 40px); overflow-y:auto; }
.groovy-nfc-page .auth-modal-sub,.groovy-nfc-page .auth-disclaimer { font:500 16px/1.45 'Barlow Condensed',sans-serif; color:#705038; }
.groovy-nfc-page :is(button,[role=tabpanel],a):focus-visible { outline:3px solid #bc591f; outline-offset:4px; }
@media(max-width:600px) {
  .groovy-nfc-page .nfc-bof-hero { max-width:230px; margin-top:10px; }
  .groovy-nfc-page .acte2 { padding-top:4px; }
  .groovy-nfc-page .chien-block { margin:10px auto 20px; }
  .groovy-nfc-page .write-question { font-size:25px; }
  .groovy-nfc-page .acte3 { padding-top:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .groovy-nfc-page *, .groovy-nfc-page *::before, .groovy-nfc-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
