/* OTOYARD account experience, scoped only to native com_users forms. v0.2.2 */
body.oy-account-page { color:#1c2022; background:#f8f5ee; font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif; }
.oy-account-page *, .oy-account-page *::before, .oy-account-page *::after {box-sizing:border-box}
.oy-account-page a {color:inherit;text-decoration:none}
.oy-account-page a:focus-visible,.oy-account-page input:focus-visible,.oy-account-page select:focus-visible,.oy-account-page button:focus-visible {outline:3px solid #ed673e;outline-offset:3px}
.oy-account-layout {min-height:100vh;display:flex;flex-direction:column}
.oy-account-ticker {min-height:30px;background:#1c2022;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 clamp(18px,5vw,80px);font-size:11px;letter-spacing:.15em;font-weight:750}
.oy-account-ticker i {display:inline-block;width:6px;height:6px;background:#ed673e;border-radius:50%;margin-right:8px}
.oy-account-header {display:flex;align-items:center;justify-content:space-between;padding:18px clamp(18px,5vw,80px);background:#f8f5ee;border-bottom:1px solid #e3dbd1;gap:15px}
.oy-account-brand {display:inline-flex;gap:13px;align-items:center}
.oy-account-symbol {position:relative;width:40px;height:40px;border:7px solid #1c2022;border-radius:50%}
.oy-account-symbol::after {position:absolute;content:"";width:9px;height:9px;background:#ed673e;border-radius:50%;right:-9px;top:-10px}
.oy-account-brand strong{display:block;font:900 26px/.97 Arial,sans-serif;letter-spacing:-.055em}
.oy-account-brand small{display:block;margin-top:5px;font-size:10px;font-weight:800;letter-spacing:.07em}
.oy-account-header nav{display:flex;gap:25px;align-items:center;font-weight:850;font-size:14px}
.oy-account-header nav a:hover{color:#df5732}
.oy-account-header nav a:last-child{background:#ef6740;color:#fff;border-radius:3px;padding:10px 14px;display:flex;flex-direction:column;align-items:center}
.oy-account-header nav small{font-size:9px;letter-spacing:.06em}
.oy-account-main {width:min(1210px,calc(100% - 40px));margin:clamp(30px,5vw,76px) auto clamp(35px,5vw,80px);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:clamp(30px,5vw,80px);align-items:start;flex:1}
.oy-account-intro {position:relative;overflow:hidden;background:#efd8c8;min-height:520px;padding:clamp(34px,4vw,68px);display:flex;flex-direction:column;justify-content:center}
.oy-account-kicker,.oy-account-panel-kicker{font-size:13px;font-weight:800;letter-spacing:.16em;color:#de5736}
.oy-account-intro h1{font-size:clamp(37px,4vw,65px);line-height:1.26;letter-spacing:-.06em;margin:25px 0;font-weight:900;position:relative;z-index:1}
.oy-account-intro p{font-size:17px;line-height:1.9;max-width:38ch;position:relative;z-index:1}
.oy-account-intro-note{font-size:14px;line-height:1.9;margin-top:30px;border-top:1px solid #daa991;padding-top:22px;position:relative;z-index:1}
.oy-account-ornament{position:absolute;font-size:350px;line-height:1;right:-90px;top:-80px;color:rgba(236,103,62,.11);user-select:none}
.oy-account-panel{min-width:0;border:1px solid #ded8ce;background:#fffdf9;padding:clamp(20px,3vw,44px);box-shadow:0 20px 65px rgba(28,32,34,.06)}
.oy-account-panel-heading{font-size:29px;font-weight:900;margin:9px 0 27px;letter-spacing:-.05em}
.oy-account-form {font-size:15px;line-height:1.6;color:#1c2022}
.oy-account-form :is(h1,h2,h3){font-size:19px;font-weight:800;letter-spacing:-.02em;margin:0 0 16px}
.oy-account-form :is(form, fieldset, .control-group, .mb-3, .mb-4){max-width:100%;min-width:0}
.oy-account-form form{width:100%;margin:0}
.oy-account-form fieldset{border:0;padding:0;margin:0 0 18px}
.oy-account-form legend{font-size:14px;font-weight:750;border-bottom:1px solid #e5e1d9;padding-bottom:9px;margin-bottom:15px;width:100%}
.oy-account-form :is(.control-group,.mb-3,.mb-4,.form-group){margin-bottom:17px}
.oy-account-form :is(label,.control-label){display:block;font-weight:800;font-size:14px;margin-bottom:7px}
.oy-account-form :is(input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="tel"],input[type="number"],select,textarea){width:100%;max-width:100%;min-height:46px;border-radius:4px;border:1px solid #bdbdb7;background:#fff;color:#1c2022;padding:10px 12px;font:inherit;font-size:16px}
.oy-account-form :is(input,select,textarea):focus {border-color:#ed673e;box-shadow:0 0 0 3px rgba(237,103,62,.12)}
.oy-account-form :is(button[type="submit"],input[type="submit"],.btn-primary,.btn-success){background:#ed673e;color:#fff;min-height:47px;padding:10px 25px;border:0;border-radius:3px;font-size:15px;font-weight:800;cursor:pointer}
.oy-account-form :is(button[type="submit"],input[type="submit"],.btn-primary):hover{background:#d95431}
.oy-account-form :is(.btn-secondary,.btn-outline-secondary,.input-password-toggle){background:#f0eee9;color:#1c2022;border:1px solid #d9d3cb;border-radius:3px;min-height:40px;padding:8px 12px}
.oy-account-form :is(.input-group,.password-group){display:flex;flex-wrap:wrap;gap:5px}
.oy-account-form :is(.input-group,.password-group) input{flex:1 1 190px;width:auto}
.oy-account-form :is(.input-group,.password-group) button{flex:0 0 auto}
.oy-account-form :is(.form-text,.small,small,.text-muted,.help-block){color:#666d6b;font-size:13px;line-height:1.8}
.oy-account-form :is(.form-check,.checkbox){display:flex;align-items:center;gap:8px}
.oy-account-form :is(input[type="checkbox"],input[type="radio"]){accent-color:#ef6740;min-width:17px;min-height:17px}
.oy-account-form :is(.captcha,.g-recaptcha,.h-captcha,.cf-turnstile,.captcha-container){max-width:100%;overflow-x:auto}
.oy-account-form .com-users-registration :is(.btn,.button){margin-top:7px}
.oy-account-form .com-users-registration__form :is(.required,.star){color:#d95134}
.oy-account-form :is(.com-users-login__options,.com-users-login__submit,.com-users-registration__submit){margin-top:22px}
.oy-account-form ul{margin:15px 0;padding-left:20px}
.oy-account-form li{margin-bottom:6px}
.oy-account-form .alert{padding:12px 15px;border:1px solid #e8bcaa;border-left:4px solid #ed673e;background:#fff7f0;color:#723c25}
.oy-account-switch {border-top:1px solid #e8e1d7;margin:22px 0 0;padding-top:20px;font-size:14px}
.oy-account-switch a{color:#c64c2b;font-weight:800;text-decoration:underline}
.oy-account-footer{margin-top:auto;border-top:1px solid #e4ded3;padding:17px clamp(18px,5vw,80px);display:flex;justify-content:space-between;gap:18px;font-size:11px;font-weight:700;letter-spacing:.05em;color:#606563}
.oy-account-footer a{text-decoration:underline}
@media(max-width:890px){.oy-account-main{grid-template-columns:1fr;max-width:700px;gap:0;margin-top:24px}.oy-account-intro{min-height:unset;padding:35px}.oy-account-intro h1{font-size:clamp(29px,6vw,47px);margin:13px 0}.oy-account-intro p{font-size:15px}.oy-account-intro-note{margin-top:15px;padding-top:14px}.oy-account-ornament{font-size:230px;right:-60px;top:-55px}.oy-account-panel{padding:28px 34px}}
@media(max-width:560px){.oy-account-ticker span:last-child{display:none}.oy-account-header{padding:13px 18px}.oy-account-brand strong{font-size:23px}.oy-account-header nav{gap:7px;font-size:11px}.oy-account-header nav a:last-child{padding:8px}.oy-account-header nav a:first-child{display:none}.oy-account-main{width:100%;margin:0 0 30px}.oy-account-intro{padding:30px 22px}.oy-account-panel{padding:26px 22px;border-left:0;border-right:0;box-shadow:none}.oy-account-panel-heading{font-size:24px}.oy-account-footer{flex-direction:column;gap:6px}}

/* The auth shell supplies the page heading; suppress the core view heading when Joomla emits a second one. */
.oy-account-form :is(.page-header,.com-users-registration__page-heading,.com-users-login__page-heading){display:none}
.oy-account-form :is(.com-users-registration,.com-users-login) > h1{display:none}
