/* ── Error main area ── */
.err-main{flex:1;display:flex;align-items:center;justify-content:center;padding:64px 24px}
.err-card{
  background:#FFFDF9;
  border:1px solid var(--paw-card-bdr);
  border-radius:24px;
  padding:56px 48px 48px;
  max-width:520px;width:100%;
  text-align:center;
  position:relative;overflow:hidden;
}
/* Watermark circles */
/* .err-card::before{content:'';position:absolute;bottom:-44px;right:-44px;width:160px;height:160px;background:var(--paw-cream-dk);border-radius:50%;opacity:.6} */
/* .err-card::after {content:'';position:absolute;top:-32px;left:-32px;width:104px;height:104px;background:var(--paw-cream-dk);border-radius:50%;opacity:.4} */

/* Error code */
.err-code{font-family:'Fraunces',serif;font-size:96px;font-weight:600;line-height:1;letter-spacing:-3px;margin-bottom:8px;position:relative;z-index:1}
/* .err-code.e400{color:var(--paw-forest)} */
.err-code.e400, .err-code.e404, .err-code.e500 {color:var(--paw-gold)}
/* .err-code.e500{color:var(--paw-coral)} */

/* Badge */
.err-badge{display:inline-block;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:500;margin-bottom:20px;position:relative;z-index:1}
.badge-forest{background:rgba(44,95,45,.1);color:var(--paw-forest)}
.badge-gold  {background:rgba(201,151,42,.12);color:var(--paw-gold)}
.badge-coral {background:rgba(212,112,74,.1);color:var(--paw-coral-dk)}

/* Illustration */
.err-illus{margin:20px auto 24px;position:relative;z-index:1;width:180px;height:180px}

/* Text */
.err-title{font-family:'Fraunces',serif;font-size:24px;font-weight:600;margin-bottom:10px;position:relative;z-index:1;color:var(--paw-ink)}
.err-sub{font-size:14px;font-weight:300;color:var(--paw-bark-lt);line-height:1.65;margin-bottom:8px;position:relative;z-index:1}
.err-tagline{font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--paw-bark-xlt);margin-bottom:32px;position:relative;z-index:1}

/* ══════════════════════════════
   CSS PET ILLUSTRATIONS
   ══════════════════════════════ */

/* --- 400: confused dog tilting head --- */
.dog{position:relative;width:180px;height:180px}
.dog .body{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:90px;height:70px;background:#D4956A;border-radius:45px 45px 35px 35px}
.dog .hw{position:absolute;bottom:76px;left:50%;transform-origin:bottom center;animation:tilt 2.8s ease-in-out infinite}
@keyframes tilt{0%,100%{transform:translateX(-50%) rotate(-18deg)}50%{transform:translateX(-50%) rotate(18deg)}}
.dog .head{width:72px;height:66px;background:#D4956A;border-radius:50%;position:relative}
.dog .ear{position:absolute;width:26px;height:38px;background:#B8724A;border-radius:50%;top:-10px}
.dog .ear.l{left:-8px;transform:rotate(-15deg)} .dog .ear.r{right:-8px;transform:rotate(15deg)}
.dog .eye{position:absolute;width:12px;height:12px;background:#2C2C2A;border-radius:50%;top:22px}
.dog .eye.l{left:12px} .dog .eye.r{right:12px}
.dog .eye::after{content:'';position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;top:2px;left:2px}
.dog .nose{position:absolute;width:18px;height:13px;background:#2C2C2A;border-radius:50% 50% 40% 40%;bottom:16px;left:50%;transform:translateX(-50%)}
.dog .tail{position:absolute;bottom:28px;right:22px;width:14px;height:44px;background:#B8724A;border-radius:7px;transform-origin:bottom center;animation:wag .6s ease-in-out infinite alternate}
@keyframes wag{from{transform:rotate(10deg)}to{transform:rotate(40deg)}}
.dog .paw{position:absolute;bottom:10px;width:22px;height:16px;background:#D4956A;border-radius:11px 11px 8px 8px}
.dog .paw.l{left:38px} .dog .paw.r{right:38px; z-index: 2;}
.dog .qs{position:absolute;font-family:'Fraunces',serif;font-weight:600;color:var(--paw-forest);animation:fq 2.8s ease-in-out infinite}
.dog .q1{font-size:28px;top:0;right:10px;animation-delay:0s}
.dog .q2{font-size:20px;top:20px;right:0;animation-delay:.4s;opacity:.6}
.dog .q3{font-size:16px;top:36px;right:18px;animation-delay:.8s;opacity:.4}
@keyframes fq{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* --- 404: searching cat --- */
.cat404{position:relative;width:180px;height:180px}
.cat404 .body{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:80px;height:72px;background:#8C8C8A;border-radius:40px 40px 30px 30px}
.cat404 .tail{position:absolute;bottom:14px;right:14px;width:50px;height:16px;border:10px solid #6E6E6C;border-radius:0 0 30px 0;border-top:none;border-left:none}
.cat404 .tail-tip{position:absolute;bottom:14px;right:14px;width:18px;height:18px;background:#6E6E6C;border-radius:50%}
.cat404 .hw{position:absolute;bottom:76px;left:50%;transform-origin:bottom center;animation:look 3.5s ease-in-out infinite}
@keyframes look{0%{transform:translateX(-50%) rotate(0)}20%{transform:translateX(-50%) rotate(-25deg)}45%{transform:translateX(-50%) rotate(0)}65%{transform:translateX(-50%) rotate(25deg)}85%,100%{transform:translateX(-50%) rotate(0)}}
.cat404 .head{width:68px;height:62px;background:#8C8C8A;border-radius:50% 50% 48% 48%;position:relative}
.cat404 .ear{position:absolute;top:-14px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:22px solid #8C8C8A}
.cat404 .ear.l{left:4px;transform:rotate(-8deg)} .cat404 .ear.r{right:4px;transform:rotate(8deg)}
.cat404 .ear::after{content:'';position:absolute;top:4px;left:-7px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:13px solid #E8ADAD}
.cat404 .eye{position:absolute;top:18px;width:15px;height:15px;background:#C4A53A;border-radius:50%}
.cat404 .eye.l{left:10px} .cat404 .eye.r{right:10px}
.cat404 .eye::before{content:'';position:absolute;width:5px;height:12px;background:#1A1A1A;border-radius:3px;top:1.5px;left:5px}
.cat404 .eye::after{content:'';position:absolute;width:4px;height:4px;background:#fff;border-radius:50%;top:2px;left:2px;z-index:1}
.cat404 .nose{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);width:10px;height:8px;background:#E8ADAD;border-radius:50%}
.cat404 .wh{position:absolute;height:1.5px;background:#555;border-radius:1px;opacity:.5}
.cat404 .w1{width:28px;bottom:22px;left:-24px;transform:rotate(-8deg)}
.cat404 .w2{width:28px;bottom:16px;left:-24px;transform:rotate(4deg)}
.cat404 .w3{width:28px;bottom:22px;right:-24px;transform:rotate(8deg)}
.cat404 .w4{width:28px;bottom:16px;right:-24px;transform:rotate(-4deg)}
.cat404 .mag{position:absolute;top:10px;right:8px;animation:magb 3.5s ease-in-out infinite}
@keyframes magb{0%{transform:rotate(0)}20%{transform:rotate(-30deg) translateY(2px)}45%{transform:rotate(0)}65%{transform:rotate(30deg) translateY(2px)}85%,100%{transform:rotate(0)}}
.cat404 .mag-c{width:34px;height:34px;border:4px solid var(--paw-gold);border-radius:50%}
.cat404 .mag-h{width:4px;height:18px;background:var(--paw-gold);border-radius:2px;margin-left:24px;margin-top:-2px;transform:rotate(45deg);transform-origin:top center}
.cat404 .paw{position:absolute;bottom:8px;width:20px;height:14px;background:#8C8C8A;border-radius:10px 10px 7px 7px}
.cat404 .paw.l{left:40px} .cat404 .paw.r{right:40px; z-index: 2;}

/* --- 500: broken sleeping cat --- */
.cat500{position:relative;width:180px;height:180px}
.cat500 .body{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:100px;height:56px;background:#C8A882;border-radius:50%}
.cat500 .head{position:absolute;bottom:54px;left:30px;width:58px;height:52px;background:#C8A882;border-radius:50% 50% 46% 46%;animation:droop 3s ease-in-out infinite;transform-origin:bottom right}
@keyframes droop{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(-22deg)}}
.cat500 .ear{position:absolute;top:-12px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:18px solid #C8A882}
.cat500 .ear.l{left:2px;transform:rotate(-12deg)} .cat500 .ear.r{right:4px;transform:rotate(8deg)}
.cat500 .eye{position:absolute;width:12px;height:12px;top:18px}
.cat500 .eye.l{left:6px} .cat500 .eye.r{right:8px}
.cat500 .eye::before,.cat500 .eye::after{content:'';position:absolute;width:12px;height:2px;background:#7A5C3A;border-radius:1px;top:5px;left:0}
.cat500 .eye::before{transform:rotate(45deg)} .cat500 .eye::after{transform:rotate(-45deg)}
.cat500 .nose{position:absolute;width:9px;height:7px;background:#E8ADAD;border-radius:50%;bottom:14px;left:50%;transform:translateX(-50%)}
.cat500 .tail{position:absolute;bottom:12px;right:8px;width:48px;height:28px;border:9px solid #A8845C;border-radius:0 0 28px 0;border-top:none;border-left:none}
.cat500 .zz{position:absolute;font-family:'Fraunces',serif;font-weight:600;color:var(--paw-coral)}
.cat500 .z1{font-size:30px;top:4px;right:16px;animation:fz 2.2s ease-in-out infinite}
.cat500 .z2{font-size:22px;top:24px;right:6px;animation:fz 2.2s ease-in-out infinite .3s;opacity:.7}
.cat500 .z3{font-size:15px;top:40px;right:18px;animation:fz 2.2s ease-in-out infinite .6s;opacity:.4}
@keyframes fz{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(5deg)}}
.cat500 .warn{position:absolute;top:8px;left:12px}
.cat500 .warn .tri{width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:32px solid var(--paw-coral);position:relative}
.cat500 .warn .tri::after{content:'!';position:absolute;top:8px;left:-5px;color:#fff;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700}
