/* The real account link occupies the existing, already aligned 44px slot. */
body:not(.elementor-editor-active) .elementor-99 .elementor-element-6c9c502:has(> .ch-account-widget)::after,
body:not(.elementor-editor-active) .elementor-99 .elementor-element-12b7709 > .e-con-inner:has(> .ch-account-widget)::after { display:none; }
body:not(.elementor-editor-active) .elementor-99 .ch-account-widget { flex:0 0 44px; width:44px; min-width:44px; margin:0; align-self:center; }
body:not(.elementor-editor-active) .elementor-99 .ch-account-widget > .elementor-widget-container { display:flex; align-items:center; justify-content:center; }
.elementor-99 .ch-account-link { display:flex; align-items:center; justify-content:center; width:44px; height:44px; color:var(--concepthub-header-color,#212529); }
.elementor-99 .ch-account-link svg { width:24px; height:24px; }
.ch-account-link:focus-visible,.ch-request-price:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.ch-request-price { color:inherit!important; font-size:14px; font-weight:400; white-space:nowrap; text-decoration:underline!important; text-underline-offset:4px; }
.e-loop-item .ch-request-price { color:rgba(33,37,41,.8)!important; font-size:11px; }
.ch-request-price:hover { opacity:.7; }
/* Match the existing site's neutral, compact forms. */
.ch-access-page { width:min(100% - 40px,480px); margin:70px auto 100px; color:#212529; }
.ch-access-page h1 { font-size:clamp(30px,4vw,42px); line-height:1.15; margin:0 0 22px; font-weight:500; }
.ch-access-eyebrow { font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px; }
.ch-access-intro,.ch-form-intro { font-size:15px; line-height:1.6; margin:0 0 24px; }
.ch-login-form,.ch-price-form { display:flex; flex-direction:column; gap:12px; }
.ch-login-form label,.ch-price-form label { font-size:14px; margin:0; }
.ch-login-form input:not([type=checkbox]),.ch-price-form input:not([type=hidden]) { width:100%; min-height:48px; border:1px solid #bbb; border-radius:0; padding:12px 14px!important; background:#fff; color:#212529; font-size:16px; box-sizing:border-box; }
.ch-login-form input:focus,.ch-price-form input:focus { border-color:#212529; outline:1px solid #212529; }
.ch-login-form .ch-remember { display:flex; align-items:center; gap:8px; margin:4px 0 8px; }
.ch-remember input { margin:0; }
.ch-access-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; background:#212529!important; color:#fff!important; border:1px solid #212529!important; border-radius:0!important; font:inherit; font-size:14px; cursor:pointer; text-decoration:none!important; }
.ch-access-button:hover { background:#000!important; }
.ch-access-button:disabled { opacity:.6; cursor:default; }
.ch-access-secondary { display:inline-block; margin-left:20px; text-decoration:underline; }
.ch-access-help { font-size:13px; margin-top:22px; }
.ch-access-help a { text-decoration:underline; }
.ch-access-error { color:#a22525; font-size:14px; }
/* Architect access: an editorial image and a quiet, readable sign-in panel. */
.ch-access-page.ch-architect-access { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); width:min(1440px,calc(100% - 64px)); margin:32px auto 64px; background:#F8F6F4; }
.ch-architect-access .ch-access-visual { position:relative; margin:0; min-height:650px; overflow:hidden; background:#d9d5cd; }
.ch-architect-access .ch-access-slide { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity 600ms cubic-bezier(.22,1,.36,1); }
.ch-architect-access .ch-access-slide.is-active { opacity:1; }
.ch-architect-access .ch-access-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:48% center; }
.ch-architect-access .ch-access-visual::after { content:""; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.38)); pointer-events:none; }
.ch-architect-access .ch-access-visual figcaption { position:absolute; z-index:1; left:32px; right:156px; bottom:28px; color:#fff; font-size:12px; line-height:1.5; letter-spacing:.02em; }
.ch-architect-access .ch-access-photo-name { display:block; margin-top:3px; opacity:.8; font-size:11px; }
.ch-architect-access .ch-access-slider-controls { position:absolute; z-index:2; right:24px; bottom:24px; gap:0; }
.ch-architect-access .ch-access-slider-controls:not([hidden]) { display:flex; }
.ch-architect-access .ch-access-visual[data-instant] .ch-access-slide { transition:none; }
.ch-architect-access .ch-access-panel { display:flex; align-items:center; justify-content:center; min-width:0; padding:60px clamp(32px,4.5vw,76px); }
.ch-architect-access .ch-access-panel-inner { width:100%; max-width:420px; }
.ch-architect-access .ch-access-eyebrow { color:#62635e; font-size:11px; font-weight:400; letter-spacing:.11em; line-height:1.5; margin:0 0 20px; }
.ch-architect-access h1 { font-size:clamp(34px,3.2vw,46px); line-height:1.1; font-weight:400; letter-spacing:-.025em; margin:0 0 20px; }
.ch-architect-access .ch-access-intro { color:rgba(33,37,41,.8); font-size:15px; line-height:1.6; margin:0 0 30px; }
.ch-architect-access .ch-login-form { gap:9px; }
.ch-architect-access .ch-login-form label { font-weight:400; font-size:13px; line-height:1.5; }
.ch-architect-access .ch-login-form input:not([type=checkbox]):not([type=hidden]) { min-height:44px; border:0; border-bottom:1px solid #c7c5bf; border-radius:0; padding:10px 0!important; background:transparent; box-shadow:none; margin:0 0 12px; }
.ch-architect-access .ch-login-form input::placeholder { color:#757670; opacity:1; font-weight:400; }
.ch-architect-access .ch-login-form input:not([type=checkbox]):not([type=hidden]):focus { border-bottom-color:#212529; outline:1px solid #212529; outline-offset:4px; }
.ch-architect-access .ch-login-form .ch-remember { margin:2px 0 14px; gap:10px; color:rgba(33,37,41,.8); }
.ch-architect-access .ch-remember input { width:16px; height:16px; min-height:16px; accent-color:#212529; flex:none; }
.ch-architect-access .ch-access-button { min-height:50px; font-weight:400; text-transform:none; transition:background-color 160ms ease,transform 160ms cubic-bezier(.23,1,.32,1); }
.ch-architect-access .ch-access-button:active { transform:scale(.98); }
.ch-architect-access .ch-access-button:focus-visible,.ch-architect-access .ch-access-help a:focus-visible,.ch-architect-access .ch-access-secondary:focus-visible { outline:2px solid #212529; outline-offset:4px; }
.ch-architect-access .ch-login-submit { justify-content:space-between; padding:14px 20px; }
.ch-architect-access .ch-login-submit svg { flex:none; }
.ch-architect-access .ch-access-help { color:#62635e; font-size:12px; line-height:1.7; margin:24px 0 0; }
.ch-architect-access .ch-access-help a { color:#212529; text-underline-offset:3px; }
@media(max-width:900px) {
    .ch-access-page.ch-architect-access { grid-template-columns:1fr; width:calc(100% - 40px); margin:20px auto 40px; }
    .ch-architect-access .ch-access-visual { min-height:0; height:clamp(170px,38vw,300px); }
    .ch-architect-access .ch-access-image { object-position:center 55%; }
    .ch-architect-access .ch-access-panel { padding:36px 32px 40px; }
    .ch-architect-access .ch-access-visual figcaption { left:20px; right:140px; bottom:18px; font-size:11px; }
    .ch-architect-access .ch-access-slider-controls { right:12px; bottom:12px; }
}
@media(max-width:480px) {
    .ch-access-page.ch-architect-access { width:calc(100% - 24px); margin:12px auto 32px; }
    .ch-architect-access .ch-access-panel { padding:28px 24px 32px; }
    .ch-architect-access .ch-access-eyebrow { font-size:10px; margin-bottom:14px; }
    .ch-architect-access h1 { font-size:34px; margin-bottom:16px; }
    .ch-architect-access .ch-access-intro { font-size:14px; margin-bottom:24px; }
}
@media(prefers-reduced-motion:reduce) {
    .ch-architect-access .ch-access-button { transition:none; }
    .ch-architect-access .ch-access-button:active { transform:none; }
    .ch-architect-access .ch-access-slide { transition:none; }
}
.ch-form-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.ch-request-product { display:flex; gap:18px; align-items:center; padding:16px; margin:0 0 8px; background:#F8F6F4; }
.ch-request-product img { width:88px; height:88px; object-fit:contain; flex:0 0 88px; }
.ch-request-product-copy { min-width:0; overflow-wrap:break-word; }
.ch-request-product .ch-request-product-brand { margin:0 0 5px; font-size:12px; line-height:1.4; font-weight:400; letter-spacing:.04em; color:#62635e; }
.ch-request-product strong { display:block; font-size:15px; line-height:1.45; font-weight:500; }
.ch-request-product span { display:block; font-size:13px; line-height:1.45; margin-top:6px; color:rgba(33,37,41,.8); }
.ch-request-product [hidden] { display:none!important; }
.ch-price-form .ch-form-intro { margin:0 0 8px; }
.ch-form-status { font-size:14px; line-height:1.5; margin:0; }
.ch-form-status:empty { display:none; }
#ch-price-dialog { border:0; padding:48px 32px 32px; width:min(500px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; box-sizing:border-box; color:#212529; background:#fff; }
#ch-price-dialog::backdrop { background:rgba(0,0,0,.42); }
#ch-price-dialog[open],
#ch-price-dialog[open]::backdrop { animation:ch-price-fade-in 240ms ease-out both; }
@keyframes ch-price-fade-in {
    from { opacity:0; }
    to { opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
    #ch-price-dialog[open],
    #ch-price-dialog[open]::backdrop { animation:none; }
}
.ch-price-form .ch-access-button { font-weight:400; }
#ch-price-dialog .ch-dialog-close { position:absolute; top:8px; right:8px; width:40px; height:40px; padding:0; border:0; background:transparent; color:#212529; font-size:30px; line-height:1; cursor:pointer; }
.ch-price-dialog-open { overflow:hidden; }
@media(max-width:600px) {
    .ch-access-page { margin:40px auto 64px; }
    #ch-price-dialog { padding:48px 24px 24px; }
    .ch-request-product { padding:12px; gap:12px; }
    .ch-request-product img { width:64px; height:64px; flex-basis:64px; }
}
