/* Account pages share a compact form system; checkout is deliberately unscoped. */
body:is(#authentication,#registration) #main > .page-header { display:none; }
body:is(#authentication,#registration) #content {
 --account-border:#dedede; --account-radius:8px;
 width:100%; max-width:520px; margin:28px auto 64px; padding:36px;
 border:1px solid var(--account-border); border-radius:12px; background:#fff;
}
body#registration #content { max-width:600px; }
.es-account-title { font-size:28px; line-height:1.25; text-align:center; margin:0 0 12px; }
.es-account-intro { text-align:center; color:#777; margin-bottom:28px; }
body#registration .register-form > p { text-align:center; margin:0 0 28px; }
body:is(#authentication,#registration) #content .form-group { display:block; margin:0 0 20px; }
body:is(#authentication,#registration) #content .form-group > .col-form-label,
body:is(#authentication,#registration) #content .js-input-column { width:100%; max-width:100%; padding:0; }
body:is(#authentication,#registration) #content .col-form-label { margin-bottom:8px; text-align:left; font-size:14px; }
body:is(#authentication,#registration) #content .form-group > .form-control-comment { display:none; }
body:is(#authentication,#registration) #content .form-control { min-height:50px; border-radius:var(--account-radius); border:1px solid var(--account-border); padding:12px 14px; }
body:is(#authentication,#registration) #content .form-control:focus { border-color:#777; outline:2px solid #b88a32; outline-offset:2px; }
body:is(#authentication,#registration) #content .form-control:autofill { box-shadow:0 0 0 1000px #fff inset; }
body:is(#authentication,#registration) #content [data-action='show-password'] { height:50px; width:48px; padding:0; background:#fff; color:#555; border:1px solid var(--account-border); border-left:0; border-radius:0 8px 8px 0; }
body:is(#authentication,#registration) #content .js-visible-password { border-right:0; border-radius:8px 0 0 8px; }
body:is(#authentication,#registration) #content .forgot-password { text-align:right; margin:0 0 22px; }
body:is(#authentication,#registration) #content .forgot-password a,
body:is(#authentication,#registration) #content .no-account a,
body:is(#authentication,#registration) #content .custom-checkbox a { text-decoration:underline; text-underline-offset:3px; }
body:is(#authentication,#registration) #content .form-footer { margin:8px 0 0; padding:0; }
body:is(#authentication,#registration) #content .form-control-submit { width:100%; min-height:50px; border-radius:8px; font-size:16px; }
body:is(#authentication,#registration) #content .no-account { text-align:center; margin-top:26px; font-size:14px; }
body:is(#authentication,#registration) #content .ets_solo_social_wrapper { margin:0; padding:0; }
body:is(#authentication,#registration) #content .ets_solo_social_wrapper:not(:has(.ets_solo_social_item)) { display:none; }
body:is(#authentication,#registration) #content .ets_solo_or { max-width:none; margin:24px auto; }
body:is(#authentication,#registration) #content .ets_solo_social_item.google { max-width:none; }
body:is(#authentication,#registration) #content .es-google-signin { min-height:50px; border-radius:8px; }
body#registration #customer-form > div:first-child { display:grid; grid-template-columns:1fr 1fr; column-gap:18px; }
body#registration .es-account-field { grid-column:1 / -1; min-width:0; }
body#registration .es-account-field-firstname,
body#registration .es-account-field-lastname { grid-column:auto; }
body#registration .es-account-field-newsletter .col-form-label,
body#registration .es-account-field-psgdpr .col-form-label { display:none; }
body#registration .custom-checkbox { display:flex; align-items:flex-start; }
body#registration .custom-checkbox label { padding-left:10px; font-size:13px; line-height:1.6; margin:0; }
body#registration .custom-checkbox > span { flex:0 0 18px; margin-top:2px; }
body#registration .custom-checkbox em { display:block; font-size:12px; font-style:normal; color:#777; }
body#registration #content .form-control-comment { font-size:11px; line-height:1.5; color:#777; }
body:is(#authentication,#registration) #content button:focus-visible,
body:is(#authentication,#registration) #content a:focus-visible { outline:2px solid #b88a32; outline-offset:3px; }
.es-recaptcha-notice { font-size:11px; line-height:1.6; margin:16px 0 0; color:#777; }
.es-recaptcha-notice a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
/* The challenge and validation remain active; branding is visibly provided at forms. */
body:has(.es-recaptcha-notice) .grecaptcha-badge { visibility:hidden; }
body:has(.es-recaptcha-notice) #adveg-grecaptcha { height:0; min-height:0; margin:0; padding:0; }
/* One continuous dark footer with a compact light payment strip. */
#footer { background:#000; }
#footer #footer-container-first,
#footer #footer-container-main { background:#000; color:#fff; }
#footer #footer-container-first { padding:40px 0 28px; }
#footer-container-first.footer-style-2 > .container { grid-template-columns:minmax(0,1fr) auto; gap:24px; }
#footer-container-first .ps-emailsubscription-block { display:grid; grid-template-columns:220px minmax(0,1fr); gap:24px; align-items:start; }
#footer-container-first .es-newsletter-title { margin:8px 0 0; font-size:28px; line-height:1.2; color:#fff; }
#footer-container-first .newsletter-input-group { display:flex; flex-wrap:nowrap; gap:12px; }
#footer-container-first .input-subscription { min-width:0; height:50px; border:1px solid #888; border-radius:6px; background:#000; color:#fff; }
#footer-container-first .input-subscription::placeholder { color:#c6c6c6; }
#footer-container-first .btn-subscribe { height:50px; padding:0 20px; background:#fff; color:#111; border:1px solid #fff; border-radius:6px; white-space:nowrap; font-size:14px; }
#footer-container-first .btn-subscribe i { color:#d48905; margin-left:10px; }
#footer-container-first .btn-subscribe:hover { background:#eee; }
#footer-container-first .text-muted,
#footer-container-first .es-recaptcha-notice { color:#bdbdbd !important; font-size:11px; line-height:1.6; }
#footer-container-first .es-recaptcha-notice { margin-top:6px; }
#footer-container-first .social-links a { color:#fff; }
#footer #footer-container-main { padding:32px 0; }
#footer-container-main > .container { border-top:1px solid #444; padding-top:30px; }
#footer-container-main .block-title { border-color:#444; }
#footer-container-main a { color:#eee; }
#footer-container-main a:hover { color:#d48905; }
#footer #footer-copyrights { background:#000; padding:0 12px 28px; }
#footer-copyrights > .container { background:#fff; color:#333; border-radius:6px; padding:18px; }
#footer-copyrights table { width:100%; }
#footer-copyrights td { white-space:normal; }
#footer-copyrights img { max-width:100%; height:auto; }
#footer a:focus-visible, #footer button:focus-visible, #footer input:focus-visible { outline:2px solid #d48905; outline-offset:3px; }
@media(max-width:991px) {
 #footer-container-first .ps-emailsubscription-block { grid-template-columns:minmax(0,1fr); gap:16px; }
 #footer-copyrights td { display:block; width:100%; text-align:center; padding:6px 0; }
}
@media(max-width:575px) {
 body:is(#authentication,#registration) #content { padding:24px 18px; margin:16px auto 36px; }
 .es-account-title { font-size:25px; }
 body#registration #customer-form > div:first-child { grid-template-columns:minmax(0,1fr); }
 #footer-container-first.footer-style-2 > .container { grid-template-columns:minmax(0,1fr); }
 #footer-container-first .newsletter-input-group { flex-wrap:wrap; }
 #footer-container-first .newsletter-input-group > input { flex-basis:100%; width:100%; }
 #footer-container-first .input-group-append, #footer-container-first .btn-subscribe { width:100%; }
 #footer-container-first .social-links._footer { justify-content:flex-start; }
 #footer-container-first .es-newsletter-title { font-size:24px; }
}
#footer #footer-container-first .social-links a,
#footer #footer-container-first .social-links i { color:#fff; }
#footer #footer-container-first .es-recaptcha-notice a { color:#bdbdbd; }
#footer #footer-container-first .btn-subscribe { color:#111; }
@media(max-width:575px) {
 #footer-container-first.footer-style-2 > .container { grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; }
 #footer-container-first.footer-style-2 > .container > .row:first-child { grid-column:2; grid-row:1; order:0; }
 #footer-container-first.footer-style-2 > .container > .row:last-child,
 #footer-container-first .ps-emailsubscription-block { display:contents; }
 #footer-container-first .es-newsletter-title { grid-column:1; grid-row:1; font-size:22px; }
 #footer-container-first .ps-emailsubscription-block > form { grid-column:1 / -1; grid-row:2; }
}

/* Hidden inline badge must not extend document height below the footer. */
body:has(.es-recaptcha-notice) #adveg-grecaptcha .grecaptcha-badge { position:fixed !important; bottom:0 !important; top:auto !important; }

/* Compact sign-in rhythm, with full-size touch controls. */
body#authentication #content { max-width:460px; padding:24px 28px; margin:20px auto 40px; }
body#authentication #content .es-account-title { font-size:26px; margin-bottom:6px; }
body#authentication #content .es-account-intro { font-size:14px; margin-bottom:18px; }
body#authentication #content .form-group { margin-bottom:12px; }
body#authentication #content .col-form-label { padding-top:0; padding-bottom:0; margin-bottom:6px; font-size:13px; }
body#authentication #content .form-control { min-height:44px; height:44px; padding:10px 12px; font-size:16px; }
body#authentication #content [data-action='show-password'] { height:44px; width:44px; }
body#authentication #content .forgot-password { margin:0 0 14px; font-size:13px; }
body#authentication #content .form-footer { margin:0; }
body#authentication #content .form-control-submit,
body#authentication #content .es-google-signin { min-height:44px; padding:10px 14px; font-size:14px; }
body#authentication #content .ets_solo_or { margin:12px auto; }
body#authentication #content .ets_solo_social { margin:0; padding:0; }
body#authentication #content .ets_solo_social_item.google { margin:0; }
body#authentication #content .no-account { margin-top:16px; font-size:13px; }
body#authentication #content .es-recaptcha-notice { margin-top:14px; padding-top:12px; border-top:1px solid var(--account-border); font-size:10px; line-height:1.5; }
@media(max-width:575px) {
 body#authentication #content { padding:20px 18px; margin:12px auto 28px; }
}

