/* DOS Community Login — everything uses the dosl- prefix */

/* ===== buttons (same style as the DOS Community plugin) =====
   Outline: 2px black border, black uppercase text, square.
   Hover: fills #654638, white text, shine sweep, small lift, arrow slides right. */
.dosl-btn{
	--dosl-h:44px; --dosl-px:26px;
	position:relative; overflow:hidden;
	display:inline-flex; flex-direction:row!important; flex-wrap:nowrap!important; align-items:center; justify-content:center; gap:10px;
	width:auto; max-width:none; white-space:nowrap!important; vertical-align:middle;
	height:var(--dosl-h)!important; min-height:var(--dosl-h)!important;
	margin:0; padding:0 var(--dosl-px)!important;
	background:transparent!important; border:2px solid #000!important; border-radius:0!important;
	box-shadow:none!important; color:#000!important;
	font-family:inherit; font-size:14px!important; font-weight:400!important; line-height:1!important;
	letter-spacing:.05em; text-decoration:none!important; text-transform:uppercase!important;
	transform:none!important; cursor:pointer; outline:0;
	-webkit-appearance:none; appearance:none; transition:all .5s ease!important;
}
.dosl-btn:is(:focus,:focus-visible){background:transparent!important;border-color:#000!important;color:#000!important}
.dosl-btn>*{position:relative;z-index:1}
.dosl-btn::after{
	content:""; position:absolute; top:0; left:-100%; width:60%; height:100%;
	background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);
	transform:skewX(-25deg); transition:left .7s ease; pointer-events:none;
}
.dosl-btn:hover:not([disabled])::after{left:130%}
.dosl-btn:is(:hover,:active):not([disabled]){
	background:#654638!important; border-color:#654638!important; color:#fff!important;
	transform:translateY(-3px) scale(1.03)!important; box-shadow:0 12px 28px rgba(0,0,0,.25)!important;
}
.dosl-btn.dosl-btn-block{display:flex;width:100%}
.dosl-btn.dosl-btn-block:is(:hover,:active):not([disabled]){transform:translateY(-3px)!important}
.dosl-btn .dosl-ico{display:block;flex:none;transition:transform .4s ease}
.dosl-btn:hover:not([disabled]) .dosl-ico{transform:translateX(8px)}
.dosl-btn:focus-visible{outline:2px solid #654638!important;outline-offset:2px}
.dosl-btn[disabled]{opacity:.55;cursor:default}

/* ===== drawer ===== */
.dosl-root{display:block;visibility:hidden;pointer-events:none;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;margin:0!important;padding:0!important;z-index:2147483000!important;box-sizing:border-box}
.dosl-root.is-open,.dosl-root.is-closing{visibility:visible;pointer-events:auto}
.dosl-root,.dosl-root *{box-sizing:border-box}
.dosl-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .25s ease}
.dosl-root.is-open .dosl-overlay{opacity:1}
.dosl-drawer{position:absolute!important;top:0!important;right:0!important;bottom:0!important;height:100vh!important;height:100dvh!important;width:min(480px,100vw)!important;max-width:100vw!important;margin:0!important;background:#f6f5f2!important;color:#1a1a1a;box-shadow:-8px 0 30px rgba(0,0,0,.06);transform:translate3d(100%,0,0);transition:transform .6s cubic-bezier(.22,.61,.36,1);will-change:transform;overflow:auto}
.dosl-root.is-open .dosl-drawer{transform:translate3d(0,0,0)}
.dosl-drawer .dosl-close,.dosl-drawer .dosl-close:hover,.dosl-drawer .dosl-close:focus,.dosl-drawer .dosl-close:active{position:absolute;right:16px;top:22px;width:32px;height:32px;min-width:32px;padding:0!important;margin:0;border:0!important;border-radius:0!important;background:#7c7b77!important;color:#fff!important;display:flex;align-items:center;justify-content:center;font-size:0;line-height:0;box-shadow:none!important;outline:none;cursor:pointer}
.dosl-drawer .dosl-close:hover{background:#696864!important}
.dosl-close svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round}

.dosl-content{padding:98px 37px 36px;font-family:inherit}
.dosl-step h2{margin:0 0 18px!important;padding:0;color:#000!important;font-family:inherit;font-size:28px!important;font-weight:400!important;letter-spacing:.05em;line-height:1.15!important;text-transform:uppercase!important}
.dosl-intro{margin:0 0 28px!important;color:#6b6a67!important;font-size:14px!important;line-height:1.55}

.dosl-step label{display:block;margin:0 0 6px;color:#6b6a67!important;font-size:13px!important}
.dosl-step input{display:block;width:100%;height:auto;margin:0 0 22px;padding:10px!important;border:0!important;border-bottom:1px solid #bcaca6!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:none;color:#24211e!important;font:inherit;font-size:14px!important;line-height:20px}
.dosl-step input:focus{border-bottom-color:#654638!important}
.dosl-step input[readonly]{color:#8a867f!important}
.dosl-step input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #f6f5f2 inset;box-shadow:0 0 0 1000px #f6f5f2 inset}
.dosl-pass{position:relative}
.dosl-pass input{padding-right:44px!important}
.dosl-pass .dosl-eye,.dosl-pass .dosl-eye:hover,.dosl-pass .dosl-eye:focus{position:absolute;right:10px;top:8px;border:0!important;background:transparent!important;box-shadow:none!important;color:#777!important;cursor:pointer;padding:0;line-height:20px}
.dosl-link{display:block;margin:-8px 0 0;color:#654638!important;font-size:12px!important;text-decoration:underline}
.dosl-link:hover{color:#000!important}
.dosl-error{min-height:20px;margin:6px 0 14px;color:#9a3f36;font-size:12px}

@media(max-width:600px){.dosl-content{padding:90px 24px 30px}.dosl-step h2{font-size:24px!important}.dosl-drawer{width:100vw!important}}
html.dosl-lock,body.dosl-lock{overflow:hidden!important}

/* button content always on one line */
.dosl-btn span{display:inline-block;white-space:nowrap!important;color:inherit}
.dosl-btn .dosl-ico{flex:0 0 auto;width:18px;height:18px}
.dosl-btn.dosl-btn-block{width:100%}

/* logo */
.dosl-step .dosl-logo{display:block;width:auto;max-width:100%;margin:0 0 22px;border:0;box-shadow:none}

/* profile box (same look as DOS Community) */
.dosl-me{display:flex;align-items:center;gap:14px;margin:0 0 6px}
.dosl-me .dosl-me-pic,.dosl-me .dosl-me-pic:hover,.dosl-me .dosl-me-pic:focus{position:relative;flex:none;display:block;width:56px;height:56px;margin:0;padding:0!important;border:0!important;border-radius:50%!important;background:none!important;box-shadow:none!important;cursor:pointer;outline:0}
.dosl-me .dosl-me-pic:focus-visible{outline:2px solid #654638!important;outline-offset:2px}
.dosl-avatar{display:block;width:56px;height:56px;border-radius:50%;object-fit:cover;background:rgba(101,70,56,.15);border:0;box-shadow:none}
.dosl-me-cam{position:absolute;right:-3px;bottom:-3px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#654638;border:2px solid #fff;border-radius:50%;color:#fff}
.dosl-me-cam .dosl-ico{width:12px;height:12px}
.dosl-me-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.dosl-me-name{max-width:100%;overflow:hidden;color:#000;font-size:16px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.dosl-me .dosl-photo-link,.dosl-me .dosl-photo-link:hover,.dosl-me .dosl-photo-link:focus{margin:0;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:#654638!important;font:inherit;font-size:13.5px;text-decoration:underline;cursor:pointer}
.dosl-me .dosl-photo-link:hover{color:#000!important}
.dosl-photo-error{margin:6px 0 10px}
.dosl-community .dosl-intro{margin:0 0 24px!important}
.dosl-community .dosl-btn{margin-top:26px}

/* file picker stays hidden (theme/inputs can not show it) */
.dosl-step input.dosl-file,.dosl-file{display:none!important}
.dosl-me .dosl-photo-link{text-transform:none!important;letter-spacing:normal!important;font-weight:400!important;line-height:1.3!important;width:auto!important;height:auto!important;min-height:0!important}
.dosl-me-info{flex:1 1 auto}

/* stats under the user */
.dosl-stats{list-style:none;margin:14px 0 0!important;padding:0!important}
.dosl-stats li{display:flex;gap:6px;margin:0;padding:3px 0;color:#6b6a67;font-size:14px;line-height:1.4}
.dosl-stats li span{color:#6b6a67}
.dosl-stats li strong{color:#000;font-weight:600}
