/* ============================================================
   dunamis-theme.css — global helpers layered on top of the Dunamis
   theme. The shell (header/footer) is styled by dm-shell.css; each
   page pushes its own stylesheet via @stack('styles'). This file
   holds only cross-page utilities.
   ============================================================ */
.skip-to-content{position:absolute;left:-999px;top:0;background:#2f6bff;color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:200;font-family:'Helvetica Neue',Arial,sans-serif;}
.skip-to-content:focus{left:0;}
body.no-scroll{overflow:hidden;}
img{max-width:100%;}

/* Solid (interior) header is sticky — give in-page anchor targets room. */
:target{scroll-margin-top:120px;}

/* ---------- Auth pages (forgot / reset password) on layouts.auth ---------- */
.dm-auth-main{min-height:62vh;display:flex;align-items:center;justify-content:center;padding:64px 20px;background:#f6f7fb;font-family:'Helvetica Neue',Arial,sans-serif;}
.dm-auth-wrap{width:100%;max-width:440px;}
.auth-card{background:#fff;border:1px solid #e7e9f2;border-radius:18px;padding:36px;box-shadow:0 24px 60px -30px rgba(15,23,42,.35);}
.auth-card-head h1{font-size:1.55rem;margin:0 0 8px;color:#0f1733;font-weight:800;}
.auth-card-head p{color:#5b6478;margin:0 0 22px;font-size:.95rem;line-height:1.55;}
.auth-form .auth-field{display:block;margin-bottom:16px;}
.auth-label{display:block;font-weight:600;font-size:.85rem;color:#0f1733;margin-bottom:6px;}
.auth-input{display:flex;align-items:center;gap:9px;border:1px solid #d6dcef;border-radius:12px;padding:0 14px;background:#fff;transition:border-color .15s,box-shadow .15s;}
.auth-input:focus-within{border-color:#2f6bff;box-shadow:0 0 0 3px rgba(47,107,255,.15);}
.auth-input i{color:#8a93a8;}
.auth-input input{border:0;outline:0;padding:12px 0;flex:1;font-size:.95rem;background:transparent;color:#0f1733;}
.auth-form button[type=submit],.auth-submit,.auth-btn{width:100%;background:linear-gradient(135deg,#3d72ff,#2f6bff);color:#fff;border:0;border-radius:12px;padding:13px;font-weight:700;font-size:.98rem;cursor:pointer;margin-top:6px;box-shadow:0 8px 22px rgba(47,107,255,.35);}
.auth-form button[type=submit]:hover,.auth-submit:hover{filter:brightness(1.03);}
.auth-foot,.auth-alt,.auth-links{text-align:center;margin-top:18px;color:#5b6478;font-size:.9rem;}
.auth-foot a,.auth-alt a,.auth-links a{color:#2f6bff;font-weight:600;text-decoration:none;}

/* ---------- Page banner (dm-phero) polish ---------- */
/* Illustrations (some use fixed-size inline SVG) scale to their column so the
   banner never overflows or looks cramped. */
.dm-phero__art svg,
.dm-phero__art img,
.dm-phero__media > svg,
.dm-phero__media > img{max-width:100%;height:auto;}
.dm-phero__art{display:flex;justify-content:center;}
/* A little more breathing room top & bottom in interior page banners. */
.dm-phero{padding-block:clamp(2.8rem,2rem+3.4vw,4.8rem);}
.dm-phero__media{align-self:center;}
