/* Van Hameren account login redesign - build 98.7.8 */
.customer-main{max-width:1180px;padding-top:28px}
.customer-account-layout{display:grid;grid-template-columns:minmax(0,560px) minmax(360px,1fr);gap:34px;align-items:stretch;justify-content:center}
.customer-account-content{min-width:0;display:flex;flex-direction:column;justify-content:center}
.customer-account-content .customer-hero{max-width:none;margin:0 0 18px;text-align:left}
.customer-account-content .customer-hero span{display:inline-block;margin-bottom:4px}
.customer-account-content .customer-hero h1{font-size:clamp(2rem,3.2vw,2.85rem);line-height:1.04;letter-spacing:-.035em;margin:4px 0 10px}
.customer-account-content .customer-hero p{max-width:560px;font-size:1.02rem;line-height:1.55}
.customer-account-content .customer-app{max-width:none;margin:0}
.customer-account-content .customer-auth-shell{padding:24px;border-radius:22px;box-shadow:0 22px 55px rgba(20,49,74,.11),0 3px 12px rgba(20,49,74,.05)}
.customer-tabs{padding:6px;gap:7px;border-radius:15px;margin-bottom:20px}
.customer-tab{min-height:48px;border-radius:11px;font-size:1rem;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease}
.customer-tab:hover{transform:translateY(-1px)}
.customer-tab.active{box-shadow:0 6px 18px rgba(7,143,197,.14)}
.customer-card h2{font-size:1.5rem;letter-spacing:-.02em}
.customer-card>p{line-height:1.5}
.customer-card label{gap:8px}
.customer-card input{min-height:50px;padding:13px 14px;background:#fbfdfe;border-color:#bed5df;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.customer-card input:focus{outline:none;border-color:var(--vh-blue);background:#fff;box-shadow:0 0 0 4px rgba(7,143,197,.12)}
.customer-button{min-height:50px;box-shadow:0 8px 18px rgba(7,143,197,.18);transition:transform .16s ease,box-shadow .16s ease}
.customer-button:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(7,143,197,.22)}
.customer-link-button{font-size:.98rem}
.customer-login-visual{position:relative;min-height:570px;overflow:hidden;border-radius:26px;background:#064f79;box-shadow:0 24px 60px rgba(20,49,74,.18);isolation:isolate}
.customer-login-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% 50%;filter:saturate(.88) contrast(1.03);transform:scale(1.015)}
.customer-login-visual__shade{position:absolute;inset:0;background:linear-gradient(145deg,rgba(0,112,164,.34) 0%,rgba(2,89,135,.56) 48%,rgba(9,44,72,.88) 100%);z-index:1}
.customer-login-visual:after{content:"";position:absolute;inset:auto -15% -20% 22%;height:58%;background:radial-gradient(circle at center,rgba(20,175,226,.30),rgba(20,175,226,0) 70%);z-index:1;pointer-events:none}
.customer-login-visual__content{position:absolute;z-index:2;left:32px;right:32px;bottom:32px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.12)}
.customer-login-visual__content>span{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(255,255,255,.10);backdrop-filter:blur(7px);font-size:.74rem;font-weight:900;letter-spacing:.09em}
.customer-login-visual__content h2{font-size:clamp(1.65rem,2.5vw,2.15rem);line-height:1.08;margin:13px 0 8px;letter-spacing:-.03em}
.customer-login-visual__content p{max-width:430px;margin:0 0 18px;color:rgba(255,255,255,.90);line-height:1.5}
.customer-login-visual__content ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:0;padding:0;list-style:none}
.customer-login-visual__content li{position:relative;padding:10px 10px 10px 34px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.10);backdrop-filter:blur(7px);font-size:.88rem;font-weight:800;line-height:1.25}
.customer-login-visual__content li:before{content:"✓";position:absolute;left:11px;top:9px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#fff;color:#078fc5;font-size:.68rem;font-weight:1000;text-shadow:none}
/* Dashboard must keep the existing full-width portal layout. */
.customer-page:has(.customer-dashboard) .customer-account-layout{display:block}
.customer-page:has(.customer-dashboard) .customer-login-visual{display:none}
.customer-page:has(.customer-dashboard) .customer-account-content{display:block}
.customer-page:has(.customer-dashboard) .customer-account-content .customer-hero{text-align:center;max-width:650px;margin:0 auto 18px}
.customer-page:has(.customer-dashboard) .customer-account-content .customer-app{max-width:520px;margin:0 auto}
@media(max-width:900px){
 .customer-account-layout{grid-template-columns:1fr;gap:22px;max-width:650px;margin:0 auto}
 .customer-login-visual{min-height:360px}
 .customer-login-visual img{object-position:center 45%}
 .customer-login-visual__content{left:24px;right:24px;bottom:24px}
}
@media(max-width:560px){
 .customer-main{padding-top:16px}
 .customer-account-content .customer-hero{margin-bottom:14px}
 .customer-account-content .customer-hero h1{font-size:2rem}
 .customer-account-content .customer-auth-shell{padding:16px;border-radius:18px}
 .customer-login-visual{min-height:310px;border-radius:20px}
 .customer-login-visual__content{left:18px;right:18px;bottom:18px}
 .customer-login-visual__content p{font-size:.9rem;margin-bottom:12px}
 .customer-login-visual__content ul{grid-template-columns:1fr;gap:7px}
 .customer-login-visual__content li{padding-top:8px;padding-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.customer-tab,.customer-button,.customer-card input{transition:none}}


/* 98.7.9 interaction/focus fix
   Keep decorative visual layers away from the login controls and make the
   form the explicit pointer/focus surface. */
.customer-account-layout{position:relative}
.customer-account-content{position:relative;z-index:5;isolation:isolate}
.customer-account-content .customer-app,
.customer-account-content .customer-auth-shell,
.customer-account-content .customer-card{position:relative;z-index:6}
.customer-account-content .customer-card label,
.customer-account-content .customer-card input,
.customer-account-content .customer-card button,
.customer-account-content .customer-tabs,
.customer-account-content .customer-tab{pointer-events:auto}
.customer-account-content .customer-card input{position:relative;z-index:8;touch-action:manipulation;user-select:text;-webkit-user-select:text;cursor:text}
.customer-login-visual{z-index:1}
.customer-login-visual img,
.customer-login-visual__shade,
.customer-login-visual__content{pointer-events:none}
