/* AniZoo V1.2 — rebuild fidèle à la maquette de référence */
:root{
  --az-green-950:#082f26;
  --az-green-900:#0d3b30;
  --az-green-850:#124636;
  --az-green-700:#176c4d;
  --az-green-600:#1f8b62;
  --az-mint:#e7f1eb;
  --az-paper:#f4f0e5;
  --az-paper-2:#faf8f1;
  --az-card:#fffdf8;
  --az-ink:#0f2119;
  --az-muted:#6f7a73;
  --az-line:#dfe3da;
  --az-soft:#eef1eb;
  --az-gold:#d9a62e;
  --az-red:#d44f43;
  --az-shadow:0 14px 38px rgba(10,47,38,.10);
  --az-radius:16px;
}
*{box-sizing:border-box}
html{background:var(--az-paper)}
body.az-v12{margin:0;background:var(--az-paper);color:var(--az-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.35}
body.az-v12 a{text-decoration:none;color:inherit}
body.az-v12 button,body.az-v12 input,body.az-v12 select,body.az-v12 textarea{font:inherit}

/* header */
.az-topbar{height:58px;background:linear-gradient(90deg,var(--az-green-950),var(--az-green-900));color:#fff;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 5px 20px rgba(7,37,29,.16)}
.az-topbar-inner{width:min(1500px,calc(100% - 30px));height:100%;margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
.az-brand{display:flex;align-items:center;gap:9px;font-weight:900;font-size:20px;white-space:nowrap}
.az-brand-icon{width:22px;height:22px;display:block;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.az-brand-paw{font-size:18px;filter:saturate(.8)}
.az-mainnav{display:flex;align-items:center;gap:22px;height:100%;font-size:12px;font-weight:650}
.az-mainnav>a,.az-nav-more>summary{height:100%;display:flex;align-items:center;position:relative;opacity:.85;cursor:pointer;list-style:none}
.az-mainnav>a:hover,.az-nav-more>summary:hover,.az-mainnav .is-active,.az-nav-more.is-active>summary{opacity:1}
.az-mainnav>a.is-active:after,.az-nav-more.is-active>summary:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px 3px 0 0;background:#64c69a}
.az-mainnav .is-locked{opacity:.48}
.az-nav-more{height:100%;position:relative}
.az-nav-more summary::-webkit-details-marker{display:none}
.az-nav-menu{position:absolute;top:48px;right:-12px;width:190px;background:#fff;color:var(--az-ink);border:1px solid var(--az-line);border-radius:14px;padding:8px;box-shadow:var(--az-shadow);display:grid;gap:2px}
.az-nav-menu a{padding:9px 10px;border-radius:9px;font-size:12px}.az-nav-menu a:hover{background:var(--az-soft)}
.az-top-actions{display:flex;align-items:center;gap:9px}
.az-icon-btn{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:18px;position:relative}.az-icon-btn:hover{background:rgba(255,255,255,.1)}
.az-notif i{position:absolute;width:7px;height:7px;border-radius:50%;background:#ff625b;right:3px;top:2px;border:1px solid var(--az-green-900)}
.az-wallet{font-size:12px;font-weight:850;color:#ffe59b;background:rgba(255,255,255,.08);padding:7px 10px;border-radius:999px}
.az-account{position:relative}.az-account>summary{list-style:none;cursor:pointer}.az-account>summary::-webkit-details-marker{display:none}.az-account>summary span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#e4a260;color:#fff;border:2px solid rgba(255,255,255,.8);font-weight:900;font-size:12px}
.az-account-menu{position:absolute;right:0;top:40px;width:190px;background:#fff;color:var(--az-ink);border:1px solid var(--az-line);border-radius:14px;padding:12px;box-shadow:var(--az-shadow);display:grid;gap:6px}.az-account-menu b,.az-account-menu small{display:block}.az-account-menu small{color:var(--az-muted);font-size:10px}.az-account-menu a,.az-account-menu button{margin-top:4px;padding:8px 10px;border-radius:8px;background:var(--az-soft);border:0;text-align:left;cursor:pointer;font-size:11px}.az-account-menu form{margin:0}
.az-login-link{font-size:12px;font-weight:700}.az-top-cta{background:#39a56f;color:#fff;padding:9px 13px;border-radius:9px;font-weight:800;font-size:12px}

/* global shell */
.az-page{width:min(1500px,calc(100% - 30px));margin:0 auto;padding:20px 0 54px}.az-page.public-shell{padding-top:0;width:min(1600px,calc(100% - 18px))}
.az-page.app-shell,.az-page.page-shell-wide,.az-page.enclosure-shell{width:min(1500px,calc(100% - 30px));max-width:none;margin:0 auto;padding:20px 0 54px}
body.az-v12 .app-card{background:var(--az-card);border:1px solid var(--az-line);border-radius:var(--az-radius);box-shadow:0 3px 12px rgba(11,51,39,.035)}
body.az-v12 .eyebrow{font-family:inherit;font-size:10px;letter-spacing:.12em;font-weight:850;color:#557164;margin:0 0 5px;text-transform:uppercase}
body.az-v12 h1,body.az-v12 h2,body.az-v12 h3{font-family:inherit;color:var(--az-ink);letter-spacing:-.025em}
body.az-v12 .app-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 16px;padding:0;border:0}
body.az-v12 .app-page-head h1{font-size:34px;line-height:1.06;margin:0 0 5px;font-weight:850}
body.az-v12 .app-page-head p{margin:0;color:var(--az-muted);font-size:12px}
body.az-v12 .page-wallet,body.az-v12 .collection-counter{background:transparent;border:0;padding:0;text-align:right}
body.az-v12 .page-wallet small,body.az-v12 .collection-counter span{display:block;font-size:9px;color:var(--az-muted)}
body.az-v12 .page-wallet strong,body.az-v12 .collection-counter strong{font-size:21px}
body.az-v12 .button{border-radius:8px;background:var(--az-green-700);padding:10px 15px;font-size:11px;font-weight:800;box-shadow:none;transform:none}
body.az-v12 .button:hover{background:var(--az-green-600);transform:none}
body.az-v12 .button.button-soft{background:#edf3ef;color:var(--az-green-900);border:1px solid #d5e4db}
body.az-v12 .button.small{padding:8px 11px;font-size:10px}
body.az-v12 .text-link{font-size:11px;color:var(--az-green-700);font-weight:800}
body.az-v12 input,body.az-v12 select,body.az-v12 textarea{border:1px solid #d7ddd6;border-radius:9px;background:#fff;padding:10px 11px;outline:none;color:var(--az-ink)}
body.az-v12 input:focus,body.az-v12 select:focus,body.az-v12 textarea:focus{border-color:#76a88f;box-shadow:0 0 0 3px rgba(31,139,98,.08)}

/* public home */
.az-home{position:relative;min-height:650px;border-radius:0 0 20px 20px;overflow:hidden;background:linear-gradient(90deg,rgba(5,31,24,.93) 0 36%,rgba(5,31,24,.54) 58%,rgba(5,31,24,.25) 100%),url('../enclosures/prairie-backdrop.webp') center/cover no-repeat;box-shadow:var(--az-shadow)}
.az-home:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,31,24,.10),rgba(6,31,24,.25));pointer-events:none}
.az-home-content{position:relative;z-index:2;min-height:650px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);align-items:center;padding:52px clamp(28px,5vw,72px) 138px}
.az-home-copy{max-width:650px;color:#fff}.az-home-copy h1{color:#fff;font-size:clamp(50px,5.5vw,84px);line-height:.94;margin:0 0 18px;font-weight:900;max-width:620px}.az-home-copy p{font-size:17px;max-width:520px;color:rgba(255,255,255,.9);margin:0 0 26px}
.az-home-actions{display:flex;gap:12px}.az-home-actions a{padding:13px 20px;border-radius:10px;font-size:12px;font-weight:850}.az-home-primary{background:#36a871;color:#fff}.az-home-secondary{border:1px solid rgba(255,255,255,.7);color:#fff;background:rgba(7,39,30,.25);backdrop-filter:blur(5px)}
.az-home-animal{position:absolute;z-index:2;right:8%;bottom:104px;width:min(38vw,570px);filter:drop-shadow(0 18px 24px rgba(0,0,0,.28))}
.az-home-note{position:absolute;z-index:3;right:7%;top:80px;color:#fff;font-size:18px;font-weight:800;transform:rotate(-8deg);font-style:italic;text-align:center;line-height:1.15;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.az-home-features{position:absolute;z-index:4;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.az-home-feature{min-height:96px;background:rgba(255,253,248,.96);border:1px solid rgba(255,255,255,.8);border-radius:12px;padding:15px;display:grid;place-items:center;text-align:center;color:var(--az-ink);box-shadow:0 8px 18px rgba(4,33,25,.12)}.az-home-feature span{font-size:23px}.az-home-feature strong{display:block;font-size:14px;margin:3px 0}.az-home-feature small{font-size:10px;color:var(--az-muted)}
.az-public-info{padding:32px 12px 10px}.az-public-info h2{font-size:30px;margin:0 0 6px}.az-public-info p{color:var(--az-muted);font-size:13px;max-width:800px}

/* Dashboard */
.az-dash-head{display:grid;grid-template-columns:minmax(250px,1fr) auto;gap:28px;align-items:end;margin-bottom:12px}.az-dash-title h1{font-size:34px;margin:0 0 4px;font-weight:900}.az-dash-title p{margin:0;color:var(--az-muted);font-size:11px}.az-dash-kpis{display:grid;grid-template-columns:repeat(5,minmax(84px,1fr));gap:8px}.az-mini-kpi{min-width:96px;padding:10px 12px;background:var(--az-card);border:1px solid var(--az-line);border-radius:11px}.az-mini-kpi small{display:block;font-size:8px;color:var(--az-muted);text-transform:uppercase;letter-spacing:.05em}.az-mini-kpi strong{display:block;font-size:16px;margin-top:2px}.az-mini-kpi em{display:block;font-style:normal;font-size:8px;color:#75827a;margin-top:2px}
.az-zoo-hero{position:relative;height:320px;border-radius:16px 16px 0 0;overflow:hidden;background:url('../enclosures/prairie-backdrop.webp') center/cover no-repeat;border:1px solid #cbd8cf;border-bottom:0}.az-zoo-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,42,32,.02),rgba(8,42,32,.12))}.az-zoo-animal{position:absolute;z-index:2;object-fit:contain;filter:drop-shadow(0 9px 10px rgba(15,49,39,.24))}.az-zoo-animal.a1{left:15%;bottom:18px;width:180px}.az-zoo-animal.a2{left:43%;bottom:24px;width:160px}.az-zoo-animal.a3{right:13%;bottom:20px;width:190px}.az-zoo-label{position:absolute;left:18px;top:16px;z-index:3;padding:8px 10px;border-radius:10px;background:rgba(255,253,248,.88);backdrop-filter:blur(8px);font-size:10px;font-weight:800;color:var(--az-green-900)}
.az-actionbar{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;padding:8px;background:var(--az-card);border:1px solid var(--az-line);border-radius:0 0 16px 16px}.az-actionbar a{height:42px;border-radius:8px;background:var(--az-green-900);color:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:800;white-space:nowrap}.az-actionbar a.danger{background:#d5574e}.az-actionbar a:hover{background:var(--az-green-700)}
.az-dash-panels{display:grid;grid-template-columns:1.05fr 1fr .9fr;gap:10px;margin-top:10px}.az-panel{background:var(--az-card);border:1px solid var(--az-line);border-radius:13px;padding:14px;min-height:185px}.az-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.az-panel-head h2{font-size:13px;margin:0;font-weight:850}.az-panel-head a{font-size:9px;color:var(--az-green-700);font-weight:800}.az-watch-list,.az-event-list,.az-objective-list{display:grid;gap:7px}.az-watch-row{display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;padding:6px;border-radius:8px;background:#f7f7f2}.az-watch-art{width:38px;height:38px;border-radius:8px;background:linear-gradient(#dcebdc,#b5d2b6);display:grid;place-items:center;overflow:hidden}.az-watch-art img{width:100%;height:100%;object-fit:contain}.az-watch-row b{display:block;font-size:10px}.az-watch-row small{display:block;font-size:8px;color:var(--az-muted)}.az-watch-row .button{padding:6px 8px;font-size:8px}.az-event-row{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #eceee8}.az-event-row:last-child{border:0}.az-event-row>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e8f3ed}.az-event-row b{display:block;font-size:9px}.az-event-row small{font-size:8px;color:var(--az-muted)}.az-event-row time{font-size:8px;color:#7e8a83}.az-objective{display:grid;grid-template-columns:14px 1fr auto;gap:7px;align-items:center;font-size:9px}.az-objective i{width:12px;height:12px;border-radius:50%;border:1px solid #aeb9b2}.az-objective.done i{background:var(--az-green-600);border-color:var(--az-green-600)}.az-objective span{color:#536059}.az-objective b{font-size:8px;color:#7a857e}
.az-dash-lower{margin-top:12px}.az-section-title{display:flex;align-items:end;justify-content:space-between;margin:18px 0 9px}.az-section-title h2{font-size:22px;margin:0}.az-section-title p{margin:2px 0 0;font-size:10px;color:var(--az-muted)}

/* Animals catalogue */
.az-filter-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 12px}.az-chips{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.az-chip{padding:8px 13px;border-radius:999px;background:#e9eee9;color:#4d5f55;font-size:10px;font-weight:750;border:1px solid transparent}.az-chip.active{background:var(--az-green-700);color:#fff}.az-search-sort{display:flex;gap:8px;flex:1;justify-content:flex-end}.az-search-sort input{width:min(440px,100%)}
.az-animal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.az-animal-card{background:var(--az-card);border:1px solid var(--az-line);border-radius:13px;overflow:hidden;transition:.18s;position:relative}.az-animal-card:hover{transform:translateY(-2px);box-shadow:var(--az-shadow)}.az-animal-card-art{height:170px;position:relative;display:grid;place-items:end center;overflow:hidden;background:linear-gradient(180deg,#afcdae 0%,#dce4c9 57%,#b7c59a 58%,#cdd4a7 100%)}.az-animal-card-art:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.0),rgba(9,49,35,.07))}.az-animal-card-art img{position:relative;z-index:1;max-width:88%;max-height:95%;object-fit:contain;filter:drop-shadow(0 8px 7px rgba(17,46,36,.18))}.az-card-menu{position:absolute;z-index:3;right:8px;top:8px;width:25px;height:25px;border-radius:50%;background:rgba(20,58,46,.72);color:#fff;display:grid;place-items:center;font-size:11px}.az-animal-card-body{padding:10px 11px 12px}.az-animal-card-body h3{font-size:12px;margin:0}.az-animal-card-body em{display:block;font-style:italic;font-size:8px;color:#7a847e;margin-top:1px}.az-animal-card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:7px;font-size:8px;color:var(--az-muted)}.az-dot-rating{letter-spacing:1px;color:#456d58}.az-card-link{display:block;margin-top:8px;text-align:center;background:#edf3ef;padding:8px;border-radius:7px;font-size:9px;font-weight:800;color:var(--az-green-900)}

/* adoption */
body.az-v12 .species-market-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.species-market-card{border-radius:13px!important;background:var(--az-card)!important;border:1px solid var(--az-line)!important;box-shadow:none!important}.species-market-art{height:190px!important;background:linear-gradient(#b8d1b6 0 57%,#d5dfbd 57%)!important}.species-market-body{padding:12px!important}.species-market-title h2{font-size:16px!important}.species-market-body>p{font-size:10px!important;min-height:42px}.species-gameplay-strip{grid-template-columns:repeat(2,1fr)!important}.species-gameplay-meta{font-size:8px!important}.adoption-form-modern{grid-template-columns:1fr 100px!important}.adoption-enclosure-select{grid-column:1/-1}.adoption-form-modern .button{grid-column:1/-1;width:100%}

/* Enclosures */
body.az-v12 .enclosure-switcher{padding:0;border:0;background:transparent;box-shadow:none}.enclosure-switcher-head{margin-bottom:10px}.enclosure-switcher-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.enclosure-switch-card{min-height:150px!important;border-radius:13px!important;position:relative;overflow:hidden;display:flex!important;align-items:flex-end!important;padding:12px!important;color:#fff!important;background:linear-gradient(180deg,rgba(8,47,37,.02),rgba(8,47,37,.72)),url('../enclosures/prairie-backdrop.webp') center/cover no-repeat!important;border:1px solid #c7d5ca!important}.enclosure-switch-card:nth-child(2n){background-image:linear-gradient(180deg,rgba(8,47,37,.02),rgba(8,47,37,.72)),url('../enclosures/mountain-conifer.svg')!important}.enclosure-switch-card:nth-child(3n){background-image:linear-gradient(180deg,rgba(8,47,37,.02),rgba(8,47,37,.72)),url('../enclosures/river-wetland.svg')!important}.enclosure-switch-card.active{outline:3px solid #54ad7d;outline-offset:1px}.enclosure-switch-icon{display:none!important}.enclosure-switch-card div{position:relative;z-index:2}.enclosure-switch-card div b{font-size:13px}.enclosure-switch-card div small{color:rgba(255,255,255,.78)!important}.enclosure-switch-card>strong{position:absolute;right:10px;bottom:10px;z-index:2;background:#fff;color:var(--az-green-900);padding:5px 8px;border-radius:7px;font-size:9px}.enclosure-summary{margin-top:14px!important}.enclosure-stage{border-radius:14px!important}.enclosure-kpis{gap:8px!important}.kpi-card{border-radius:11px!important}

/* Animal detail */
body.az-v12 .app-back-link{font-size:10px;color:var(--az-green-700);font-weight:800;margin:0 0 10px;display:inline-block}
body.az-v12 .animal-detail-hero{display:grid;grid-template-columns:minmax(380px,.9fr) minmax(0,1.35fr);padding:0;overflow:hidden;box-shadow:none}
body.az-v12 .animal-detail-art{min-height:340px;border-radius:0;background:linear-gradient(180deg,#c4d8bc 0 57%,#d9dfb9 57%)!important;display:grid;place-items:end center;position:relative;overflow:hidden}
body.az-v12 .animal-detail-art img{max-width:88%!important;max-height:92%!important;object-fit:contain!important;filter:drop-shadow(0 10px 10px rgba(18,48,37,.2))}
body.az-v12 .animal-detail-copy{padding:24px 26px}.animal-detail-title h1{font-size:34px!important;font-weight:900!important}.animal-detail-copy .animal-description{font-size:11px;line-height:1.55;max-width:800px}.animal-facts-modern{grid-template-columns:repeat(4,1fr)!important;gap:8px!important}.animal-facts-modern>div{background:#f5f5ef!important;border:1px solid #e5e6df!important;border-radius:10px!important;padding:10px!important}.animal-facts-modern small{font-size:8px!important}.animal-facts-modern b{font-size:11px!important}
body.az-v12 .animal-enclosure-panel,body.az-v12 .animal-growth-panel,body.az-v12 .species-needs-panel,body.az-v12 .animal-value-panel,body.az-v12 .animal-market-panel,body.az-v12 .animal-detail-grid{margin-top:10px!important}

/* breeding */
body.az-v12 .breeding-page .app-page-head{margin-bottom:8px}.breeding-tabs,.market-tabs{display:flex;gap:4px;margin:0 0 10px}.breeding-tabs a,.market-tabs a{padding:8px 12px;border-radius:8px;background:#e8ede8;font-size:9px;font-weight:800}.breeding-tabs a.active,.market-tabs a.active{background:var(--az-green-700);color:#fff}.breeding-pair-grid{gap:10px!important}.breeding-pair-card{border-radius:13px!important}.breeding-pair-card .animal-card-sprite{background:linear-gradient(#bed2b4 0 57%,#d7ddba 57%)!important}

/* market */
body.az-v12 .market-filter-bar{border-radius:12px;padding:10px}.market-listing-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}.market-listing-card{display:block!important;padding:0!important;overflow:hidden;border-radius:13px!important}.market-listing-art{height:165px!important;background:linear-gradient(#bed2b4 0 57%,#d7ddba 57%)!important}.market-listing-copy{padding:10px!important}.market-listing-title h3{font-size:13px!important}.market-listing-meta{grid-template-columns:1fr 1fr!important}.market-buy-box{border-left:0!important;border-top:1px solid var(--az-line);padding:10px!important;background:#faf9f4!important}.market-buy-box strong{font-size:18px!important}.market-sell-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* collection */
.collection-modern-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:9px!important}.collection-modern-card{display:block!important;min-height:0!important;border-radius:11px!important;overflow:hidden!important}.collection-modern-art{height:110px!important;min-height:0!important;background:linear-gradient(#bdd3b8 0 57%,#d4dcb8 57%)!important}.collection-modern-art img{max-width:88%!important;max-height:94%!important;object-fit:contain!important}.collection-modern-copy{padding:8px!important}.collection-modern-copy h2{font-size:10px!important;margin:4px 0 1px!important}.collection-modern-copy em,.collection-modern-copy p,.collection-card-top b{font-size:7px!important}.collection-card-top .rarity-badge{font-size:7px!important;padding:3px 5px!important}.collection-page .collection-counter{min-width:170px}.collection-page .collection-counter:after{content:"";display:block;height:5px;margin-top:6px;border-radius:999px;background:linear-gradient(90deg,var(--az-green-600) 0 var(--collection-progress,0%),#e2e5df var(--collection-progress,0%) 100%)}

/* secondary pages generic cleanup */
body.az-v12 .app-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:14px 0 9px}.app-section-head h2{font-size:20px!important;margin:0!important}.app-section-head p,.app-section-head small{font-size:9px!important;color:var(--az-muted)}
body.az-v12 .empty-state{border:1px dashed #cad1cb;border-radius:13px;padding:30px;background:#fbfaf5}.alert,.app-alert{border-radius:10px!important;font-size:10px!important}

/* auth */
body.az-v12 .auth-wrap{min-height:calc(100vh - 130px);display:grid;place-items:center}.auth-card{border-radius:16px!important;box-shadow:var(--az-shadow)!important}.auth-card h1{font-family:inherit!important;font-size:32px!important;font-weight:900!important}

/* footer/mobile */
.az-footer{width:min(1500px,calc(100% - 30px));margin:auto;border-top:1px solid #d8ddd7;padding:20px 0;display:flex;justify-content:space-between;color:#7a847e;font-size:9px}.az-mobile-nav{display:none}

@media(max-width:1180px){
  .az-mainnav{gap:14px}.az-mainnav>a:nth-of-type(1){display:none}.az-wallet{display:none}
  .az-animal-grid{grid-template-columns:repeat(3,1fr)}.collection-modern-grid{grid-template-columns:repeat(4,1fr)!important}.market-listing-grid{grid-template-columns:repeat(3,1fr)!important}.species-market-grid{grid-template-columns:repeat(2,1fr)!important}
  .az-dash-head{grid-template-columns:1fr}.az-dash-kpis{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:860px){
  .az-topbar{height:54px}.az-topbar-inner{grid-template-columns:auto 1fr;width:calc(100% - 20px)}.az-mainnav{display:none}.az-top-actions{justify-self:end}.az-login-link{display:none}
  .az-page,.az-page.app-shell,.az-page.page-shell-wide,.az-page.enclosure-shell{width:calc(100% - 20px);padding:14px 0 82px}.az-page.public-shell{width:100%;padding-bottom:70px}
  .az-home{border-radius:0;min-height:720px}.az-home-content{display:block;padding:50px 22px 180px;min-height:720px}.az-home-copy h1{font-size:54px;max-width:450px}.az-home-copy p{font-size:15px}.az-home-animal{width:380px;right:-45px;bottom:120px}.az-home-note{display:none}.az-home-features{grid-template-columns:repeat(2,1fr);left:10px;right:10px;bottom:10px}.az-home-feature:nth-child(5){display:none}.az-home-feature{min-height:80px;padding:10px}
  .az-dash-kpis{grid-template-columns:repeat(2,1fr)}.az-dash-kpis .az-mini-kpi:last-child{grid-column:1/-1}.az-zoo-hero{height:250px}.az-actionbar{grid-template-columns:repeat(3,1fr)}.az-dash-panels{grid-template-columns:1fr}.az-animal-grid{grid-template-columns:repeat(2,1fr)}
  .enclosure-switcher-grid{grid-template-columns:repeat(2,1fr)!important}.collection-modern-grid{grid-template-columns:repeat(3,1fr)!important}.market-listing-grid,.market-sell-grid{grid-template-columns:repeat(2,1fr)!important}.species-market-grid{grid-template-columns:1fr!important}
  body.az-v12 .animal-detail-hero{grid-template-columns:1fr}.animal-detail-art{min-height:280px!important}.animal-facts-modern{grid-template-columns:1fr 1fr!important}
  .az-mobile-nav{display:grid;position:fixed;z-index:120;left:0;right:0;bottom:0;height:62px;background:#fff;border-top:1px solid #dce1dc;grid-template-columns:repeat(5,1fr);box-shadow:0 -6px 20px rgba(8,42,31,.08)}.az-mobile-nav>a,.az-mobile-nav>details>summary{height:62px;display:grid;place-content:center;text-align:center;gap:1px;list-style:none;font-size:8px;color:#6a756e}.az-mobile-nav>a span,.az-mobile-nav>details>summary span{font-size:18px}.az-mobile-nav>a.active{color:var(--az-green-700)}.az-mobile-nav b{font-size:8px}.az-mobile-nav details{position:relative}.az-mobile-sheet{position:fixed;left:10px;right:10px;bottom:70px;background:#fff;border:1px solid var(--az-line);border-radius:14px;padding:10px;display:grid;grid-template-columns:repeat(2,1fr);gap:5px;box-shadow:var(--az-shadow)}.az-mobile-sheet a{padding:10px;border-radius:8px;background:#f2f4ef;font-size:10px;font-weight:750}.az-footer{display:none}
}
@media(max-width:560px){
  .az-brand{font-size:18px}.az-top-cta{display:none}.az-icon-btn{display:none}.az-home-copy h1{font-size:44px}.az-home-animal{width:320px;right:-75px}.az-dash-head{gap:12px}.az-dash-title h1{font-size:29px}.az-dash-kpis{grid-template-columns:1fr 1fr}.az-zoo-hero{height:215px}.az-zoo-animal.a1{width:115px;left:5%}.az-zoo-animal.a2{width:110px;left:35%}.az-zoo-animal.a3{width:125px;right:2%}.az-actionbar{grid-template-columns:repeat(2,1fr)}.az-animal-grid{grid-template-columns:1fr 1fr;gap:8px}.az-animal-card-art{height:130px}.az-filter-row{display:grid}.az-search-sort{justify-content:stretch}.az-search-sort input{width:100%}.collection-modern-grid{grid-template-columns:repeat(2,1fr)!important}.market-listing-grid,.market-sell-grid{grid-template-columns:1fr!important}.enclosure-switcher-grid{grid-template-columns:1fr!important}.app-page-head{align-items:flex-start!important}.app-page-head h1{font-size:29px!important}.app-page-head .page-wallet{display:none}.animal-facts-modern{grid-template-columns:1fr 1fr!important}
}
/* Reproduction : cartes parents proches de la maquette */
body.az-v12 .breeding-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.az-v12 .breeding-pair-card{padding:14px!important;background:var(--az-card);border:1px solid var(--az-line);border-radius:13px!important}
body.az-v12 .breeding-parents{display:grid!important;grid-template-columns:1fr 34px 1fr!important;gap:10px!important;align-items:center!important;margin:10px 0!important}
body.az-v12 .breeding-parents>a{display:grid!important;grid-template-columns:64px 1fr!important;grid-template-rows:auto auto!important;column-gap:9px!important;align-items:center!important;padding:8px!important;border:1px solid #e4e8e1!important;border-radius:10px!important;background:#fafaf5!important;position:relative!important}
body.az-v12 .breeding-parent-art{grid-row:1/3;width:64px;height:64px;border-radius:9px;display:grid;place-items:end center;overflow:hidden;background:linear-gradient(#bfd4ba 0 57%,#d7deba 57%)}
body.az-v12 .breeding-parent-art img{max-width:92%;max-height:94%;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(15,51,39,.14))}
body.az-v12 .breeding-parents>a b{font-size:12px!important;align-self:end}.breeding-parents>a small{font-size:8px!important;color:var(--az-muted)!important;align-self:start}.breeding-parents .parent-sex{position:absolute!important;right:7px!important;top:7px!important;width:20px!important;height:20px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#fff!important;font-size:10px!important;font-weight:900!important}.breeding-heart{font-size:18px!important;color:#d94b4b!important;text-align:center}
@media(max-width:860px){body.az-v12 .breeding-pair-grid{grid-template-columns:1fr}}

body.az-v12 .market-rules{display:none}
body.az-v12 .breeding-rules{display:none}
body.az-v12 .genetics-breeding-banner{display:none}
body.az-v12 .market-summary{display:none}
body.az-v12 .market-filters{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr)) auto auto;gap:8px;padding:10px;border-radius:11px;align-items:end}
body.az-v12 .market-filters label span{display:block;font-size:8px;color:var(--az-muted);margin-bottom:4px}
body.az-v12 .market-filters input,body.az-v12 .market-filters select{width:100%;padding:8px;font-size:9px}
@media(max-width:1180px){body.az-v12 .market-filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){body.az-v12 .market-filters{grid-template-columns:1fr 1fr}}


/* AniZoo V1.2.1 — polish lisibilité / espacements / progression */
/* Liens et boutons : contraste explicite, notamment dans le header et la barre d'actions */
body.az-v12 .az-mainnav>a,
body.az-v12 .az-nav-more>summary{color:rgba(255,255,255,.88);opacity:1}
body.az-v12 .az-mainnav>a:hover,
body.az-v12 .az-nav-more>summary:hover{color:#fff}
body.az-v12 .az-mainnav>a.is-active,
body.az-v12 .az-nav-more.is-active>summary{color:#fff}
body.az-v12 .az-mainnav .is-locked{color:rgba(255,255,255,.62);opacity:1}
body.az-v12 .az-nav-menu a,
body.az-v12 .az-account-menu a{color:var(--az-ink)}
body.az-v12 .az-nav-menu a:hover,
body.az-v12 .az-account-menu a:hover{color:var(--az-green-700)}
body.az-v12 .button:not(.button-soft){color:#fff!important}
body.az-v12 .az-actionbar a{color:#fff!important}
body.az-v12 .az-actionbar a:hover{color:#fff!important}
body.az-v12 .text-link,
body.az-v12 .capacity-roadmap-card a{color:var(--az-green-700)!important}
body.az-v12 .az-card-link{color:var(--az-green-900)!important}

/* Enclos : rapprocher le titre, le résumé et les cartes */
body.az-v12.enclosures-page .app-page-head.enclosure-page-head{margin-bottom:8px}
body.az-v12.enclosures-page .enclosure-page-head h1{margin-bottom:2px}
body.az-v12.enclosures-page .enclosure-page-head p{line-height:1.3}
body.az-v12.enclosures-page .enclosure-switcher-head{margin:0 0 8px;align-items:flex-end}
body.az-v12.enclosures-page .enclosure-switcher-head .eyebrow{margin-bottom:2px}
body.az-v12.enclosures-page .enclosure-switcher-head h2{margin:0;font-size:19px;line-height:1.1}
body.az-v12.enclosures-page .enclosure-switcher{margin-bottom:14px}

/* Reproduction : compteur de places libre lisible et indépendant de la Collection */
body.az-v12 .breeding-page .page-head-actions{display:flex;align-items:center;gap:12px}
body.az-v12 .breeding-page .page-wallet{font-size:13px;font-weight:800;color:var(--az-ink)}
body.az-v12 .breeding-free-places{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #d8e6dd;border-radius:999px;background:#edf6f0;color:#315e48;font-size:11px;font-weight:750;white-space:nowrap}
body.az-v12 .breeding-free-places strong{font-size:12px;color:var(--az-green-900)}
body.az-v12 .breeding-free-dot{width:7px;height:7px;border-radius:50%;background:#45a875;box-shadow:0 0 0 3px rgba(69,168,117,.12)}

/* Progression : bloc XP stable, dense et lisible à toutes les largeurs */
body.az-v12 .progression-howto{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;padding:18px 20px}
body.az-v12 .progression-howto-intro{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(320px,1.2fr);column-gap:28px;align-items:end}
body.az-v12 .progression-howto-intro .eyebrow{grid-column:1/-1;margin-bottom:2px}
body.az-v12 .progression-howto-intro h2{margin:0;font-size:22px;line-height:1.12;max-width:520px}
body.az-v12 .progression-howto-intro p{margin:0;align-self:end;max-width:620px;font-size:10px;line-height:1.5}
body.az-v12 .progression-xp-sources{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body.az-v12 .progression-xp-sources span{min-height:58px;padding:10px 12px;border:1px solid #e0e4dd;border-radius:11px;background:#fbfaf6;display:flex;flex-direction:column;justify-content:center}
body.az-v12 .progression-xp-sources b{font-size:13px;line-height:1.1;color:var(--az-green-700)}
body.az-v12 .progression-xp-sources small{font-size:8.5px;line-height:1.25;margin-top:4px;color:#6f7973}
body.az-v12 .progression-milestones-note{grid-column:auto;display:flex;gap:9px;align-items:center;padding:10px 0 0;border-top:1px solid #e7e8e2}
body.az-v12 .progression-milestones-note span{font-size:18px;color:#c5901d}
body.az-v12 .progression-milestones-note p{font-size:9px;line-height:1.4}

@media(max-width:980px){
  body.az-v12 .progression-howto-intro{grid-template-columns:1fr;gap:6px}
  body.az-v12 .progression-xp-sources{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  body.az-v12 .breeding-page .page-head-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  body.az-v12 .progression-xp-sources{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.az-v12.enclosures-page .enclosure-switcher-head{align-items:stretch}
}
@media(max-width:420px){
  body.az-v12 .progression-xp-sources{grid-template-columns:1fr}
}

/* AniZoo V1.2.2 — spacing polish / respiration des pages intérieures */

/* Enclos : neutralise l'ancien width:100%!important de app.css et redonne de vraies marges */
@media (min-width:861px){
  body.az-v12.enclosures-page .az-page.enclosure-shell{
    width:min(1500px,calc(100% - 64px))!important;
    padding-top:28px!important;
    padding-bottom:64px!important;
  }
  body.az-v12.breeding-page .az-page.app-shell,
  body.az-v12.progression-page .az-page.app-shell{
    padding-top:26px;
    padding-bottom:62px;
  }
}

body.az-v12.enclosures-page .enclosure-page-head{
  margin-bottom:16px;
  padding:0 4px;
}
body.az-v12.enclosures-page .enclosure-page-head .eyebrow{margin-bottom:5px}
body.az-v12.enclosures-page .enclosure-page-head h1{margin-bottom:5px}
body.az-v12.enclosures-page .enclosure-page-head p{line-height:1.45}

body.az-v12.enclosures-page .enclosure-switcher{
  margin:0;
}
body.az-v12.enclosures-page .enclosure-switcher-head{
  margin:0 0 14px;
  padding:0 4px;
}
body.az-v12.enclosures-page .enclosure-switcher-head .eyebrow{margin-bottom:4px}
body.az-v12.enclosures-page .enclosure-switcher-grid{
  gap:16px!important;
}
body.az-v12.enclosures-page .enclosure-switch-card{
  min-height:158px!important;
  padding:15px!important;
}
body.az-v12.enclosures-page .enclosure-summary{
  margin-top:24px!important;
  padding:16px 20px;
  gap:28px;
}
body.az-v12.enclosures-page .enclosure-title-wrap{gap:18px}
body.az-v12.enclosures-page .enclosure-subline{gap:24px;row-gap:7px;flex-wrap:wrap}
body.az-v12.enclosures-page .enclosure-kpis{gap:10px!important}
body.az-v12.enclosures-page .kpi-card{padding:11px 15px;min-width:130px}
body.az-v12.enclosures-page .enclosure-capacity-card{
  margin:12px 0 20px;
  padding:18px 20px;
}
body.az-v12.enclosures-page .enclosure-stage{
  margin-top:0;
  border-radius:16px 16px 0 0!important;
}
body.az-v12.enclosures-page .enclosure-care-toolbar{
  margin-top:20px;
  padding:18px 20px;
}
body.az-v12.enclosures-page .tab-panel.active{
  padding-top:4px;
}
body.az-v12.enclosures-page .app-section-head{
  margin-top:20px;
  margin-bottom:11px;
}

/* Reproduction : plus d'air sans perdre le côté compact */
body.az-v12.breeding-page .app-page-head{
  margin-bottom:14px;
}
body.az-v12.breeding-page .app-page-head h1{margin-bottom:6px}
body.az-v12.breeding-page .page-head-actions{gap:10px}
body.az-v12.breeding-page .breeding-free-places{padding:8px 12px}
body.az-v12.breeding-page .breeding-tabs{
  margin-bottom:18px;
}
body.az-v12.breeding-page .app-section-head{
  margin-top:22px;
  margin-bottom:12px;
}
body.az-v12.breeding-page .breeding-active-grid,
body.az-v12.breeding-page .breeding-pair-grid{
  row-gap:14px!important;
}

/* Progression : davantage de respiration entre les grands chapitres */
body.az-v12.progression-page .app-page-head{
  margin-bottom:20px;
}
body.az-v12.progression-page .progression-overview{
  padding:20px 22px;
  margin-bottom:26px;
}
body.az-v12.progression-page .progression-section{
  margin-top:28px;
}
body.az-v12.progression-page .progression-section>.app-section-head{
  margin-bottom:13px;
}
body.az-v12.progression-page .progression-feature-grid,
body.az-v12.progression-page .capacity-roadmap-grid{
  gap:12px;
}
body.az-v12.progression-page .progression-feature-card{
  padding:16px;
}
body.az-v12.progression-page .progression-howto{
  margin-top:30px;
  padding:24px 26px;
  gap:18px;
}
body.az-v12.progression-page .progression-howto-intro{
  column-gap:34px;
  row-gap:7px;
}
body.az-v12.progression-page .progression-howto-intro h2{
  font-size:23px;
  line-height:1.15;
}
body.az-v12.progression-page .progression-howto-intro p{
  line-height:1.6;
}
body.az-v12.progression-page .progression-xp-sources{
  gap:10px;
}
body.az-v12.progression-page .progression-xp-sources span{
  min-height:64px;
  padding:12px 14px;
}
body.az-v12.progression-page .progression-milestones-note{
  padding-top:13px;
}

@media(max-width:860px){
  body.az-v12.enclosures-page .az-page.enclosure-shell{
    width:calc(100% - 20px)!important;
    padding-top:16px!important;
  }
  body.az-v12.enclosures-page .enclosure-switch-card{
    min-height:142px!important;
  }
  body.az-v12.enclosures-page .enclosure-summary{
    margin-top:16px!important;
    padding:13px 14px;
  }
  body.az-v12.enclosures-page .enclosure-capacity-card{
    margin:10px 0 14px;
    padding:14px;
  }
  body.az-v12.progression-page .progression-howto{
    padding:18px;
  }
}

@media(max-width:620px){
  body.az-v12.enclosures-page .enclosure-page-head{padding:0}
  body.az-v12.enclosures-page .enclosure-switcher-head{padding:0}
  body.az-v12.enclosures-page .enclosure-switcher-grid{gap:10px!important}
  body.az-v12.enclosures-page .enclosure-switch-card{min-height:132px!important;padding:12px!important}
  body.az-v12.enclosures-page .enclosure-summary{padding:11px}
  body.az-v12.enclosures-page .enclosure-care-toolbar{padding:13px;margin-top:13px}
  body.az-v12.breeding-page .breeding-tabs{margin-bottom:13px}
  body.az-v12.progression-page .progression-section{margin-top:22px}
  body.az-v12.progression-page .progression-howto{margin-top:24px;padding:15px}
}

/* AniZoo V1.2.3 — refonte complète du tutoriel */
body.az-v12.tutorial-page .az-page.app-shell{
  width:min(1380px,calc(100% - 56px));
  padding-top:30px;
  padding-bottom:70px;
}
body.az-v12.tutorial-page .tutorial-page-head{
  margin-bottom:20px;
  align-items:flex-end;
}
body.az-v12.tutorial-page .tutorial-page-head h1{font-size:36px;margin-bottom:7px}
body.az-v12.tutorial-page .tutorial-page-head p{max-width:760px;line-height:1.55;font-size:12px}
body.az-v12.tutorial-page .tutorial-head-actions{display:flex;gap:8px;flex-wrap:wrap}

body.az-v12 .tutorial-hero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);
  gap:18px;
  padding:22px;
  margin-bottom:14px;
  background:linear-gradient(135deg,#fff 0%,#fbfcf8 68%,#f1f7f2 100%);
}
body.az-v12 .tutorial-hero-main{display:flex;align-items:center;gap:22px;min-width:0}
body.az-v12 .tutorial-progress-ring{
  --p:calc(var(--tutorial-percent) * 3.6deg);
  width:122px;height:122px;min-width:122px;border-radius:50%;
  display:grid;place-items:center;
  background:conic-gradient(var(--az-green-700) var(--p),#e7ece8 0);
  position:relative;
}
body.az-v12 .tutorial-progress-ring:after{
  content:"";position:absolute;inset:9px;border-radius:50%;background:#fff;
  box-shadow:inset 0 0 0 1px #e0e8e2;
}
body.az-v12 .tutorial-progress-ring-inner{position:relative;z-index:1;text-align:center;display:grid;gap:1px}
body.az-v12 .tutorial-progress-ring-inner strong{font-size:25px;line-height:1;color:var(--az-green-900)}
body.az-v12 .tutorial-progress-ring-inner span{font-size:9px;color:var(--az-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}
body.az-v12 .tutorial-hero-copy{min-width:0}
body.az-v12 .tutorial-status-pill{
  display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;
  font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;margin-bottom:9px;
  background:#edf5ef;color:#2f7653;
}
body.az-v12 .tutorial-status-pill.done{background:#e7f5eb;color:#187044}
body.az-v12 .tutorial-hero-copy h2{margin:0 0 7px;font-size:27px;line-height:1.1}
body.az-v12 .tutorial-hero-copy p{margin:0 0 13px;max-width:650px;color:var(--az-muted);font-size:11px;line-height:1.55}
body.az-v12 .tutorial-linear-progress{height:8px;background:#e6ece8;border-radius:999px;overflow:hidden;max-width:620px}
body.az-v12 .tutorial-linear-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1c7a55,#49a66f)}
body.az-v12 .tutorial-hero-copy>small{display:block;margin-top:6px;color:#738078;font-size:9px}

body.az-v12 .tutorial-next-card{
  border:1px solid #d9e5dc;border-radius:14px;background:#f6faf7;
  padding:16px;display:flex;flex-direction:column;justify-content:center;gap:9px;
  min-height:160px;
}
body.az-v12 .tutorial-next-card.is-complete{background:linear-gradient(135deg,#f7fbf8,#edf7f0)}
body.az-v12 .tutorial-next-kicker{font-size:8px;font-weight:900;letter-spacing:.1em;color:#678071}
body.az-v12 .tutorial-next-title{font-size:16px;line-height:1.2;color:var(--az-ink)}
body.az-v12 .tutorial-next-card p{margin:0;color:var(--az-muted);font-size:10px;line-height:1.45}
body.az-v12 .tutorial-next-card .button{align-self:flex-start}
body.az-v12 .tutorial-next-card form{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
body.az-v12 .tutorial-reward-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:100%}
body.az-v12 .tutorial-reward-row span{padding:9px 8px;border:1px solid #dde8e0;border-radius:10px;background:#fff;display:grid;gap:2px}
body.az-v12 .tutorial-reward-row b{font-size:11px;color:var(--az-green-900)}
body.az-v12 .tutorial-reward-row small{font-size:7.5px;color:var(--az-muted)}

body.az-v12 .tutorial-roadmap{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;
  margin:2px 0 30px;padding:0 8px;align-items:start;
}
body.az-v12 .tutorial-roadmap-item{
  position:relative;min-width:0;display:grid;grid-template-rows:32px auto;justify-items:center;
  align-items:start;gap:7px;padding:0 7px;text-align:center;
}
body.az-v12 .tutorial-roadmap-item:not(:last-child):after{
  content:"";position:absolute;left:calc(50% + 14px);right:calc(-50% + 14px);top:13px;
  height:2px;border-radius:999px;background:#dfe7e2;z-index:0;pointer-events:none;
}
body.az-v12 .tutorial-roadmap-item.done:not(:last-child):after{background:#78b590}
body.az-v12 .tutorial-roadmap-dot{
  width:28px;height:28px;min-width:28px;border-radius:50%;display:grid;place-items:center;position:relative;z-index:2;
  border:1px solid #d5dfd9;background:#f6f8f5;color:#809087;font-size:10px;font-weight:900;
  box-shadow:0 0 0 4px var(--az-bg);
}
body.az-v12 .tutorial-roadmap-item.done .tutorial-roadmap-dot{background:#1f7655;border-color:#1f7655;color:#fff}
body.az-v12 .tutorial-roadmap-item.current .tutorial-roadmap-dot{background:#fff7dc;border-color:#e0b94c;color:#926d08;box-shadow:0 0 0 4px var(--az-bg),0 0 0 7px rgba(224,185,76,.12)}
body.az-v12 .tutorial-roadmap-item small{
  display:block;width:100%;min-height:28px;padding:0 4px;font-size:8.5px;line-height:1.3;color:#68776f;
  font-weight:750;white-space:normal;overflow:visible;text-overflow:clip;position:relative;z-index:1;
}

body.az-v12 .tutorial-steps-section{margin-top:0;margin-bottom:28px}
body.az-v12 .tutorial-section-head{margin-bottom:13px;align-items:end}
body.az-v12 .tutorial-section-head h2{font-size:24px;margin:0}
body.az-v12 .tutorial-section-head p{max-width:520px;text-align:right;font-size:9px;line-height:1.45}
body.az-v12 .tutorial-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.az-v12 .tutorial-step-card{
  min-height:205px;border:1px solid #dfe6e0;border-radius:14px;background:#fff;padding:15px;
  display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 8px rgba(11,51,39,.025);
}
body.az-v12 .tutorial-step-card.done{background:#fbfdfb;border-color:#d5e5da}
body.az-v12 .tutorial-step-card.current{border-color:#d7b761;background:linear-gradient(145deg,#fffdf7,#fff);box-shadow:0 0 0 3px rgba(215,183,97,.10)}
body.az-v12 .tutorial-step-card.pending{background:#fbfaf7;border-color:#e7e5de}
body.az-v12 .tutorial-step-top{display:flex;align-items:center;gap:8px}
body.az-v12 .tutorial-step-number{
  width:28px;height:28px;border-radius:9px;background:#edf3ef;color:#365f4d;display:grid;place-items:center;font-weight:900;font-size:10px;
}
body.az-v12 .tutorial-step-card.done .tutorial-step-number{background:#1f7655;color:#fff}
body.az-v12 .tutorial-step-card.current .tutorial-step-number{background:#fff0c6;color:#875f05}
body.az-v12 .tutorial-step-icon{font-size:21px;line-height:1}
body.az-v12 .tutorial-step-badge{margin-left:auto;padding:5px 7px;border-radius:999px;background:#eef4ef;color:#557164;font-size:7.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
body.az-v12 .tutorial-step-card.done .tutorial-step-badge{background:#e6f4ea;color:#237044}
body.az-v12 .tutorial-step-card.current .tutorial-step-badge{background:#fff2cd;color:#8a670e}
body.az-v12 .tutorial-step-copy{flex:1}
body.az-v12 .tutorial-step-copy h3{font-size:15px;line-height:1.25;margin:0 0 6px}
body.az-v12 .tutorial-step-copy p{margin:0;font-size:9.5px;line-height:1.5;color:var(--az-muted)}
body.az-v12 .tutorial-step-footer{min-height:34px;display:flex;align-items:flex-end}
body.az-v12 .tutorial-step-footer .button{padding:8px 10px;font-size:8.5px}
body.az-v12 .tutorial-step-state{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:800;color:#2f7653}
body.az-v12 .tutorial-step-state.muted{color:#8a918d;font-weight:650}

body.az-v12 .tutorial-unlocks{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:24px;align-items:center;padding:20px 22px;margin-bottom:12px}
body.az-v12 .tutorial-unlocks-copy h2{font-size:21px;margin:0 0 6px}
body.az-v12 .tutorial-unlocks-copy p{font-size:9.5px;line-height:1.5;color:var(--az-muted);margin:0}
body.az-v12 .tutorial-unlock-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
body.az-v12 .tutorial-unlock-grid span{min-height:76px;padding:9px;border:1px solid #dfe7e2;border-radius:11px;background:#fbfcfa;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:6px}
body.az-v12 .tutorial-unlock-grid b{font-size:8px;color:#678071;letter-spacing:.06em}
body.az-v12 .tutorial-unlock-grid i{grid-row:1/3;grid-column:2;font-style:normal;font-size:19px;justify-self:end}
body.az-v12 .tutorial-unlock-grid small{font-size:8.5px;font-weight:800;color:var(--az-ink)}

body.az-v12 .tutorial-visibility{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:15px 18px}
body.az-v12 .tutorial-visibility-icon{width:42px;height:42px;border-radius:12px;background:#edf4ef;display:grid;place-items:center;font-size:20px}
body.az-v12 .tutorial-visibility-copy h2{font-size:15px;margin:0 0 3px}
body.az-v12 .tutorial-visibility-copy p{font-size:9px;color:var(--az-muted);margin:0}
body.az-v12 .tutorial-visibility .eyebrow{margin-bottom:3px}
body.az-v12 .tutorial-visibility form{display:flex;align-items:center;gap:7px}

@media(max-width:1050px){
  body.az-v12.tutorial-page .az-page.app-shell{width:min(100% - 30px,1380px)}
  body.az-v12 .tutorial-hero{grid-template-columns:1fr}
  body.az-v12 .tutorial-next-card{min-height:0}
  body.az-v12 .tutorial-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.az-v12 .tutorial-unlocks{grid-template-columns:1fr}
  body.az-v12 .tutorial-unlock-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.az-v12 .tutorial-roadmap{grid-template-columns:repeat(3,1fr);row-gap:18px;padding-inline:4px}
  body.az-v12 .tutorial-roadmap-item:nth-child(3):after{display:none}
}
@media(max-width:720px){
  body.az-v12.tutorial-page .az-page.app-shell{width:calc(100% - 20px);padding-top:17px}
  body.az-v12.tutorial-page .tutorial-page-head{align-items:flex-start;gap:12px}
  body.az-v12.tutorial-page .tutorial-page-head h1{font-size:29px}
  body.az-v12 .tutorial-hero{padding:15px}
  body.az-v12 .tutorial-hero-main{align-items:flex-start;gap:14px}
  body.az-v12 .tutorial-progress-ring{width:92px;height:92px;min-width:92px}
  body.az-v12 .tutorial-progress-ring-inner strong{font-size:20px}
  body.az-v12 .tutorial-hero-copy h2{font-size:22px}
  body.az-v12 .tutorial-step-grid{grid-template-columns:1fr}
  body.az-v12 .tutorial-step-card{min-height:0}
  body.az-v12 .tutorial-section-head{align-items:flex-start}
  body.az-v12 .tutorial-section-head p{text-align:left}
  body.az-v12 .tutorial-unlock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.az-v12 .tutorial-visibility{grid-template-columns:auto 1fr}
  body.az-v12 .tutorial-visibility form{grid-column:1/-1}
}
@media(max-width:470px){
  body.az-v12 .tutorial-hero-main{display:grid;grid-template-columns:1fr}
  body.az-v12 .tutorial-progress-ring{width:84px;height:84px;min-width:84px}
  body.az-v12 .tutorial-reward-row{grid-template-columns:1fr}
  body.az-v12 .tutorial-roadmap{grid-template-columns:repeat(2,1fr);row-gap:18px;padding-inline:0}
  body.az-v12 .tutorial-roadmap-item:nth-child(2n):after{display:none}
  body.az-v12 .tutorial-unlock-grid{grid-template-columns:1fr 1fr}
}

/* === AniZoo V1.2.4 : utilitaire accessibilité + correction Adoption === */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}



/* Faunelya V2.14.7 — mini hotfix taupe sur la scène du zoo */
/* La taupe paraissait trop massive et trop haute sur la scène d'accueil.
   On lui donne une taille un peu plus discrète et on l'ancre plus bas
   dans le décor pour qu'elle paraisse posée au sol. */
.az-zoo-animal.species-mole{
  width:128px!important;
  max-width:15%!important;
  bottom:-2px!important;
  filter:saturate(.94) brightness(.98) drop-shadow(0 7px 8px rgba(15,49,39,.18))!important;
}
@media (max-width:980px){
  .az-zoo-animal.species-mole{width:112px!important;max-width:17%!important;bottom:-3px!important}
}
@media (max-width:640px){
  .az-zoo-animal.species-mole{width:96px!important;max-width:19%!important;bottom:-4px!important}
}
