/* WoopyCaching — pages publiques (mobile-first) */
:root{
    --brown:#a07d70;--brown-dark:#7a5c50;--brown-light:#c4a99e;
    --pale:#e8ddd8;--parchment:#f5edd8;--text:#3d3028;--soft:#7a6b60;
    --leaf:#5f7a4e;--ink:#4c4c4c;
    --line:#ece3d7;--line-strong:#ddd0bf;--rad:6px;
}
.woopycaching-body{
    margin:0;font-family:'Catamaran',sans-serif;color:var(--text);
    line-height:1.6;-webkit-font-smoothing:antialiased;
    font-size:16px;overflow-x:hidden;
    position:relative;
    background:#f1e9dd;
    background-image:radial-gradient(circle at 18% 12%, #f7f0e4 0%, transparent 42%),
                     radial-gradient(circle at 84% 78%, #efe6d6 0%, transparent 46%);
    background-attachment:fixed;
}
.wc-page{position:relative;z-index:1;max-width:440px;margin:0 auto;background:#faf6ee;min-height:100vh;box-shadow:0 0 50px rgba(43,32,25,.10);}

/* ===== Fond glands animés plein écran (toutes les pages) ===== */
.wc-bg-page{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;pointer-events:none;overflow:hidden;}
.wc-bg-page-acorn{position:absolute;will-change:transform;}
@keyframes wc-bgfloat-a{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-46px) rotate(10deg)}}
@keyframes wc-bgfloat-b{0%,100%{transform:translateY(0) rotate(10deg)}50%{transform:translateY(-58px) rotate(-6deg)}}
@keyframes wc-bgfloat-c{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-40px) rotate(12deg)}}
@keyframes wc-bgfloat-d{0%,100%{transform:translateY(0) rotate(6deg)}50%{transform:translateY(-52px) rotate(-10deg)}}
@media(prefers-reduced-motion:reduce){.wc-bg-page-acorn{animation:none!important}}
@media(max-width:768px){.wc-bg-page-acorn:not(.wc-bg-mobile-top){display:none;}}
.wc-bg-mobile-top{display:none;}
@media(max-width:768px){.wc-bg-mobile-top{display:block;}}
.wc-bg-paths{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;}
@media(prefers-reduced-motion:reduce){.wc-bg-paths{display:none;}}
.wc-page *{box-sizing:border-box;}

.wc-topbar{padding:14px 20px;border-bottom:1px solid var(--line);font-size:14px;}
.wc-topbar a{color:var(--brown-dark);text-decoration:none;font-weight:700;}

/* célébration */
.wc-celebrate{background:#f5edd8;padding:24px 26px 20px;text-align:center;border-bottom:1px solid var(--line-strong);position:relative;overflow:hidden;}
.wc-ref{font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--brown);font-weight:800;}
.wc-stamp{width:84px;height:84px;margin:8px auto 0;animation:wcstamp .5s cubic-bezier(.3,1.4,.5,1) both;}
@keyframes wcstamp{0%{transform:scale(1.7) rotate(-14deg);opacity:0}60%{opacity:1}100%{transform:scale(1) rotate(-6deg);opacity:1}}
.wc-stamp-inner{width:84px;height:84px;border-radius:50%;border:2.5px solid var(--brown-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;letter-spacing:1px;color:var(--brown-dark);}
.wc-stamp-inner span{font-size:20px;}
.wc-bravo{font-family:'Caveat',cursive;font-size:46px;font-weight:700;color:var(--ink);letter-spacing:0;line-height:1.05;margin:6px 0 0;-webkit-text-stroke:0.6px var(--ink);text-stroke:0.6px var(--ink);}
.wc-cel-sub{font-size:15px;color:var(--brown-dark);font-weight:600;margin-top:4px;text-align:center;}
.wc-cel-sub-inner{position:relative;display:inline-block;}
.wc-info-btn{position:absolute;top:50%;right:-24px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border:1.5px solid var(--brown-dark) !important;border-radius:50%;background:#fff !important;color:var(--brown-dark) !important;font-size:11px;font-weight:800;font-family:'Catamaran',sans-serif;cursor:pointer;padding:0;line-height:1;}
.wc-info-btn:hover{background:var(--brown-dark) !important;color:#fff !important;}
.wc-info-bubble{position:relative;z-index:1;max-width:320px;margin:10px auto 0;padding:12px 15px;background:#f5edd8;border:1px solid #e0d5c5;border-radius:12px;font-size:12.5px;line-height:1.55;color:var(--ink);text-align:left;display:none;}
.wc-info-bubble.open{display:block;}
.wc-cache-name{font-family:'Caveat',cursive;font-size:30px;font-weight:700;color:var(--ink);line-height:1.05;margin-top:4px;}
.wc-cache-loc{font-size:12.5px;color:var(--soft);font-weight:700;letter-spacing:1.8px;text-transform:uppercase;margin-top:0;}
.wc-tags{display:flex;column-gap:7px;row-gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap;}
.wc-ref,.wc-stamp-zone,.wc-bravo,.wc-cel-sub,.wc-cache-name,.wc-cache-loc,.wc-tags{position:relative;z-index:1;}
.wc-tag{font-size:12.5px;font-weight:700;padding:5px 11px;border-radius:var(--rad);border:1px solid var(--line-strong);background:rgba(255,255,255,.55);color:var(--brown-dark);}
.wc-tag-lvl{display:inline-flex;align-items:center;gap:6px;}

/* sections */
.wc-sec{padding:24px 26px;border-bottom:1px solid var(--line);}
.wc-label{font-size:16px;letter-spacing:1.5px;text-transform:uppercase;color:var(--brown);font-weight:800;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.wc-label .wc-lbl-ic{font-size:17px;line-height:1;flex-shrink:0;letter-spacing:0;text-transform:none;}
.wc-label::after{content:"";flex:1;height:1px;background:var(--line);}
.wc-help-center{font-size:14px;color:var(--soft);text-align:center;}

/* story */
.wc-story{display:flex;gap:13px;align-items:flex-start;background:#fafaf9;border:1px solid var(--line-strong);border-radius:var(--rad);padding:15px;}
.wc-woopy{flex:0 0 38px;height:38px;border-radius:50%;background:var(--brown);color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;}
.wc-story-txt{font-size:15px;color:var(--text);line-height:1.5;}
.wc-by{display:block;font-size:12.5px;color:var(--brown);font-weight:800;letter-spacing:.5px;text-transform:uppercase;margin-top:7px;}

/* reward */
.wc-reward{background:#fff;border:1px solid var(--line-strong);border-radius:var(--rad);padding:20px;text-align:center;position:relative;overflow:hidden;}
.wc-reward > *:not(.wc-reward-float){position:relative;z-index:1;}
.wc-reward-float{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.wc-reward-float-acorn{position:absolute;bottom:0;opacity:0;will-change:transform,opacity;}
@keyframes wc-reward-floatup{0%{opacity:0;transform:translateY(0) translateX(0) rotate(0deg);}12%{opacity:.4;}80%{opacity:.35;}100%{opacity:0;transform:translateY(-160%) translateX(6px) rotate(16deg);}}
@media(prefers-reduced-motion:reduce){.wc-reward-float-acorn{animation:none!important;display:none!important;}}
.wc-reward-amt{font-size:46px;font-weight:900;color:var(--ink);line-height:.9;letter-spacing:-2px;}
.wc-reward-for{font-size:15px;color:var(--soft);font-weight:600;margin-top:6px;}
.wc-reward-cta{margin:16px 0 12px;text-align:center;}
.wc-fineprint{font-size:14px;color:var(--soft);}

/* buttons */
.wc-btn{display:inline-block;text-decoration:none;border:none;cursor:pointer;font-family:inherit;font-weight:700;font-size:15px;padding:13px 22px;border-radius:var(--rad);transition:transform .15s,background .15s;}
.wc-btn:active{transform:scale(.97);}
.wc-btn-primary{background:#a07d70;color:#fff;}
.wc-btn-primary:hover{background:#7a5c50;}

/* partner */
.wc-partner{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line-strong);border-radius:var(--rad);padding:15px;}
.wc-partner-ic{flex:0 0 44px;height:44px;border-radius:var(--rad);background:var(--parchment);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-size:20px;}
.wc-partner h4{font-size:16px;font-weight:800;color:var(--ink);margin:0;}
.wc-pdisc{margin-top:6px;font-size:14px;font-weight:800;color:var(--leaf);}

/* logbook */
.wc-log{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);transition:opacity .15s;}
.wc-log:last-child{border-bottom:none;}
.wc-log:hover{opacity:.7;}
.wc-av{flex:0 0 32px;height:32px;border-radius:var(--rad);background:var(--brown);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;text-transform:uppercase;}
.wc-who{font-weight:800;font-size:15px;color:var(--ink);}
.wc-msg{font-size:14px;color:var(--soft);margin-top:2px;line-height:1.45;}
.wc-recent{font-size:13.5px;color:var(--leaf);font-weight:700;margin-bottom:12px;}

/* bandeau titre (remplace l'ancienne photo du lieu, pour préserver le mystère) */
.wc-title-hero{position:relative;padding:34px 20px 26px;text-align:center;background:#f5edd8;overflow:hidden;}
.wc-title-nm{font-family:'Caveat',cursive;font-size:38px;font-weight:700;color:var(--ink);line-height:1.05;position:relative;z-index:1;}
.wc-title-lo{font-size:12.5px;color:var(--brown-dark);font-weight:700;letter-spacing:1.8px;text-transform:uppercase;margin-top:0;position:relative;z-index:1;}

.wc-status-row{display:flex;column-gap:8px;row-gap:10px;padding:16px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.wc-chip{font-size:13.0px;font-weight:700;padding:6px 11px;border-radius:var(--rad);border:1px solid var(--line-strong);background:#fff;color:var(--brown-dark);}
.wc-chip-lvl-plain{background:#fff;color:var(--ink);border-color:var(--line-strong);display:inline-flex;align-items:center;gap:6px;}
.wc-chip-ok{color:var(--leaf);border-color:#cfe0c4;background:#f3f8ef;}
.wc-chip-check{color:#c08a2e;border-color:#ecd9b0;background:#f7eed9;}
.wc-type-badge{font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:var(--rad);color:#fff;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1;}
.wc-type-nature{background:#5f7a4e;}
.wc-type-partner{background:#a07d70;}
.wc-type-unique{background:#c89b4a;}
.wc-archived-banner{display:flex;align-items:flex-start;gap:14px;background:#e7ede1;border-bottom:1px solid #cfe0c4;padding:16px 20px;}
.wc-archived-ic{width:36px;height:36px;border-radius:50%;background:#5f7a4e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;flex-shrink:0;}
.wc-archived-t{font-weight:800;font-size:15px;color:#3b5230;margin-bottom:2px;}
.wc-archived-s{font-size:14px;color:#4e6b3e;}
.wc-log-date{font-size:13.5px;color:var(--brown-dark);font-weight:400;}

/* hint */
.wc-hint-box{background:#fff;border:1px dashed var(--brown-light);border-radius:var(--rad);padding:14px 15px;}
.wc-hint{font-size:16px;color:var(--text);font-style:italic;}
.wc-zone-note{font-size:14px;color:var(--soft);margin-top:10px;}

/* teaser */
.wc-teaser{background:var(--parchment);color:var(--text);border:1.5px solid var(--line-strong);border-radius:var(--rad);padding:18px;}
.wc-teaser-t{font-size:16px;font-weight:800;color:var(--text);}
.wc-teaser-p{font-size:14px;color:var(--soft);margin-top:6px;line-height:1.5;}
.wc-teaser-row{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap;}
.wc-teaser-em{font-size:18px;font-weight:900;color:var(--brown-dark);}
.wc-teaser-lb{font-size:13.0px;color:var(--soft);margin-top:2px;}

/* foot */
.wc-foot{padding:22px 26px 30px;text-align:center;background:#f5edd8;border-top:1px solid var(--line-strong);}
.wc-leave{font-size:13.5px;color:var(--brown-dark);font-weight:600;}
.wc-report{font-size:13.5px;color:var(--soft);}
.wc-report a{color:var(--soft);}
.wc-sig{font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--brown-light);margin-top:12px;font-weight:700;}

/* message box */
.wc-msg-box{padding:60px 30px;text-align:center;}
.wc-msg-icon{font-size:48px;}
.wc-msg-box h1{font-size:22px;color:var(--ink);margin:16px 0 10px;}
.wc-msg-box p{font-size:14px;color:var(--soft);margin-bottom:24px;}

/* ===== Petits téléphones (< 360px) ===== */
@media (max-width: 360px){
    .wc-sec{ padding: 18px 16px; }
    .wc-celebrate{ padding: 22px 16px 20px; }
    .wc-carnet-head{ padding: 18px 16px 20px; }
    .wc-stats .wc-stat{ padding: 14px 8px; }
    .wc-stats .wc-stat-n{ font-size: 24px; }
    .wc-teaser-em{ font-size: 26px; }
    .wc-btn{ font-size: 15px; padding: 13px 20px; }
}

/* ===== Tablette / grand écran ===== */
@media (min-width: 720px){
    .woopycaching-body{ padding: 30px 0; }
    .wc-page{
        max-width: 720px;
        border-radius: 12px;
        overflow: hidden;
    }
    .wc-celebrate{ padding: 44px 40px 36px; }
    .wc-bravo{ font-size: 58px; }
    .wc-stamp, .wc-stamp-inner{ width: 100px; height: 100px; }
    .wc-stamp-inner span{ font-size: 24px; }
    .wc-cache-name{ font-size: 33px; }
    .wc-sec{ padding: 28px 40px; }
    .wc-title-hero{ padding: 44px 40px 34px; }
    .wc-title-nm{ font-size: 46px; }
    .wc-carnet-head{ padding: 28px 40px 26px; }
    .wc-stats .wc-stat{ padding: 20px 16px; }
    .wc-invite{ padding: 56px 48px 40px; }
    .wc-reward-amt{ font-size: 56px; }
    .wc-teaser-row{ justify-content: flex-start; gap: 40px; flex-wrap: nowrap; }
    .wc-nav-bar{ max-width: 560px; }
}

@media (min-width: 1000px){
    .wc-page{ max-width: 800px; }
    .wc-sec{ padding: 30px 60px; }
    .wc-celebrate{ padding: 50px 60px 40px; }
    .wc-carnet-head{ padding: 30px 60px; }
    .wc-invite{ padding: 60px 72px 48px; }
    .wc-zone-map{ height: 240px; }
}

/* ===== Code coupon débloqué ===== */
.wc-code-row{ margin-top:16px; display:flex; justify-content:center; }
.wc-code{ font-weight:800; letter-spacing:2px; color:var(--ink); font-size:20px;
    background:#fff; border:1.5px dashed var(--brown-light); border-radius:var(--rad); padding:12px 20px; }
.wc-alert{ background:#f6e3de; color:#b25542; border-radius:var(--rad); padding:12px 14px; font-size:14px; margin-bottom:14px; }

/* ===== Formulaire de claim ===== */
.wc-claim{ margin-top:16px; }
.wc-claim-intro{ font-size:15px; color:var(--soft); margin-bottom:14px; text-align:center; }
.wc-claim-form{ display:flex; flex-direction:column; gap:10px; }
.wc-claim-form input{ width:100%; border:1px solid var(--line-strong); border-radius:var(--rad);
    padding:12px; font-family:inherit; font-size:14px; box-sizing:border-box; }
.wc-btn-full{ width:100%; text-align:center; }
.wc-claim-switch{ text-align:center; font-size:14px; color:var(--soft); margin-top:12px; }
.wc-claim-switch a{ color:var(--brown-dark); font-weight:700; }

/* ===== Carnet ===== */
.wc-carnet-head{ background:#f5edd8; padding:22px 26px 24px; border-bottom:1px solid var(--line-strong); }
.wc-carnet-who{ display:flex; align-items:center; gap:14px; margin-top:12px; }
.wc-carnet-av{ flex:0 0 58px; width:58px; height:58px; border-radius:50%; background:#fff;
    border:2px solid var(--brown); display:flex; align-items:center; justify-content:center; font-size:26px; }
.wc-carnet-who h1{ font-size:21px; font-weight:800; color:var(--ink); margin:0; }
.wc-carnet-rank{ font-size:14px; color:var(--brown-dark); font-weight:700; margin-top:3px; }
.wc-prog{ margin-top:18px; background:#fff; border:1px solid var(--line-strong); border-radius:var(--rad); padding:15px; }
.wc-prog-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:11px; }
.wc-prog-goal{ font-size:14.5px; font-weight:700; color:var(--ink); }
.wc-prog-cnt{ font-size:13.5px; font-weight:800; color:var(--brown); background:var(--parchment); padding:3px 9px; border-radius:20px; }
.wc-track{ height:10px; background:var(--g1,#e5e5e5); border-radius:6px; overflow:hidden; }
.wc-track i{ display:block; height:100%; background:linear-gradient(90deg,var(--brown-light),var(--brown)); border-radius:6px; }
.wc-prog-left{ font-size:13.5px; color:var(--soft); margin-top:9px; }

.wc-stats{ display:grid; grid-template-columns:repeat(2,1fr); border-bottom:1px solid var(--line); }
.wc-stat{ padding:15px 8px; text-align:center; border-right:1px solid var(--line); }
.wc-stat:last-child{ border-right:none; }
.wc-stat-n{ font-size:23px; font-weight:900; color:var(--ink); line-height:1; }
.wc-stat-l{ font-size:12.5px; color:var(--soft); font-weight:600; margin-top:4px; }

.wc-found{ display:flex; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); align-items:center; transition:opacity .15s; }
.wc-found:last-of-type{ border-bottom:none; }
.wc-found:hover{ opacity:.7; }
.wc-found-ic{ flex:0 0 40px; height:40px; border-radius:var(--rad); background:var(--parchment);
    border:1px solid var(--line-strong); display:flex; align-items:center; justify-content:center; font-size:19px; }
.wc-found-t{ font-size:15px; font-weight:800; color:var(--ink); }
.wc-found-d{ font-size:14px; color:var(--soft); margin-top:1px; }
.wc-found-r{ margin-left:auto; font-size:13.5px; font-weight:700; color:var(--brown-dark); }
.wc-carnet-cta{ padding:20px 26px 30px; }

/* ===== Bouton copier le code ===== */
.wc-code-row{ align-items:stretch; gap:0; border:1.5px dashed var(--brown-light); border-radius:var(--rad); overflow:hidden; max-width:340px; margin:16px auto 0; }
.wc-code{ border:none !important; border-radius:0 !important; flex:1; display:flex; align-items:center; justify-content:center; padding:13px 16px; }
.wc-copy-btn{ border:none; background:#5f7a4e; color:#fff; font-family:inherit; font-weight:700;
    font-size:14px; padding:0 18px; cursor:pointer; transition:background .15s; }
.wc-copy-btn:hover{ background:#3b5230; }
.wc-copy-btn.wc-copied{ background:#3b5230; }

/* ===== Partenaire — explication ===== */
.wc-partner-how{ font-size:14px; color:var(--soft); margin:8px 0 0; line-height:1.5; }
.wc-partner-link{ display:inline-block; margin-top:8px; font-size:14px; font-weight:700; color:var(--brown-dark); text-decoration:none; }

/* ===== Formulaire "laisser un mot" ===== */
.wc-note-form{ margin-top:16px; display:flex; flex-direction:column; gap:10px; }
.wc-note-form textarea{ width:100%; border:1px solid var(--line-strong); border-radius:var(--rad);
    padding:12px; font-family:inherit; font-size:14px; resize:none; box-sizing:border-box; }

/* ===== Message flash en haut ===== */
.wc-flash-top{ background:#f0f6e9; color:#5f7a4e; border-bottom:1px solid #cfe0c4;
    padding:14px 20px; font-size:14px; font-weight:600; text-align:center; }

/* ===== En pratique ===== */
.wc-practical{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.wc-prat-item{ border:1px solid var(--line); border-radius:var(--rad); padding:12px; }
.wc-prat-k{ font-size:12.5px; color:var(--soft); font-weight:600; text-transform:uppercase; letter-spacing:1px; }
.wc-prat-v{ font-size:15px; color:var(--ink); font-weight:700; margin-top:4px; }

/* ===== Mini-carte de zone ===== */
.wc-zone-map{ height:200px; border:1px solid var(--line-strong); border-radius:var(--rad); margin-top:14px; }

/* ===== Prochain palier (page scan) ===== */
.wc-tier{ background:#fafaf9; border:1px solid var(--line-strong); border-radius:var(--rad); padding:15px; }
.wc-tier-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:11px; }
.wc-tier-t{ font-size:14px; font-weight:700; color:var(--ink); }
.wc-tier-c{ font-size:14px; font-weight:800; color:var(--brown); background:#fff; padding:3px 9px; border-radius:20px; }
.wc-tier-x{ font-size:14px; color:var(--soft); margin-top:9px; }

/* ===== Bouton partage ===== */
.wc-share-sec{ text-align:center; }
.wc-btn-share{ background:#4c4c4c; color:#f5edd8; }
.wc-btn-share:hover{ background:#7a5c50; transform:translateY(-1px); }

/* ===== Pins (carnet) ===== */
.wc-pins-intro{ font-size:14px; color:var(--soft); margin-bottom:15px; line-height:1.5; }
.wc-pins{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.wc-pin{ text-align:center; }
.wc-pin-disc{ width:100%; aspect-ratio:1; border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-size:24px; border:2px solid var(--line-strong); background:var(--g3,#f9f9f9); color:var(--line-strong); }
.wc-pin-got .wc-pin-disc{ border-color:var(--brown); background:var(--parchment); color:var(--brown-dark); }
.wc-pin-next .wc-pin-disc{ border-style:dashed; }
.wc-pin-myst .wc-pin-disc{ border-style:dashed; color:var(--brown-light); }
.wc-pin-n{ font-size:12.5px; font-weight:700; color:var(--text); margin-top:6px; line-height:1.15; }
.wc-pin-next .wc-pin-n, .wc-pin-myst .wc-pin-n{ color:var(--soft); }
.wc-pin-lk{ font-size:12px; color:var(--soft); margin-top:3px; font-weight:600; }

/* bloc signalement (page publique) — rendu visible */
.wc-report-box{ background:#faf2dd; border:1px solid #e7d49a; border-radius:6px; padding:16px 18px; margin-bottom:14px; }
.wc-report-q{ font-weight:700; color:#7a5c50; font-size:15px; }
.wc-report-txt{ font-size:14px; color:#7a6b60; margin:4px 0 12px; }
.wc-report-btn{ background:#7a1f2b; color:#fff; border:none; border-radius:6px; padding:10px 18px; font-size:14px; font-weight:600; cursor:pointer; font-family:inherit; }
.wc-report-btn:hover{ background:#5e1721; }
.wc-report-btn:disabled{ opacity:.6; cursor:default; }
.wc-report-done{ background:#eef3e7; color:#3b5230; border-radius:6px; padding:12px 14px; font-size:14px; font-weight:600; }

/* bouton commander un pin (carnet) */
.wc-pin-buy { display:inline-block; margin-top:6px; font-size:12.5px; font-weight:700; color:#fff; background:#a07d70; padding:4px 10px; border-radius:6px; text-decoration:none; }
.wc-pin-buy:hover { background:#7a5c50; }

/* avis pin verrouillé (carnet) */
.wc-notice-locked { background:#faf2dd; border:1px solid #e7d49a; color:#7a5c50; border-radius:6px; padding:12px 16px; margin-bottom:16px; font-weight:600; }

/* ===== Preuve animée anti-capture (rabais en magasin) ===== */
.wc-proof { background:linear-gradient(160deg,#7a5c50,#a07d70); border-radius:6px; padding:26px 22px; text-align:center; color:#f5edd8; position:relative; overflow:hidden; }
.wc-proof-float{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.wc-proof-float-acorn{position:absolute;bottom:0;opacity:0;filter:brightness(0) invert(1);animation-name:wc-proof-floatup;animation-timing-function:linear;animation-iteration-count:infinite;}
@keyframes wc-proof-floatup{0%{opacity:0;transform:translateY(0) translateX(0) rotate(0deg);}12%{opacity:.22;}90%{opacity:.2;}100%{opacity:0;transform:translateY(-320%) translateX(10px) rotate(20deg);}}
.wc-proof-amt { font-size:44px; font-weight:700; line-height:1; position:relative; }
.wc-proof-for { font-size:15px; margin-top:6px; color:#f0e4d6; position:relative; }
.wc-proof-stamp { margin:16px 0 8px; position:relative; }
.wc-proof-acorn { display:inline-block; animation:wcBob 2s ease-in-out infinite; }
@keyframes wcBob { 0%,100%{transform:translateY(0) rotate(-4deg)} 50%{transform:translateY(-6px) rotate(4deg)} }
.wc-proof-name { font-size:18px; font-weight:700; position:relative; }
.wc-proof-live { display:inline-flex; align-items:center; gap:8px; margin-top:10px; background:rgba(0,0,0,.18); padding:6px 14px; border-radius:6px; font-size:20px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:1px; position:relative; }
.wc-proof-dot { width:10px; height:10px; border-radius:50%; background:#7CFC9B; box-shadow:0 0 0 0 rgba(124,252,155,.7); animation:wcLive 1.4s ease-out infinite; }
@keyframes wcLive { 0%{box-shadow:0 0 0 0 rgba(124,252,155,.7)} 100%{box-shadow:0 0 0 10px rgba(124,252,155,0)} }
.wc-proof-note { font-size:13.5px; color:#ecdfd2; margin-top:14px; line-height:1.4; position:relative; }

/* encart "crée ton carnet" plus visible — fond vert clair pour le différencier de la récompense */
.wc-claim-banner { display:flex; align-items:center; gap:12px; background:#eef3e7; border:1px solid #cfe0bb; border-radius:6px; padding:14px 16px; margin:18px 0 16px; font-size:15px; line-height:1.45; color:#3b5230; }
.wc-claim-banner-ic { flex-shrink:0; }
/* case opt-in newsletter — contrainte pour ne pas déborder */
.wc-news-optin { display:flex; align-items:flex-start; gap:8px; width:100%; box-sizing:border-box; font-size:14px; color:#7a6b60; margin:10px 0; line-height:1.4; cursor:pointer; text-align:left; }
.wc-news-optin input { margin:2px 0 0; flex:0 0 auto; width:16px; height:16px; }
.wc-news-optin span, .wc-news-optin { word-break:normal; }
/* hint connexion logbook */
.wc-log-hint { margin-top:14px; font-size:14px; color:#7a6b60; text-align:center; background:#faf6ea; border-radius:6px; padding:10px 14px; }
.wc-log-hint a { color:#a07d70; font-weight:600; }
/* bouton "Voir plus" logbook */
.wc-log-more-btn{display:block;width:100%;margin-top:10px;padding:10px 14px;background:none;border:1px solid var(--line-strong);border-radius:var(--rad);color:var(--brown);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,color .15s;text-align:center;}
.wc-log-more-btn:hover{background:var(--parchment);color:var(--brown-dark);}
/* preuve animée : offre en texte libre (plus petite que le gros chiffre) */
.wc-proof-amt.wc-proof-text { font-size:24px; line-height:1.25; }

/* bouton "j'utilise mon offre" + état utilisée (preuve magasin) */
.wc-proof-use-btn { margin-top:14px; background:#f5edd8; color:#7a5c50; border:none; border-radius:6px; padding:11px 20px; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit; position:relative; }
.wc-proof-use-btn:hover { background:#fff; }
.wc-proof-use-btn:disabled { opacity:.6; cursor:default; }
.wc-proof-used { margin-top:14px; font-size:15px; font-weight:700; color:#f5edd8; background:rgba(0,0,0,.22); border-radius:6px; padding:10px 16px; position:relative; }

/* ===== Glands décoratifs flottants (fond celebration) ===== */
.wc-stamp-glow{ position:absolute; top:50%; left:50%; width:220%; height:220%; background:repeating-conic-gradient(from 0deg, rgba(200,155,74,.11) 0deg 5deg, transparent 5deg 36deg); -webkit-mask-image:radial-gradient(circle, rgba(0,0,0,.9) 0%, rgba(0,0,0,0) 62%); mask-image:radial-gradient(circle, rgba(0,0,0,.9) 0%, rgba(0,0,0,0) 62%); animation:wc-glow-spin 46s linear infinite; pointer-events:none; }
@keyframes wc-glow-spin{ from{ transform:translate(-50%,-50%) rotate(0deg); } to{ transform:translate(-50%,-50%) rotate(360deg); } }
@media(prefers-reduced-motion:reduce){ .wc-stamp-glow{ animation:none!important; } }
.wc-bg-acorns{ position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.wc-bg-acorn{ position:absolute; color:#b0aaa3; }
@keyframes wc-float-a{0%,100%{transform:translateY(0) rotate(-6deg) scale(1)}50%{transform:translateY(-65px) rotate(9deg) scale(1.11)}}
@keyframes wc-float-b{0%,100%{transform:translateY(0) rotate(12deg) scale(1)}50%{transform:translateY(-78px) rotate(-5deg) scale(.89)}}
@keyframes wc-float-c{0%,100%{transform:translateY(0) rotate(-2deg) scale(1)}50%{transform:translateY(-55px) rotate(14deg) scale(1.08)}}
@keyframes wc-float-d{0%,100%{transform:translateY(0) rotate(-14deg) scale(1)}50%{transform:translateY(-88px) rotate(4deg) scale(.92)}}
@keyframes wc-float-e{0%,100%{transform:translateY(0) rotate(7deg) scale(1)}50%{transform:translateY(-60px) rotate(-11deg) scale(1.06)}}
@keyframes wc-float-f{0%,100%{transform:translateY(0) rotate(2deg) scale(1)}50%{transform:translateY(-72px) rotate(10deg) scale(.95)}}
@media(prefers-reduced-motion:reduce){.wc-bg-acorn{animation:none!important}}

/* ===== Barre de navigation du jeu (bottom tab bar flottant) ===== */
.wc-page{ padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
.wc-nav-bar{
    position:fixed;
    bottom:calc(10px + env(safe-area-inset-bottom,0px));
    left:10px; right:10px;
    max-width:560px; margin:0 auto;
    display:flex;
    background:#fff;
    border-radius:20px;
    box-shadow:0 6px 28px rgba(63,42,28,.14), 0 1px 4px rgba(63,42,28,.06);
    z-index:200;
}
.wc-nav-item{
    flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:10px 2px 12px; text-decoration:none; color:#c4a99e; gap:5px; transition:color .15s;
}
.wc-nav-item:first-child{ border-radius:20px 0 0 20px; }
.wc-nav-item:last-child{ border-radius:0 20px 20px 0; }
.wc-nav-item:hover{ color:#a07d70; background:rgba(160,125,112,.04); }
.wc-nav-active{ color:#a07d70!important; }
.wc-nav-ic{ width:20px; height:20px; display:block; transition:transform .2s; flex-shrink:0; }
.wc-nav-active .wc-nav-ic{ transform:scale(1.1); }
.wc-nav-lb{ font-size:10px; font-weight:700; letter-spacing:.2px; text-transform:uppercase; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }

/* ===== Étapes comment trouver la cache ===== */
.wc-steps{ display:flex; flex-direction:column; gap:16px; }
.wc-step{ display:flex; align-items:flex-start; gap:14px; }
.wc-step-n{ flex:0 0 30px; height:30px; border-radius:50%; background:#a07d70; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:14px; flex-shrink:0; margin-top:2px; }
.wc-step-t{ font-weight:700; font-size:15px; color:#3d3028; margin-bottom:3px; }
.wc-step-p{ font-size:14px; color:#7a6b60; line-height:1.5; }

/* ===== Page invitation carnet (non connecté) ===== */
.wc-invite{ padding:44px 26px 34px; text-align:center; }
.wc-invite-ic{ font-size:60px; margin-bottom:18px; display:block; animation:wcstamp .5s cubic-bezier(.3,1.4,.5,1) both; }
@keyframes wcstamp{ from{transform:scale(0) rotate(-12deg);opacity:0} to{transform:scale(1) rotate(0);opacity:1} }
.wc-invite-t{ font-family:'Caveat',cursive; font-size:36px; font-weight:700; color:#3d3028; letter-spacing:0; margin:0 0 14px; }
.wc-invite-p{ font-size:16px; color:#7a6b60; line-height:1.55; margin:0 0 28px; }
.wc-invite-perks{ list-style:none; margin:0 0 32px; padding:0; text-align:left; display:flex; flex-direction:column; gap:10px; }
.wc-invite-perks li{ display:flex; align-items:center; gap:12px; font-size:15px; color:#3d3028; font-weight:600; background:#fafaf9; border:1px solid #ece3d7; border-radius:8px; padding:12px 14px; }
.wc-invite-perks li span{ font-size:22px; flex-shrink:0; }
.wc-invite-login{ font-size:14px; color:#7a6b60; margin-top:16px; }
.wc-invite-login a{ color:#a07d70; font-weight:700; text-decoration:none; }

/* ===== Moment du scan : flash, impact, jaillissement de confettis ===== */
.wc-stamp-zone{position:relative;min-height:96px;}
.wc-stamp-flash{position:absolute;inset:-20px;background:#e7ede1;opacity:0;pointer-events:none;border-radius:16px;}
.wc-stamp-flash.go{animation:wc-flashfade .5s ease-out;}
@keyframes wc-flashfade{0%{opacity:.85}100%{opacity:0}}
.wc-stamp-ink{position:absolute;left:50%;top:54px;width:8px;height:8px;border-radius:50%;background:var(--brown-dark);opacity:0;pointer-events:none;z-index:1;}
.wc-stamp-ink.go{animation:wc-inkspread .6s ease-out forwards;}
@keyframes wc-inkspread{0%{opacity:.55;transform:translate(-50%,-50%) scale(0);}60%{opacity:.14;transform:translate(-50%,-50%) scale(11);}100%{opacity:0;transform:translate(-50%,-50%) scale(13);}}
.wc-confetti-layer{position:absolute;left:50%;top:54px;width:0;height:0;pointer-events:none;z-index:2;}
.wc-confetti-piece{position:absolute;left:0;top:0;opacity:0;will-change:transform,opacity;}
@media(prefers-reduced-motion:reduce){.wc-stamp-flash,.wc-stamp-ink,.wc-confetti-piece{animation:none!important;}}

/* ===== Barre de progression animée ===== */
.wc-track-wrap{position:relative;}
.wc-track i{transition:none;}
.wc-float-acorns{position:absolute;left:0;top:-8px;width:100%;height:20px;pointer-events:none;overflow:visible;}
.wc-float-acorn{position:absolute;bottom:0;opacity:0;will-change:transform,opacity;}
.wc-float-acorn.go{animation:wc-floatup 1.7s ease-out forwards;}
@keyframes wc-floatup{0%{opacity:0;transform:translateY(4px) scale(.6) rotate(0deg);}15%{opacity:1;}78%{opacity:.85;}100%{opacity:0;transform:translateY(-24px) scale(.95) rotate(14deg);}}
@media(prefers-reduced-motion:reduce){.wc-float-acorn,.wc-proof-float-acorn{animation:none!important;display:none!important;}.wc-end-acorn,.wc-pin-flip-inner{animation:none!important;transition:none!important;}.wc-pin-flip.flipped .wc-pin-flip-inner{transform:rotateY(180deg);}}
.wc-end-acorn{position:absolute;top:50%;left:0%;width:22px;height:24px;transform:translate(-50%,-50%) scale(0);opacity:0;}
.wc-end-acorn.show{opacity:1;transform:translate(-50%,-50%) scale(1);transition:opacity .3s ease,transform .4s cubic-bezier(.3,1.6,.4,1);}
.wc-end-acorn-bob{display:block;animation:wc-bob 2.6s ease-in-out .4s infinite;}
@keyframes wc-bob{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-4px) rotate(2deg);}}
@media(prefers-reduced-motion:reduce){.wc-end-acorn-bob{animation:none!important;}}
.wc-prog-burst{position:absolute;left:0;top:0;width:100%;height:11px;pointer-events:none;z-index:5;}

/* ===== Pins flip 3D ===== */
.wc-pin{position:relative;}
.wc-pin-flip{width:100%;aspect-ratio:1;perspective:600px;}
.wc-pin-flip-inner{position:relative;width:100%;height:100%;transition:transform .7s cubic-bezier(.4,.2,.2,1);transform-style:preserve-3d;}
.wc-pin-flip.flipped .wc-pin-flip-inner{transform:rotateY(180deg);}
.wc-pin-face{position:absolute;inset:0;border-radius:50%;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;border:2px solid;}
.wc-pin-face-back{background:#f5f5f0;border-color:#ddd;color:#bbb;font-size:18px;}
.wc-pin-face-front{background:var(--parchment);border-color:var(--brown);color:var(--brown-dark);transform:rotateY(180deg);font-size:22px;}
.wc-pin-face-front.has-img{background:transparent;border:none;border-radius:0;}
.wc-pin-got .wc-pin-face-front{box-shadow:0 0 0 3px rgba(160,125,112,.15);}
.wc-pin-got .wc-pin-face-front.has-img{box-shadow:none;}
.wc-pin-next .wc-pin-face-back{border-style:dashed;border-color:#ccc;}
.wc-pin-myst .wc-pin-face-back{border-style:dashed;border-color:var(--brown-light);color:var(--brown-light);}
.wc-pin-new-badge{position:absolute;top:-5px;right:2px;background:#c89b4a;color:#fff;font-size:9px;font-weight:800;padding:2px 5px;border-radius:8px;opacity:0;transform:scale(0);z-index:20;letter-spacing:.3px;}
.wc-pin-new-badge.show{opacity:1;transform:scale(1);transition:all .3s cubic-bezier(.3,1.6,.4,1) .65s;}
.wc-pin-burst{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:5;}
/* (règle reduced-motion consolidée plus haut avec .wc-float-acorn) */
