/* WoopyCaching — pages publiques (mobile-first) */
:root{
    /* Palette conçue en clair uniquement : empêche le navigateur d'inverser
       automatiquement les couleurs en mode sombre forcé (rendu délavé/illisible). */
    color-scheme: light only;
    --brown:#a07d70;--brown-dark:#7a5c50;--brown-light:#c4a99e;
    --pale:#e8ddd8;--parchment:#f5edd8;--text:#3d3028;--soft:#6b5d52;
    --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:#e4d8c5;   /* pourtour sur grand écran : un cran plus sombre que la page (#efe6d7) */
    background-image:radial-gradient(circle at 18% 12%, #ebe1d0 0%, transparent 42%),
                     radial-gradient(circle at 84% 78%, #dfd2bd 0%, transparent 46%);
    background-attachment:fixed;
}
.wc-page{position:relative;z-index:1;max-width:440px;margin:0 auto;background:#efe6d7;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:15.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:#fff;border:1.5px solid var(--brown-light);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:1.5px solid var(--brown-light);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:1.5px solid var(--brown-light);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-ic-logo{background:#fff;}
.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-log-date{font-size:12px;color:var(--soft);margin-left:6px;}
.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-back-link{position:relative;z-index:1;display:inline-block;font-size:13px;font-weight:700;color:#7a5c50;text-decoration:none;margin-bottom:14px;}
.wc-back-link:hover{text-decoration:underline;}
.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-permanent-note{display:flex;align-items:center;gap:8px;margin:12px 20px 0;padding:10px 13px;background:#fbeeec;border-radius:var(--rad);font-size:15.5px;color:#8a4438;line-height:1.4;font-weight:600;text-align:left;}
.wc-season-warn{display:flex;flex-direction:column;gap:3px;margin:12px 20px 0;padding:11px 14px;background:#fdf3e0;border:1.5px solid #e8c98a;border-radius:var(--rad);font-size:15.5px;color:#7a5c2f;line-height:1.45;text-align:left;}
.wc-season-warn strong{font-size:13px;}
.wc-permanent-note svg{flex-shrink:0;}
.wc-chip{font-size:12.5px;font-weight:600;padding:6px 12px 4px;border-radius:var(--rad);border:1px solid var(--line-strong);background:#fff;color:var(--brown-dark);line-height:1;text-transform:uppercase;letter-spacing:.3px;}
.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:600;padding:6px 12px 4px;border-radius:var(--rad);color:#fff;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1;text-transform:uppercase;letter-spacing:.3px;}
.wc-type-nature{background:#5f7a4e;}
.wc-type-partner{background:#a07d70;}
.wc-type-discovery{background:#4a7a94;}
.wc-info-tap{cursor:pointer;position:relative;}
.wc-info-tap::after{content:"i";display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.35);font-size:8px;font-weight:800;font-style:normal;margin-left:5px;line-height:12px;padding-top:0.5px;box-sizing:border-box;}
.wc-info-box{display:none;margin:10px auto 0;max-width:320px;background:#fff;border:1px solid #e0d5c5;border-radius:8px;padding:10px 13px;font-size:15.5px;line-height:1.5;color:var(--ink);text-align:center;}
.wc-info-box.open{display:block;}
.wc-tour-overlay{position:fixed;inset:0;z-index:99999;background:rgba(61,48,40,.55);display:flex;align-items:center;justify-content:center;padding:20px;transition:opacity .3s}
.wc-tour-overlay.wc-tour-closing{opacity:0}
.wc-tour-card{position:relative;background:#faf6ee;border-radius:20px;box-shadow:0 12px 40px rgba(0,0,0,.25);padding:24px 22px 20px;max-width:360px;width:100%;text-align:center;box-sizing:border-box}
.wc-tour-skip{position:absolute;top:12px;right:14px;background:none;border:none;font-size:12px;font-weight:700;color:#a09082;cursor:pointer}
.wc-tour-screen{display:none}
.wc-tour-screen.active{display:block;animation:wc-tour-fade .3s ease}
@keyframes wc-tour-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
/* Icône resserrée : 56px -> 44px, laisse plus de place au contenu sur petit écran */
.wc-tour-ic{width:44px;height:44px;border-radius:50%;background:#f5edd8;display:flex;align-items:center;justify-content:center;font-size:20px;margin:0 auto 10px}
.wc-tour-acorn{display:flex;animation:wc-bob 2.6s ease-in-out infinite;}
@media(prefers-reduced-motion:reduce){.wc-tour-acorn{animation:none!important;}}
.wc-tour-title{font-family:'Caveat',cursive;font-size:26px;font-weight:700;color:#3d3028;margin-bottom:10px;line-height:1.1}
.wc-tour-screen p{font-size:15.5px;color:#5c5148;line-height:1.55;margin:0 0 10px;text-align:left}
.wc-tour-dots{display:flex;justify-content:center;gap:6px;margin:16px 0 14px}
.wc-tour-dot{width:6px;height:6px;border-radius:50%;background:#e0d5c5}
.wc-tour-dot.active{background:#a07d70;width:16px;border-radius:3px}
.wc-tour-btnrow{display:flex;gap:8px}
.wc-tour-prev{flex:0 0 auto;background:none;border:1.5px solid #ddd0bf;color:#7a5c50;border-radius:var(--rad);padding:13px 16px;font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;}
.wc-tour-prev:hover{background:#f0e9dc}
.wc-tour-prev[hidden]{display:none}
.wc-tour-next{flex:1;width:auto}
.wc-tour-pills{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px}
.wc-tour-demo{background:#f5edd8;border-radius:var(--rad);padding:10px 12px;margin-top:12px!important;font-size:14px;}
/* Épingle explicitement à gauche du texte (jamais au-dessus, même si le
   contexte de la page changeait la valeur par défaut de "display" ailleurs) */
.wc-tour-typerow{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:11px;margin-bottom:11px;text-align:left}
.wc-tour-typerow:last-child{margin-bottom:0}
.wc-tour-pin{flex:0 0 42px;width:42px;height:49px;margin-top:1px}
/* "Mystère" n'a pas de vraie épingle établie ailleurs sur le site (contrairement
   à nature/partenaire/découverte/unique) : un badge rond avec l'emoji, à la même
   taille que les épingles, pour rester sur la même ligne visuelle sans inventer
   une couleur qui n'existe nulle part ailleurs dans le jeu. */
.wc-tour-emoji-pin{display:flex;align-items:center;justify-content:center;height:42px;border-radius:50%;background:#f5edd8;font-size:22px;}
.wc-tour-typerow strong{display:block;font-size:15px;color:#3d3028;margin-bottom:2px}
.wc-tour-typerow p{margin:0!important;font-size:14.5px!important;color:#6b5d52!important;line-height:1.4!important}
.wc-report-wrap{margin:16px 0;text-align:center}
.wc-report-btn{background:none;border:none;color:#a09082;font-size:12px;font-family:inherit;cursor:pointer;text-decoration:underline;padding:4px;}
.wc-report-btn:hover{color:#6b5d52;}
.wc-report-form{margin-top:10px;background:#faf6ee;border:1px solid #e8ddd8;border-radius:8px;padding:14px;}
.wc-report-lbl{font-size:12.5px;font-weight:700;color:#3d3028;margin:0 0 8px;}
.wc-report-reasons{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;}
.wc-report-reason{background:#fff;border:1px solid #e0d5c5;border-radius:20px;padding:6px 12px;font-size:12px;font-family:inherit;color:#7a5c50;cursor:pointer;}
.wc-report-reason:hover{background:#f5edd8;}
.wc-report-reason:disabled{opacity:.5;cursor:default;}
.wc-report-msg{font-size:15.5px;color:#5f7a4e;font-weight:600;margin-top:8px;}
.wc-discovery-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:8px;margin-bottom:10px;-webkit-overflow-scrolling:touch}
.wc-discovery-gallery::-webkit-scrollbar{display:none}
.wc-discovery-slide{width:100%;flex:0 0 100%;scroll-snap-align:start;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.wc-discovery-dots{display:flex;justify-content:center;gap:6px;margin-bottom:14px}
.wc-discovery-dot{width:6px;height:6px;border-radius:50%;background:#e0d5c5}
.wc-discovery-dot.active{background:#4a7a94}
.wc-discovery-text{line-height:1.6;margin-bottom:14px}
.wc-discovery-text p{margin:0 0 10px}
.wc-discovery-title{font-family:'Caveat',cursive;font-size:24px;font-weight:700;color:#3d3028;margin-bottom:10px;text-align:center}
.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:1.5px solid 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; }
}

@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; }
}

/* ===== Code coupon débloqué ===== */
.wc-code-row{ margin-top:16px; display:flex; justify-content:center; }
.wc-code{ font-weight:800; letter-spacing:1px; color:var(--ink); font-size:16px;
    background:#fff; border:1.5px dashed var(--brown-light); border-radius:var(--rad); padding:10px 14px; }
.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-banner-ic svg{ display:block; }
.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:linear-gradient(160deg,#7a5c50,#a07d70); padding:22px 26px 24px; border-bottom:1px solid var(--line-strong); position:relative; overflow:hidden; }
.wc-carnet-head .wc-ref{ color:#f5edd8; }
.wc-carnet-head .wc-carnet-rank{ color:#ecdfd2; }
.wc-carnet-head #wc-pseudo-edit-btn{ color:#f8efdf; background:rgba(0,0,0,.18); border:1px solid rgba(255,255,255,.32); }
.wc-carnet-head-acorns{ position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0; }
.wc-carnet-head-acorn{ position:absolute; opacity:.22; }
.wc-carnet-head > :not(.wc-carnet-head-acorns){ position:relative; z-index:1; }
.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:#fff; margin:0; }
.wc-carnet-rank{ font-size:14px; color:var(--brown-dark); font-weight:700; margin-top:3px; }
#wc-pseudo-edit-btn{font-family:'Catamaran',sans-serif;font-size:12.5px;font-weight:800;letter-spacing:0;line-height:1.2;background:#f5edd8;border:1px solid var(--line-strong);color:#5c4a3f;cursor:pointer;padding:4px 10px;border-radius:20px;vertical-align:middle;margin-left:8px;white-space:nowrap;position:relative;top:-4px;}
#wc-pseudo-edit-btn:hover{filter:brightness(1.08);}
.wc-pseudo-form{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;align-items:center;}
.wc-pseudo-form input[type=text]{flex:1;min-width:140px;padding:9px 12px;border:1.5px solid var(--line-strong);border-radius:8px;font-family:'Catamaran',sans-serif;font-size:14px;color:var(--ink);}
.wc-pseudo-form button[type=submit]{background:var(--brown);color:#fff;border:none;border-radius:8px;padding:9px 14px;font-weight:700;font-size:13px;cursor:pointer;}
.wc-pseudo-form button[type=submit]:hover{background:var(--brown-dark);}
.wc-pseudo-form #wc-pseudo-cancel-btn{background:none;border:none;color:var(--soft);font-size:13px;cursor:pointer;padding:9px 6px;}
.wc-pseudo-flash{margin:0 20px 12px;padding:10px 14px;border-radius:8px;font-size:13.5px;font-weight:600;}
.wc-pseudo-flash.ok{background:#e7ede1;color:#3b5230;}
.wc-pseudo-flash.err{background:#fae7e7;color:#7a1a1a;}
.wc-prog{ margin-top:18px; background:#fff; border:1.5px solid var(--brown-light); 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; white-space:nowrap; flex-shrink:0; }
.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-wrap{ margin-left:auto; display:flex; flex-direction:column; align-items:flex-end; gap:3px; }
.wc-found-r{ font-size:13.5px; font-weight:700; color:var(--brown-dark); background:#f5edd8; border:1.5px solid var(--line-strong);
    border-radius:7px; padding:5px 9px; display:inline-flex; align-items:center; gap:6px; cursor:pointer; font-family:inherit; transition:background .15s,border-color .15s; }
.wc-found-r:hover{ background:#efe3cc; border-color:#a07d70; }
.wc-found-r svg{ flex-shrink:0; opacity:.65; }
.wc-found-r.wc-copied{ background:#e7ede1; border-color:#8aa87a; color:#3b5230; }
.wc-found-where{ font-size:11px; color:var(--soft); white-space:nowrap; }
.wc-found-exp{ font-size:11px; color:var(--soft); white-space:nowrap; }
.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 10px; white-space:nowrap; overflow-x:auto; }
.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:16px 0 20px; display:flex; flex-direction:column; gap:10px; }
.wc-note-title{ font-size:15.5px; font-weight:700; color:var(--brown-dark); }
/* Variante verrouillée (pas connecté) : même famille visuelle que le carnet
   vide juste en dessous (fond crème, bord en pointillés, padding généreux),
   pour que les deux forment une paire cohérente plutôt que deux traitements
   différents l'un sur l'autre. */
.wc-note-form-locked{
    gap:7px; padding:22px 20px; margin:16px 0;
    background:#faf6ea; border:1.5px dashed #e0d5c5; border-radius:12px;
}
.wc-note-form-locked .wc-note-title{ opacity:.75; }
.wc-note-form-locked .wc-log-hint{ margin:0; font-size:15px; line-height:1.5; color:var(--soft); background:none; padding:0; text-align:left; }
.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:6px; }
.wc-prat-item{ border:1.5px solid var(--brown-light); border-radius:var(--rad); padding:6px 9px; background:#fff; }
.wc-prat-k{ font-size:10px; color:var(--brown-dark); font-weight:700; text-transform:uppercase; letter-spacing:.4px; }
.wc-prat-v{ font-size:13px; color:var(--ink); font-weight:700; }

/* ===== Mini-carte de zone ===== */
.wc-zone-map-wrap{position:relative;isolation:isolate;}
.wc-zone-map-wrap.wc-zone-fullscreen-on{position:fixed;inset:0;z-index:99999;background:#fff;border-radius:0;}
.wc-zone-map-wrap.wc-zone-fullscreen-on .wc-zone-map{height:100%!important;border-radius:0;}
.wc-zone-btns{position:absolute;top:20px;right:8px;z-index:410;display:flex;flex-direction:column;gap:3px;}
/* Boutons légendés compacts : 4 tiennent dans les 200 px de la carte (54 x 42 px, zone tactile suffisante). */
.wc-zone-btn{width:54px;height:42px;padding:3px 2px 2px;border-radius:9px;border:1px solid #ddd0bf;background:#fff;box-shadow:0 2px 6px rgba(63,42,28,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;font-family:inherit;}
.wc-zone-btn svg{width:17px;height:17px;flex-shrink:0;}
.wc-zone-btn span{font-size:10px;font-weight:800;line-height:1.05;color:#7a5c50;letter-spacing:.1px;}
.wc-zone-btn:hover,.wc-zone-btn:focus-visible{background:#f5edd8;}
.wc-zone-btn:disabled{opacity:.6;cursor:progress;}
/* Message de confirmation d'une action (remplace les fenêtres d'alerte) */
.wc-zone-toast{position:absolute;left:52px;right:70px;top:20px;z-index:420;padding:7px 12px;border-radius:14px;background:rgba(44,38,34,.92);color:#fff;font-size:13px;font-weight:700;line-height:1.3;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.25);opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s,transform .2s;}
.wc-zone-toast.show{opacity:1;transform:none;}
.wc-zone-me-dot{width:14px;height:14px;border-radius:50%;background:#4a90d9;border:3px solid #fff;box-shadow:0 0 0 2px rgba(74,144,217,.4),0 2px 6px rgba(0,0,0,.25);}
.wc-zone-map{ height:200px; border:1px solid var(--line-strong); border-radius:var(--rad); margin-top:14px; }
/* Plus haute sur ordinateur. IMPORTANT : doit rester APRÈS la règle de base
   ci-dessus. Elle était auparavant plus haut dans le fichier, donc écrasée :
   la carte faisait 200 px partout, ordinateur compris. */
@media (min-width:1000px){ .wc-zone-map{ height:320px; } }
.wc-zone-map-veil{position:absolute;inset:0;top:14px;z-index:400;background:rgba(61,48,40,.06);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s;border-radius:var(--rad);}
.wc-zone-map-veil span{background:rgba(61,48,40,.88);color:#fff;font-weight:700;font-size:13px;padding:9px 16px;border-radius:20px;box-shadow:0 3px 12px rgba(0,0,0,.25);text-align:center;}
.wc-zone-map-veil.hidden{opacity:0;pointer-events:none;}
@media(hover:hover){ .wc-zone-map-veil{ display:none; } }

/* ===== Prochain palier (page scan) ===== */
.wc-tier{ background:#fff; border:1.5px solid var(--brown-light); 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:linear-gradient(135deg,#c89b4a,#a07d70); color:#fff; box-shadow:0 4px 14px rgba(200,155,74,.35); text-transform:uppercase; letter-spacing:.3px; }
.wc-btn-share:hover{ background:linear-gradient(135deg,#b8873a,#8a6a5e); transform:translateY(-1px); }
.wc-share-hint{ font-size:15.5px; color:#6b5d52; margin-top:10px; }

/* ===== 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(3,minmax(0,1fr)); gap:12px 10px; }   /* colonnes fixes : un bouton ne peut plus élargir la grille */
@media (min-width:480px){ .wc-pins{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.wc-pin{ min-width:0; }
.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:#6b5d52; 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:flex; flex-direction:column; align-items:center; gap:1px; width:100%; max-width:120px; margin:8px auto 0; box-sizing:border-box; font-size:12.5px; font-weight:800; line-height:1.2; color:#fff; background:#a07d70; padding:7px 4px; border-radius:10px; text-decoration:none; border:none; cursor:pointer; font-family:inherit; }
.wc-pin-buy.wc-pin-in-cart { background:#e7ede1; color:#2f4626; border:1px solid #cfe0c8; }
.wc-pin-buy-l { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.wc-pin-buy-p { font-size:11.5px; font-weight:700; opacity:.85; white-space:nowrap; }
.wc-pin-buy-p .woocommerce-Price-currencySymbol { margin-left:2px; }
.wc-pin-buy:hover { background:#7a5c50; }
.wc-pin-buy:disabled { opacity:.7; cursor:default; }
.wc-pin-cart-msg { margin-top:6px; font-size:11.5px; line-height:1.4; }
.wc-pin-cart-ok { color:#3b5230; }
.wc-pin-cart-ok a { color:#7a5c50; font-weight:700; text-decoration:underline; }
.wc-pin-cart-err { color:#b25542; }

/* 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 { display:inline-flex; 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:#6b5d52; margin:10px 0; line-height:1.4; cursor:pointer; text-align:left; }
.wc-pw-meter{margin:2px 0 6px;min-height:4px;}
.wc-pw-bar{height:5px;border-radius:4px;background:#e8ddd8;overflow:hidden;margin-bottom:4px;}
.wc-pw-bar span{display:block;height:100%;border-radius:4px;transition:width .25s ease, background .25s ease;}
.wc-pw-label{font-size:12px;font-weight:700;}
.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; }
.wc-news-optin em { font-style:normal; color:#a09082; font-size:12.5px; }
/* hint connexion logbook */
.wc-log-hint { margin-top:14px; font-size:15.5px; color:#6b5d52; 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:0; left:0; right:0;
    padding-bottom:env(safe-area-inset-bottom,0px);
    display:flex;
    background:#fff;
    border-radius:16px 16px 0 0;
    box-shadow:0 -4px 20px rgba(63,42,28,.12);
    border-top:3px solid #a07d70;
    z-index:200;
}
.wc-nav-item{
    flex:1; min-width:0; 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:hover{ color:#a07d70; }
.wc-nav-active{ color:#3d3028!important; }
/* Sur grand écran, les items restent groupés au centre plutôt que de s'étirer sur
   toute la largeur, tout en gardant le fond de la barre ancré bord à bord.
   IMPORTANT : cette règle doit rester APRÈS .wc-nav-item ci-dessus. Elle était
   auparavant déclarée plus haut dans le fichier, donc écrasée par le flex:1 de la
   règle de base — le centrage ne s'appliquait jamais sur les pages du plugin,
   alors qu'il marchait sur les pages WordPress (dont le CSS inline a le bon ordre). */
@media(min-width:720px){
    .wc-nav-bar{ justify-content:center; }
    .wc-nav-item{ flex:0 0 112px; }
}
/* Appel à l'ouverture de la page, en deux temps : la barre entière arrive par
   le bas et rebondit légèrement comme un objet qui se pose, puis les icônes se
   dévoilent une à une juste après, avec leur propre petit rebond. Le mouvement
   (plutôt qu'un simple changement de couleur) est ce qui attire vraiment l'œil.
   Joué une seule fois, pas en boucle, pour ne pas devenir agaçant. */
@keyframes wc-nav-bounce{
    0%   { transform:translateY(100%) scale(.92); }
    58%  { transform:translateY(-5px) scale(1.012); }
    100% { transform:translateY(0) scale(1); }
}
@keyframes wc-nav-icon-pop{
    0%   { opacity:0; transform:translateY(10px) scale(.55); }
    65%  { opacity:1; }
    100% { opacity:1; transform:translateY(0) scale(1); }
}
.wc-nav-bar{
    animation: wc-nav-bounce .62s cubic-bezier(.34,1.56,.64,1) .05s 1 both;
    transform-origin: bottom center;
}
.wc-nav-item{
    opacity:0;
    animation: wc-nav-icon-pop .45s cubic-bezier(.34,1.56,.64,1) both;
}
.wc-nav-item:nth-child(1){ animation-delay:.30s; }
.wc-nav-item:nth-child(2){ animation-delay:.37s; }
.wc-nav-item:nth-child(3){ animation-delay:.44s; }
.wc-nav-item:nth-child(4){ animation-delay:.51s; }
.wc-nav-item:nth-child(5){ animation-delay:.58s; }
.wc-nav-item:nth-child(n+6){ animation-delay:.58s; } /* filet de sécurité si un jour un 6e item s'ajoute */
@media(prefers-reduced-motion:reduce){
    .wc-nav-bar{ animation:none; }
    .wc-nav-item{ animation:none; opacity:1; }
}
.wc-nav-active .wc-nav-ic{ background:#f5edd8; border-radius:50%; width:30px; height:30px; }
.wc-nav-ic{ width:22px; height:22px; display:flex; align-items:center; justify-content:center; transition:all .2s; flex-shrink:0; position:relative; }
.wc-nav-dot{ position:absolute; top:-1px; right:-1px; width:9px; height:9px; border-radius:50%; background:#c89b4a; border:1.5px solid #fff; animation:wc-nav-dot-pulse 2.2s ease-in-out infinite; }
@keyframes wc-nav-dot-pulse{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.25); opacity:.75; } }
@media(prefers-reduced-motion:reduce){ .wc-nav-dot{ animation:none; } }
.wc-nav-ic svg{ width:20px; height:20px; flex-shrink:0; }
.wc-nav-ic svg.wc-nav-acorn{ width:19px; height:21px; }
.wc-nav-lb{ font-size:9px; 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:#6b5d52; 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:#6b5d52; 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; position:relative; top:2px; }
.wc-invite-login{ font-size:14px; color:#6b5d52; 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) */


/* ===== Encart "cache en préparation" (aperçu d'une cache pas encore ouverte) =====
   Intégré dans le bloc d'inscription plutôt qu'en bandeau tout en haut de page :
   c'est là qu'il est utile, juste avant que la personne crée son compte. */
.wc-preview-note{
    display:flex; align-items:flex-start; gap:11px;
    margin:0 0 14px; padding:13px 15px;
    background:#fdf3e0; border:1.5px solid #e8c98a; border-radius:12px;
    font-size:14px; line-height:1.5; color:#7a5c1f; text-align:left;
}
.wc-preview-note strong{ display:block; font-size:15px; color:#5c440f; margin-bottom:2px; }
.wc-preview-ic{ flex:0 0 auto; font-size:19px; line-height:1.2; }

/* ===== Carnet vide : état visuellement distinct du bloc "Raconte ta chasse" ===== */
.wc-log-empty{
    display:flex; flex-direction:column; align-items:center; gap:8px;
    padding:26px 20px; margin-top:4px;
    background:#faf6ea; border:1.5px dashed #e0d5c5; border-radius:12px;
    text-align:center;
}
.wc-log-empty-ic{ font-size:26px; opacity:.55; }
.wc-log-empty p{ margin:0; font-size:15.5px; font-weight:700; color:var(--brown-dark); line-height:1.5; }
.wc-log-empty p span{ display:block; font-weight:400; font-size:14.5px; color:var(--soft); margin-top:2px; }

/* ===== Partenaire sur la page publique ===== */
/* Mention sous le titre : logo centré au-dessus, texte dessous. Tient avec
   n'importe quelle longueur de nom, sur mobile comme sur ordinateur. */
.wc-pt-sign{
    position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:6px;
    width:max-content; max-width:100%; margin:12px auto 0; text-decoration:none; color:#6b5d52;
}
.wc-pt-sign-lg{
    width:48px; height:48px; border-radius:50%; overflow:hidden; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; font-size:22px;
    background:#fff; border:1px solid #e6dccd; box-shadow:0 2px 8px rgba(63,42,28,.1);
    transition:transform .15s, box-shadow .15s;
}
.wc-pt-sign:hover .wc-pt-sign-lg{ transform:translateY(-1px); box-shadow:0 4px 12px rgba(63,42,28,.16); }
.wc-pt-sign-t{ font-size:13.5px; line-height:1.3; text-align:center; }
.wc-pt-sign-t strong{ display:block; font-size:15.5px; color:#3d3028; }
.wc-pt-sign-lg img, .wc-pt-card-lg img{ width:100%; height:100%; object-fit:contain; display:block; padding:3px; box-sizing:border-box; }
/* Section dédiée */
#wc-partner{ scroll-margin-top:16px; }
.wc-pt-card{ display:flex; align-items:center; gap:15px; background:#fff; border:1px solid #e0d5c5; border-radius:12px; padding:15px 16px; }
.wc-pt-card-lg{
    width:64px; height:64px; border-radius:14px; overflow:hidden; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; background:#fff; border:1px solid #e6dccd; font-size:30px;
}
.wc-pt-card-body{ min-width:0; }
.wc-pt-card-nm{ font-weight:800; font-size:17px; color:#3d3028; }
.wc-pt-card-ds{ font-size:15.5px; color:#6b5d52; margin-top:2px; line-height:1.45; }
.wc-pt-btn{
    display:inline-block; margin-top:9px; padding:8px 14px; border-radius:var(--rad);
    background:#a07d70; color:#fff; font-weight:700; font-size:14.5px; text-decoration:none;
}
.wc-pt-btn:hover{ background:#7a5c50; color:#fff; }

/* ===== Ce qui t'attend : récompense en vedette ===== */
.wc-offer{ background:#fff; border:1px solid #e0d5c5; border-radius:14px; padding:16px; text-align:center; }
/* Deux offres (chez vous + chez le partenaire) : deux cartes de même poids. */
.wc-offer-wrap.is-duo{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.wc-offer-wrap.is-duo .wc-offer{ padding:14px 10px; display:flex; flex-direction:column; justify-content:center; }
.wc-offer-wrap.is-duo .wc-offer-v{ font-size:28px; }
.wc-offer-wrap.is-duo .wc-offer-v.is-text{ font-size:18px; }
.wc-offer-wrap.is-duo .wc-offer-d{ font-size:14px; }
@media (max-width:340px){ .wc-offer-wrap.is-duo{ grid-template-columns:1fr; } }
.wc-offer-k{ font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:#a07d70; }
.wc-offer-v{ font-size:34px; font-weight:900; color:#3d3028; line-height:1.15; margin:4px 0 2px; }
.wc-offer-v.is-text{ font-size:22px; font-weight:800; }
.wc-offer-d{ font-size:15.5px; color:#6b5d52; line-height:1.45; }
.wc-offer-plus{
    display:flex; align-items:center; gap:10px; margin-top:10px; padding:10px 12px; text-align:left;
    background:#fbf6ea; border:1px dashed #e0cda6; border-radius:10px; font-size:15px; color:#5c4a3f; line-height:1.4;
}
.wc-offer-plus-ic{ font-size:22px; flex-shrink:0; }
.wc-offer-note{ display:flex; align-items:center; justify-content:center; gap:6px; margin-top:10px; font-size:13.5px; color:#8a7b70; }

/* ===== L'indice : citation + une seule légende sous la carte ===== */
.wc-hint-quote{
    margin:0; background:#fff; border:1px solid #e0d5c5; border-left:4px solid #c89b4a; border-radius:10px;
    padding:13px 15px; font-style:italic; font-size:16.5px; line-height:1.5; color:#3d3028;
}
.wc-zone-caption{ margin:8px 0 0; font-size:14.5px; color:#6b5d52; }

/* Mot du carnet en attente de relecture (visible par son auteur uniquement) */
.wc-msg-pending{ opacity:.75; border-style:dashed; }
.wc-msg-pending-note{ display:block; margin-top:5px; font-size:13px; font-style:normal; color:#8a6a2f; }

/* Nombre de trouvailles, remonté dans l'en-tête */
.wc-title-finds{ position:relative; z-index:2; display:flex; align-items:center; justify-content:center; gap:6px; margin-top:8px; font-size:14.5px; color:#6b5d52; }
.wc-title-finds svg{ flex-shrink:0; }

/* Offre textuelle ("−10 % sur les ateliers…") dans la section récompense AVANT la
   trouvaille : taille lisible au lieu des 56 px prévus pour "−10 %". Deux classes :
   l'emporte sur .wc-reward-amt, y compris dans sa règle pour grand écran. */
.wc-reward-amt.wc-proof-text{ font-size:26px; line-height:1.2; letter-spacing:-.3px; }
@media (max-width:480px){ .wc-reward-amt.wc-proof-text{ font-size:23px; } }
.wc-partner-desc{ margin:4px 0 8px; font-size:15.5px; color:#5c4a3f; line-height:1.45; }

/* Message "au moment de repartir" (cache permanente ou unique), dans le pied de page */
.wc-foot .wc-leave{ display:flex; align-items:center; justify-content:center; gap:8px; max-width:520px; margin:0 auto 4px;
    font-size:15px; font-weight:400; line-height:1.45; color:var(--brown-dark); text-align:left; }
.wc-foot .wc-leave svg{ flex-shrink:0; }

/* Rappel "cache permanente" dans la section de partage : aligné sur le bouton,
   avec un espacement régulier au lieu d'être coincé entre deux sections. */
.wc-share-sec .wc-permanent-note{ margin:0 0 16px; justify-content:center; text-align:center; }

/* ===== Connexion : deux onglets bien visibles ===== */
.wc-auth-tabs{ display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:5px; margin:0 0 14px; background:#efe6d6; border-radius:12px; }
.wc-auth-tab{ border:none; background:transparent; border-radius:9px; padding:11px 8px; font-family:inherit; font-size:15.5px; font-weight:800; color:#6b5d52; cursor:pointer; line-height:1.2; }
.wc-auth-tab.is-active{ background:#fff; color:#3d3028; box-shadow:0 2px 8px rgba(63,42,28,.12); }
.wc-auth-tab:focus-visible{ outline:2px solid #a07d70; outline-offset:2px; }
.wc-claim-forgot{ margin:10px 0 0; text-align:center; font-size:14.5px; }
.wc-claim-forgot a{ color:#7a5c50; }

/* ===== Offre sur place : "en direct" explicite (pas un compte à rebours) ===== */
.wc-proof-live{ flex-direction:column; gap:6px; padding:10px 16px; }
.wc-proof-livetag{ display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:800; letter-spacing:1.2px; text-transform:uppercase; color:#d9f7e1; }
.wc-proof-now{ font-size:17px; font-weight:600; }
.wc-proof-now strong{ font-size:21px; font-variant-numeric:tabular-nums; }

/* ===== Offre déjà utilisée : ça se voit tout de suite ===== */
.wc-proof.is-used{ background:linear-gradient(160deg,#8b8580,#aaa39c); }
.wc-proof.is-used .wc-proof-float,
.wc-proof.is-used .wc-proof-live,
.wc-proof.is-used .wc-proof-note{ display:none; }
.wc-proof.is-used .wc-proof-amt,
.wc-proof.is-used .wc-proof-for,
.wc-proof.is-used .wc-proof-stamp{ opacity:.55; }
.wc-proof.is-used .wc-proof-used{ display:block !important; margin-top:16px; padding:14px 16px; background:rgba(255,255,255,.92); color:#3b5230; font-weight:600; }
.wc-proof-used-big{ display:block; font-size:22px; font-weight:900; letter-spacing:.3px; margin-bottom:2px; }

/* ===== Grattage d'une récompense mystère (juste après le déblocage) ===== */
.wc-reveal{ position:relative; }

.wc-scratch{ position:absolute; inset:-4px; z-index:6; border-radius:14px; overflow:hidden; box-shadow:0 8px 20px rgba(60,35,15,.18); transition:opacity .5s ease, transform .5s ease; }
.wc-scratch canvas{ display:block; touch-action:none; cursor:grab; }
.wc-scratch-label{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); pointer-events:none; text-align:center;
    background:rgba(255,248,230,.93); border-radius:16px; padding:10px 24px; box-shadow:0 4px 12px rgba(0,0,0,.12); color:#5c3f16; transition:opacity .25s; }
.wc-scratch-label span{ display:block; font-size:28px; line-height:1.1; }
.wc-scratch-label b{ display:block; white-space:nowrap; font-family:'Caveat',cursive; font-size:36px; font-weight:700; line-height:1; }
.wc-scratch.is-started .wc-scratch-label{ opacity:0; }
.wc-scratch.is-gone{ opacity:0; transform:scale(1.03); pointer-events:none; }
.wc-scratch-all{ display:block; margin:12px auto 0; background:none; border:none; font-family:inherit; font-size:15px; color:#7a5c50; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.wc-conf-bit{ position:absolute; z-index:7; pointer-events:none; will-change:transform,opacity; }   /* animée en JavaScript : gerbe puis retombée */
@keyframes wcConfFall{ 0%{ top:-10px; opacity:1; } 100%{ top:110%; opacity:0; } }
@media (prefers-reduced-motion:reduce){ .wc-conf-bit{ display:none; } .wc-scratch{ transition:none; } }

/* ===== Joueur déjà connecté : un seul bouton ===== */
.wc-claim-one{ margin-top:4px; }
.wc-claim-as{ margin:10px 0 0; text-align:center; font-size:14.5px; color:#8a7b70; }

/* ===== Carnet de la cache, replié ===== */
.wc-fold{ background:#fff; border:1px solid #e6dccd; border-radius:12px; }
.wc-fold-sum{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; font-weight:800; font-size:16px; color:#5c4a3f; }
.wc-fold-sum::-webkit-details-marker{ display:none; }
.wc-fold-meta{ font-weight:600; font-size:14.5px; color:#8a7b70; white-space:nowrap; }
.wc-fold[open] .wc-fold-meta{ visibility:hidden; }
.wc-fold-body{ padding:0 16px 16px; }
/* Carte de l'offre partenaire : mystère dévoilé après le déblocage */
.wc-proof-reveal{ position:relative; font-size:13px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:#f7e4b8; margin-bottom:4px; }
.wc-reveal + .wc-reveal{ margin-top:0; }

/* ===== Offre du partenaire en ligne : son code, après la trouvaille ===== */
.wc-pcode-card{ text-align:center; }
.wc-pcode-where{ font-size:12px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:#a07d70; margin-bottom:4px; }
.wc-pcode-reveal{ color:#a07d70; }
.wc-pcode-card .wc-code-row{ margin-top:10px; }
.wc-pcode-go{ margin-top:12px; display:block; text-decoration:none; }
.wc-pcode-card .wc-fineprint{ margin-top:10px; }
.wc-found-r-wrap + .wc-found-r-wrap{ margin-top:8px; }
.wc-found-where a{ color:inherit; }

/* =====================================================================
   BANDEAU FONCÉ « brun Wooper » (page de scan + page publique d'une cache)
   Placé en fin de fichier : il doit l'emporter sur les règles claires.
   Contrastes calculés au point le plus clair (centre du halo) : 5,25:1 au pire
   (minimum recommandé 4,5:1). Garder ce minimum si on touche aux couleurs.
   ===================================================================== */
.wc-celebrate, .wc-title-hero{
    background:
        radial-gradient(ellipse 70% 55% at 50% 38%, rgba(255,222,170,.10), rgba(255,222,170,0) 70%),
        linear-gradient(165deg, #644a3d 0%, #45322a 100%);
    border-bottom:none;
}
.wc-bravo, .wc-cache-name, .wc-title-nm{ color:#f8efdf; -webkit-text-stroke:0; text-shadow:0 2px 12px rgba(0,0,0,.28); }
.wc-cel-sub, .wc-back-link, .wc-title-finds{ color:#f3e6d4; }
.wc-back-link:hover{ color:#fff; }
.wc-cache-loc, .wc-title-lo{ color:#f3e6d4; }
/* Pastilles « verre » : voile SOMBRE (un voile blanc éclaircissait le fond et faisait
   tomber le contraste sous 4,5:1 ; ici 7,4:1). */
.wc-celebrate .wc-tag{ background:rgba(0,0,0,.18); border-color:rgba(255,255,255,.28); color:#f8efdf; }
.wc-celebrate .wc-type-badge{ box-shadow:0 0 0 1.5px rgba(255,240,220,.55); }   /* l'étiquette brune se détache du fond brun */
.wc-stamp-inner{ border-color:#efd9b0; color:#efd9b0; }
.wc-celebrate .wc-info-btn{ border-color:#ecdcc6; color:#ecdcc6; background:transparent; }
.wc-pt-sign-t{ color:#f3e6d4; }
.wc-pt-sign-t strong{ color:#fff; }
.wc-pt-sign:hover .wc-pt-sign-t strong{ text-decoration:underline; text-underline-offset:3px; }

/* Glands de fond : effet de profondeur. Petits = premier plan, nets et lumineux ;
   gros = arrière-plan, légèrement flous. Un halo doré les détache du brun. */
.wc-celebrate .wc-bg-acorn, .wc-title-hero .wc-bg-acorn{
    filter:brightness(1.18) saturate(1.15) drop-shadow(0 0 10px rgba(255,210,140,.30));
}
/* Page de scan (6 glands : 86, 36, 56, 105, 24, 46 px) */
.wc-celebrate .wc-bg-acorn:nth-child(1){ opacity:.42 !important; filter:blur(1.4px) brightness(1.1) drop-shadow(0 0 14px rgba(255,210,140,.25)); }
.wc-celebrate .wc-bg-acorn:nth-child(2){ opacity:.88 !important; }
.wc-celebrate .wc-bg-acorn:nth-child(3){ opacity:.66 !important; }
.wc-celebrate .wc-bg-acorn:nth-child(4){ opacity:.30 !important; filter:blur(2.2px) brightness(1.1); }
.wc-celebrate .wc-bg-acorn:nth-child(5){ opacity:.95 !important; }
.wc-celebrate .wc-bg-acorn:nth-child(6){ opacity:.72 !important; }
/* Page publique (4 glands : 58, 30, 44, 26 px) */
.wc-title-hero .wc-bg-acorn:nth-child(1){ opacity:.55 !important; filter:blur(.8px) brightness(1.15) drop-shadow(0 0 12px rgba(255,210,140,.28)); }
.wc-title-hero .wc-bg-acorn:nth-child(2){ opacity:.85 !important; }
.wc-title-hero .wc-bg-acorn:nth-child(3){ opacity:.68 !important; }
.wc-title-hero .wc-bg-acorn:nth-child(4){ opacity:.92 !important; }
@media (prefers-reduced-motion:reduce){ .wc-celebrate .wc-bg-acorn, .wc-title-hero .wc-bg-acorn{ animation:none !important; } }

/* =====================================================================
   AUTRES EN-TÊTES EN BRUN (même palette que le bandeau validé, contraste ≥ 5,25:1)
   ===================================================================== */
/* ---- Mon carnet ---- */
.wc-carnet-head{
    background:
        radial-gradient(ellipse 70% 55% at 50% 38%, rgba(255,222,170,.10), rgba(255,222,170,0) 70%),
        linear-gradient(165deg, #644a3d 0%, #45322a 100%);
    border-bottom:none;
}
.wc-carnet-head .wc-ref{ color:#f3e6d4; }
.wc-carnet-who h1{ font-family:'Caveat',cursive; font-size:36px; font-weight:700; color:#f8efdf; text-shadow:0 2px 12px rgba(0,0,0,.28); line-height:1.05; }
.wc-carnet-head .wc-carnet-rank{ color:#f8e0b4; }   /* doré 5,0:1 */
.wc-carnet-head .wc-carnet-av{ box-shadow:0 0 0 3px rgba(243,207,142,.55), 0 0 22px rgba(255,210,140,.35); }
.wc-carnet-head .wc-prog{ background:rgba(0,0,0,.18); border:1.5px solid rgba(255,255,255,.25); }
.wc-carnet-head .wc-prog-goal{ color:#f8efdf; }
.wc-carnet-head .wc-prog-cnt{ background:rgba(0,0,0,.22); color:#f8efdf; }
.wc-carnet-head .wc-track{ background:rgba(0,0,0,.28); }
.wc-carnet-head .wc-track i{ box-shadow:0 0 12px rgba(243,196,110,.7); }
/* Glands en profondeur (5 glands : 80, 55, 65, 45, 50 px) */
.wc-carnet-head .wc-carnet-head-acorn{ opacity:.8; filter:brightness(1.18) saturate(1.15) drop-shadow(0 0 10px rgba(255,210,140,.3)); }
.wc-carnet-head .wc-carnet-head-acorn:nth-child(1),
.wc-carnet-head .wc-carnet-head-acorn:nth-child(3){ opacity:.4; filter:blur(1.5px) brightness(1.1) drop-shadow(0 0 14px rgba(255,210,140,.25)); }

/* ---- Après une trouvaille : la carte « prochain palier » devient un petit trophée ---- */
.wc-tier{
    position:relative; overflow:hidden; border:none;
    background:
        radial-gradient(ellipse 70% 70% at 30% 20%, rgba(255,222,170,.12), rgba(255,222,170,0) 70%),
        linear-gradient(165deg, #644a3d, #45322a);
    box-shadow:0 8px 22px rgba(60,35,15,.25);
}
.wc-tier > :not(.wc-tier-deco){ position:relative; z-index:1; }
.wc-tier-deco{ position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0; }
.wc-tier-deco svg{ position:absolute; filter:brightness(1.18) drop-shadow(0 0 8px rgba(255,210,140,.35)); }
.wc-tier-t{ color:#f8efdf; }
.wc-tier-c{ background:rgba(0,0,0,.22); color:#f8efdf; }
.wc-tier .wc-track{ background:rgba(0,0,0,.3); }
.wc-tier .wc-track i{ box-shadow:0 0 12px rgba(243,196,110,.75); }
.wc-tier-x{ color:#f3e6d4; }
.wc-tier-x b{ color:#f8e0b4; }
@media (prefers-reduced-motion:reduce){ .wc-carnet-head .wc-carnet-head-acorn{ animation:none !important; } }

/* Phrases dans la zone récompense : jamais l'espacement serré prévu pour « −15 % »
   (lettres collées, lignes qui se chevauchent). */
.wc-reward-amt.wc-proof-text{ letter-spacing:-.3px; line-height:1.2; }
/* Rappel « cache permanente » dans une section de contenu : aligné sur le texte de la section */
.wc-sec:not(.wc-share-sec) .wc-permanent-note{ margin:16px 0 0; }

/* Contrastes corrigés après audit des en-têtes bruns (texte ≥ 4,5:1 partout) */
.wc-carnet-head .wc-prog-left{ color:#f3e6d4; }                 /* 5,3:1 (était gris foncé : 1,3:1) */
.wc-carnet-head .wc-prog-left b{ color:#f8e0b4; }               /* 5,1:1 */
.wc-celebrate .wc-type-badge{ background:#886656; }             /* blanc dessus : 5,1:1 (était 3,7:1) */

/* ===== Horaires d'un lieu partenaire (page publique) ===== */
.wc-hours{ background:#fff; border:1px solid #e0d5c5; border-radius:12px; padding:14px 16px; margin:0 0 12px; }
.wc-hours-head{ font-size:15px; color:#5c4a3f; line-height:1.4; }
.wc-hours-status{ margin:10px 0 2px; padding:9px 12px; border-radius:10px; font-weight:800; font-size:15.5px; line-height:1.35; }
.wc-hours-status.is-open{ background:#e7ede1; color:#2f4626; }
.wc-hours-status.is-closed{ background:#fbeeec; color:#7a1a1a; }
.wc-hours-list{ list-style:none; margin:10px 0 0; padding:0; }
.wc-hours-list li{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; padding:6px 8px; border-radius:8px; font-size:14.5px; color:#5c4a3f; }
.wc-hours-list li b{ font-weight:700; color:#3d3028; text-align:right; white-space:nowrap; }   /* jamais coupé en deux lignes */
.wc-hours-list li.is-today{ background:#f5edd8; }
.wc-hours-list li.is-today span::after{ content:'aujourd\'hui'; display:block; font-size:12px; font-weight:800; letter-spacing:.3px; text-transform:uppercase; color:#7a5c50; }
.wc-hours-note{ margin-top:8px; font-size:14px; color:#6b5d52; }
.wc-hours-out{ font-size:15px; color:#3b5230; background:#eef4ea; border-color:#d6e4cb; }
.wc-hours-out span{ display:block; margin-top:4px; color:#6b5d52; font-size:14px; }
.wc-hours-chip{ text-decoration:none; font-weight:800; }
.wc-hours-chip[hidden]{ display:none; }
.wc-hours-chip.is-open{ background:#e7ede1; border-color:#b9cdaa; color:#2f4626; }
.wc-hours-chip.is-closed{ background:#fbeeec; border-color:#e6b9b3; color:#7a1a1a; }
@media (max-width:340px){ .wc-hours-list li{ flex-direction:column; gap:2px; } .wc-hours-list li b{ text-align:left; } }   /* très petits écrans */

/* ===== Offre partenaire : conditions et contact ===== */
.wc-offer-c{ margin-top:6px; font-size:13.5px; color:#7a5c50; line-height:1.4; }
.wc-reward-cond{ margin-top:6px; font-size:14px; color:#7a5c50; line-height:1.4; }
.wc-proof-cond{ position:relative; margin-top:6px; font-size:14px; font-weight:600; color:#fff; line-height:1.4; }   /* blanc : 5,1:1 sur le dégradé (crème : 4,1:1) */
.wc-pcontact{ position:relative; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:12px; }
.wc-pcontact-btn{ display:inline-flex; flex-direction:column; align-items:center; min-width:120px; padding:8px 14px; border-radius:12px; background:#fff; border:1.5px solid #e0d5c5; color:#5c4a3f; font-weight:800; font-size:14.5px; text-decoration:none; line-height:1.2; }
.wc-pcontact-btn span{ font-weight:600; font-size:12.5px; color:#6b5d52; margin-top:2px; word-break:break-all; }
.wc-pcontact-btn:hover{ background:#f5edd8; }
.wc-pcontact.is-dark .wc-pcontact-btn{ background:rgba(255,255,255,.95); border-color:transparent; }
.wc-proof.is-used .wc-pcontact{ opacity:.8; }
/* Carnet : offre du partenaire, conditions et contact */
.wc-found-poffer{ flex-basis:100%; margin-top:8px; padding:8px 10px; border-radius:10px; background:#faf6ee; border:1px dashed #e0cda6; font-size:13.5px; color:#5c4a3f; }
.wc-found-poffer-t{ font-weight:800; }
.wc-found-poffer-t span{ font-weight:600; color:#6b5d52; }
.wc-found-poffer-c{ margin-top:3px; color:#7a5c50; }
.wc-pcontact.is-compact{ justify-content:flex-start; margin-top:6px; }
.wc-pcontact.is-compact .wc-pcontact-btn{ min-width:0; padding:6px 10px; font-size:13.5px; flex-direction:row; gap:6px; }
.wc-pcontact.is-compact .wc-pcontact-btn span{ margin-top:0; }
.wc-found:has(.wc-found-poffer){ flex-wrap:wrap; }   /* le bloc de l'offre passe sous la ligne de la trouvaille */

/* ===== Aperçu « comme un joueur » et gardien / partenaire ===== */
.wc-asplayer{ display:flex; gap:10px; align-items:flex-start; margin:0 0 14px; padding:12px 14px; border-radius:12px; background:#fff8e6; border:1px solid #e8c98a; color:#5c4a3f; font-size:14.5px; line-height:1.45; }
.wc-asplayer > span{ font-size:20px; line-height:1.2; }
.wc-asplayer a{ display:inline-block; margin-top:4px; font-weight:800; color:#7a5c50; }
.wc-manager-note{ padding:14px 16px; border-radius:12px; background:#f2f7ee; border:1px solid #cfe0c8; color:#3b5230; font-size:15px; line-height:1.45; }
.wc-manager-note p{ margin:0 0 12px; }
.wc-proof-use-btn[disabled]{ opacity:.65; cursor:not-allowed; }
.wc-preview-note a{ display:inline-block; margin-top:4px; font-weight:800; color:inherit; }

.wc-closure-chip{ background:#fbeeec; border-color:#e6b9b3; color:#7a1a1a; font-weight:800; }   /* fermeture validée d'un lieu partenaire */

.wc-draft-note{ margin:14px 20px 0; padding:10px 14px; border-radius:12px; background:#fff8e6; border:1px solid #e8c98a; color:#5c4a3f; font-size:14.5px; line-height:1.45; }   /* page publique d'un brouillon, vue par son gardien ou son partenaire */

.wc-proof-guide{ margin:0 0 10px; padding:10px 14px; border-radius:12px; background:#f2f7ee; border:1px solid #cfe0c8; color:#2f4626; font-size:14.5px; line-height:1.45; }   /* aperçu partenaire : le geste au bon moment */

/* ===== Carnet : connexion / inscription sur la page ===== */
.wc-invite .wc-auth-tabs{ margin:18px 0 12px; }
.wc-invite .wc-claim-form{ text-align:left; }
.wc-invite-flash{ margin:14px 0 4px; padding:10px 14px; border-radius:10px; background:#fff8e6; border:1px solid #e8c98a; color:#5c4a3f; font-size:14.5px; font-weight:700; }
.wc-invite-staff{ margin:16px 0 0; padding:10px 12px; border-radius:10px; background:rgba(255,255,255,.55); border:1px dashed var(--line-strong); font-size:13.5px; color:#5c4a3f; line-height:1.45; }
.wc-invite-perks-t{ margin:26px 0 10px; font-size:12.5px; font-weight:900; letter-spacing:1.2px; text-transform:uppercase; color:#a07d70; }
/* Avantages du carnet : grille compacte au-dessus du formulaire */
.wc-perks-grid{ list-style:none; margin:16px 0 4px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; text-align:left; }
.wc-perks-grid li{ display:flex; align-items:center; gap:8px; padding:9px 10px; background:#fff; border:1px solid var(--line); border-radius:12px; font-size:13.5px; line-height:1.3; color:var(--text); }
.wc-perks-grid strong{ font-weight:800; }
.wc-perk-ic{ flex-shrink:0; width:26px; text-align:center; font-size:20px; line-height:1; display:inline-flex; justify-content:center; }
.wc-invite .wc-invite-ic{ font-size:40px; margin-bottom:2px; }
.wc-invite{ padding-top:28px; }
.wc-invite .wc-invite-t{ margin-bottom:8px; }
.wc-invite .wc-invite-p{ margin-bottom:0; }

/* « Ce qui t'attend » à deux cartes, avec une offre longue : empilées en pleine largeur, reliées par un « + » */
.wc-offer-wrap.is-duo.is-stack{ grid-template-columns:1fr; gap:14px; }
.wc-offer-wrap.is-duo.is-stack .wc-offer{ padding:16px 18px; position:relative; }
.wc-offer-wrap.is-duo.is-stack .wc-offer-v.is-text{ font-size:20px; }
.wc-offer-wrap.is-duo.is-stack .wc-offer + .wc-offer::before{ content:'+'; position:absolute; top:-19px; left:50%; transform:translateX(-50%); width:24px; height:24px; border-radius:50%; background:#efe6d7; border:1px solid #e0d5c5; color:#a07d70; font-weight:900; font-size:16px; line-height:22px; text-align:center; }
/* Le « + » aussi quand les deux cartes sont côte à côte : centré entre elles */
.wc-offer-wrap.is-duo:not(.is-stack){ gap:14px; }
.wc-offer-wrap.is-duo:not(.is-stack) .wc-offer{ position:relative; }
.wc-offer-wrap.is-duo:not(.is-stack) .wc-offer + .wc-offer::before{ content:'+'; position:absolute; left:-19px; top:50%; transform:translateY(-50%); width:24px; height:24px; border-radius:50%; background:#efe6d7; border:1px solid #e0d5c5; color:#a07d70; font-weight:900; font-size:16px; line-height:22px; text-align:center; z-index:1; }

/* ===== Connexion du carnet : bandeau du carnet, puis le choix, puis le formulaire ===== */
.wc-invite-hero{ text-align:center; padding:26px 22px 22px; }
.wc-invite-hero .wc-invite-ic{ font-size:40px; margin:0 0 2px; animation:none; }
.wc-invite-hero .wc-invite-t{ color:#f8efdf; margin:0 0 6px; font-size:38px; line-height:1.05; }
.wc-invite-hero .wc-invite-p{ color:#f3e6d4; margin:0; font-size:15px; line-height:1.45; }
.wc-invite{ padding:18px 20px 30px; text-align:left; }
.wc-invite .wc-step-choice,.wc-invite .wc-step-register,.wc-invite .wc-step-login{ display:none; }
.wc-invite[data-step="choice"] .wc-step-choice,.wc-invite[data-step="register"] .wc-step-register,.wc-invite[data-step="login"] .wc-step-login{ display:block; }
.wc-invite .wc-perks-grid{ margin:0 0 4px; }
.wc-choice{ display:flex; align-items:center; gap:12px; width:100%; margin-top:12px; padding:15px 16px; border-radius:16px; background:#fff; border:1.5px solid var(--line-strong); color:var(--text); font-family:inherit; text-align:left; cursor:pointer; }
.wc-choice.is-main{ background:#a07d70; border-color:#a07d70; color:#fff; box-shadow:0 6px 16px rgba(122,92,80,.35); }
.wc-choice:hover{ filter:brightness(1.04); }
.wc-choice-ic{ font-size:27px; line-height:1; flex-shrink:0; }
.wc-choice-t{ flex:1; display:flex; flex-direction:column; }
.wc-choice-t strong{ font-size:17px; font-weight:800; line-height:1.2; }
.wc-choice-t span{ font-size:13.5px; opacity:.85; }
.wc-choice-ar{ font-size:24px; opacity:.7; }
.wc-invite .wc-invite-staff{ text-align:center; background:none; border:0; padding:0; margin-top:14px; font-size:13px; }
.wc-step-back{ background:none; border:0; padding:0 0 8px; font-family:inherit; font-size:14px; font-weight:800; color:#7a5c50; cursor:pointer; }
.wc-step-t{ font-size:19px; font-weight:900; color:var(--text); margin:0 0 12px; }
.wc-step-switch{ text-align:center; font-size:14px; color:var(--soft); margin:14px 0 0; }
.wc-step-switch button{ background:none; border:0; padding:0; font-family:inherit; font-size:14px; font-weight:800; color:#7a5c50; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
.wc-invite .wc-invite-flash{ margin:0 0 12px; }

/* ===== Gland cadeau : la révélation ===== */
.wc-gift-hero{ text-align:center; padding:30px 22px 26px; }
.wc-gift-hero-sm{ padding:22px 20px 18px; }
.wc-gift-emoji{ font-size:46px; line-height:1; margin-bottom:6px; }
.wc-gift-kicker{ font-size:12px; font-weight:900; letter-spacing:1.6px; text-transform:uppercase; color:#f6dc94; }
.wc-gift-t{ font-family:'Caveat',cursive; font-size:38px; line-height:1.05; color:#f8efdf; margin:6px 0 4px; }
.wc-gift-sub{ margin:0; color:#f3e6d4; font-size:15px; }
.wc-gift-preview{ margin:12px 16px 0; padding:10px 14px; border-radius:12px; background:#fff8e6; border:1px solid #e8c98a; color:#5c4a3f; font-size:14px; line-height:1.45; }
.wc-gift-preview a{ display:inline-block; margin-top:4px; font-weight:800; color:#7a5c50; }
.wc-gift-letter{ position:relative; background:#fffdf8; border:1px solid #e6d8c8; border-radius:16px; padding:22px 20px 18px; box-shadow:0 6px 18px rgba(60,35,15,.08);
  background-image:repeating-linear-gradient(transparent 0 29px, rgba(160,125,112,.12) 29px 30px); }
.wc-gift-msg{ font-family:'Caveat',cursive; font-size:25px; line-height:30px; color:#3d3028; white-space:normal; word-wrap:break-word; }
.wc-gift-sign{ margin-top:14px; text-align:right; font-family:'Caveat',cursive; font-size:24px; color:#7a5c50; }
.wc-gift-voucher{ text-align:center; background:#fff; border:1.5px dashed #c89b4a; border-radius:16px; padding:18px 18px 16px; }
.wc-gift-amt{ font-size:40px; font-weight:900; color:#3d3028; line-height:1.1; }
.wc-gift-vtxt{ font-size:14.5px; color:#5c4a3f; margin:4px 0 12px; }
.wc-gift-code{ display:flex; align-items:stretch; border:1.5px solid #e0d5c5; border-radius:12px; overflow:hidden; margin:0 0 8px; }
.wc-gift-code span{ flex:1; padding:12px; font-weight:900; letter-spacing:1px; font-size:17px; color:#3d3028; background:#fdfaf3; }
.wc-gift-code button{ border:0; background:#5f7a4e; color:#fff; font-family:inherit; font-weight:800; font-size:14px; padding:0 16px; cursor:pointer; }
.wc-gift-small{ font-size:12.5px; color:var(--soft); margin-bottom:12px; }
.wc-gift-next p{ font-size:15px; line-height:1.5; color:var(--text); margin:0 0 12px; }
.wc-gift-next a:not(.wc-btn){ color:#7a5c50; font-weight:800; }
.wc-gift-form label{ display:block; font-size:13.5px; font-weight:800; color:#5c4a3f; margin:12px 0 5px; }
.wc-gift-form label em{ font-style:normal; font-weight:600; color:var(--soft); }
.wc-gift-form select,.wc-gift-form textarea{ width:100%; box-sizing:border-box; padding:12px 14px; border:1.5px solid var(--line-strong); border-radius:12px; font:inherit; font-size:15px; background:#fff; }
.wc-gift-form button{ margin-top:16px; }
.wc-gift-ok{ margin:0 0 12px; padding:10px 14px; border-radius:12px; background:#e7ede1; border:1px solid #cfe0c8; color:#2f4626; font-weight:700; }
.wc-gift-note{ font-size:13.5px; color:var(--soft); line-height:1.45; margin:12px 0; }
.wc-gift-prevbtn{ margin-top:6px; background:#fff; border:1.5px solid var(--line-strong); color:#5c4a3f; }
