#plp-catalog-gate-root:not([open]) { display: none !important; }
			#plp-catalog-gate-root { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; padding: 18px; overflow: auto; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important; }
			#plp-catalog-gate-root button,#plp-catalog-gate-root input,#plp-catalog-gate-root select,#plp-catalog-gate-root a { font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important; }
			#plp-catalog-gate-root::before { content: ""; position: fixed; inset: 0; background: rgba(3,18,35,.72); -webkit-backdrop-filter: blur(8px) saturate(.72); backdrop-filter: blur(8px) saturate(.72); }
			.plp-gate-card { position: relative; width: min(100%,590px); overflow: hidden; border: 1px solid rgba(255,255,255,.66); border-radius: 24px; outline: none; background: rgba(255,255,255,.985); box-shadow: 0 30px 100px rgba(0,20,44,.38); color: #0b1f38; }
			.plp-gate-brand { position: relative; isolation: isolate; padding: 18px 28px 17px; text-align: center; color: #fff; background: linear-gradient(112deg,#0876cf 0%,#0aa9b1 54%,#08b56b 100%); }
			.plp-gate-brand::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .18; background: radial-gradient(circle at 18% 42%,transparent 0 10px,rgba(255,255,255,.8) 11px 12px,transparent 13px 100%),radial-gradient(circle at 82% 62%,transparent 0 16px,rgba(255,255,255,.65) 17px 18px,transparent 19px 100%); background-size: 90px 90px,116px 116px; }
			.plp-gate-logo { display: inline-flex; align-items: center; gap: 10px; }
			.plp-gate-logo svg { width: 33px; height: 40px; flex: 0 0 auto; }
			.plp-gate-body { padding: 24px 32px 23px; }
			.plp-gate-body h2 { margin: 0 0 7px; text-align: center; color: #071d37; font-size: clamp(26px,5vw,34px); line-height: 1.08; letter-spacing: -.03em; }
			.plp-gate-intro { margin: 0 auto 17px; max-width: 455px; text-align: center; color: #53657a; font-size: 14px; line-height: 1.45; }
			.plp-gate-offer { display: flex; align-items: center; gap: 13px; margin: 0 0 17px; padding: 12px 14px; border: 1px solid #66c9e4; border-radius: 13px; background: linear-gradient(115deg,#edf9ff,#effcf7); text-align: left; }
			.plp-gate-offer svg { width: 28px; height: 28px; flex: 0 0 auto; color: #0782ce; }
			.plp-gate-offer strong { display: block; color: #073d68; font-size: 15px; line-height: 1.18; text-transform: uppercase; }
			.plp-gate-offer span { display: block; margin-top: 3px; color: #52677b; font-size: 11px; line-height: 1.3; }
			.plp-gate-field { margin: 0 0 13px; text-align: left; }
			.plp-gate-field label { display: block; margin: 0 0 6px; color: #203951; font-size: 12px; font-weight: 800; }
			.plp-gate-input,.plp-gate-select { box-sizing: border-box; width: 100%; min-height: 48px; margin: 0 !important; border: 1px solid #c7d4e0 !important; border-radius: 11px !important; background: #fff !important; box-shadow: none !important; color: #0b1f38 !important; font: inherit; font-size: 15px !important; }
			.plp-gate-input { padding: 0 14px !important; }
			.plp-gate-select { padding: 0 38px 0 14px !important; }
			.plp-gate-input:focus,.plp-gate-select:focus { border-color: #0784d5 !important; outline: 3px solid rgba(7,132,213,.15) !important; }
			.plp-gate-action { box-sizing: border-box !important; display: flex !important; width: 100% !important; min-height: 52px !important; align-items: center !important; justify-content: center !important; gap: 10px !important; margin: 0 !important; padding: 0 18px !important; border-radius: 12px !important; appearance: none !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: -.01em; line-height: 1.2 !important; text-align: center !important; text-decoration: none !important; transition: transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
			.plp-gate-action:hover { transform: translateY(-1px); }
			.plp-gate-primary { cursor: pointer; border: 1px solid #087cd5 !important; color: #fff !important; background: linear-gradient(100deg,#0878d5,#04ad72) !important; box-shadow: 0 10px 24px rgba(6,129,171,.2) !important; }
			.plp-gate-primary[aria-busy="true"] { cursor: wait; opacity: .72; }
			.plp-gate-error { min-height: 17px; margin: 6px 0 0; color: #b42318; font-size: 12px; font-weight: 750; text-align: center; }
			.plp-gate-success { margin: 0 0 13px; padding: 11px 13px; border: 1px solid #8bd8b7; border-radius: 10px; background: #effbf5; color: #12643f; font-size: 12px; font-weight: 700; line-height: 1.4; text-align: center; }
			.plp-gate-footer-actions { display: flex; justify-content: center; gap: 6px 14px; flex-wrap: wrap; margin-top: 18px; padding: 12px 14px; border: 1px solid #e0e8ef; border-radius: 11px; background: #f8fbfd; color: #42586d; font-size: 14px; line-height: 1.4; }
			.plp-gate-link { display: inline-block; cursor: pointer; border: 0; padding: 0; color: #0b6fb5 !important; background: transparent !important; box-shadow: none !important; font: inherit; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
			.plp-gate-ruo { margin: 13px 0 0; padding-top: 12px; border-top: 1px solid #e1e8ee; color: #667686; font-size: 10px; line-height: 1.38; text-align: center; }
			@media (max-width: 520px) {
				#plp-catalog-gate-root { padding: 10px; align-items: start; }
				.plp-gate-card { margin: 10px auto; border-radius: 18px; }
				.plp-gate-brand { padding: 14px 20px 13px; }
				.plp-gate-body { padding: 19px 18px 18px; }
				.plp-gate-body h2 { font-size: 27px; }
				.plp-gate-intro { margin-bottom: 13px; font-size: 13px; }
				.plp-gate-offer { margin-bottom: 13px; padding: 10px 11px; }
				.plp-gate-field { margin-bottom: 10px; }
				.plp-gate-input,.plp-gate-select { min-height: 45px; }
			}
			@media (prefers-reduced-motion: reduce) { .plp-gate-action { transition: none; } }

			/* v1.1.1 — restore the proven PLP authentication design language. */
			#plp-catalog-gate-root::before { background: rgba(5,23,40,.68); -webkit-backdrop-filter: blur(7px) saturate(.76); backdrop-filter: blur(7px) saturate(.76); }
			.plp-gate-card { width: min(100%,580px); border: 1px solid rgba(14,58,84,.09); border-radius: 22px; background: #fff; box-shadow: 0 24px 70px rgba(7,38,59,.2),0 4px 14px rgba(7,38,59,.08); }
			.plp-gate-brand { min-height: 148px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 27px 24px 21px; background-image: linear-gradient(118deg,rgba(0,102,204,.94) 0%,rgba(0,142,174,.95) 50%,rgba(0,179,89,.94) 100%),url('../images/login-gate/plp-molecular-header.webp'); background-position: center; background-size: cover; background-repeat: no-repeat; box-shadow: inset 0 -1px 0 rgba(255,255,255,.18); }
			.plp-gate-brand::before { content: none; display: none; }
			.plp-gate-logo { display: block; }
			.plp-gate-logo img { display: block; width: 210px; max-width: 70vw; height: auto; filter: drop-shadow(0 2px 6px rgba(0,25,48,.22)); }
			.plp-gate-kicker { margin-top: 6px; color: #fff; font-size: 9.5px; font-weight: 650; letter-spacing: .11em; opacity: .97; text-shadow: 0 1px 5px rgba(0,28,50,.48); }
			.plp-gate-trust { display: flex; padding: 12px 26px; border-bottom: 1px solid #e1e8ed; background: linear-gradient(180deg,rgba(255,255,255,.99) 0%,#f7fafc 100%); box-shadow: 0 1px 0 rgba(8,45,68,.04); }
			.plp-gate-trust-item { position: relative; flex: 1; text-align: center; color: #667585; font-size: 10px; line-height: 1.25; }
			.plp-gate-trust-item:not(:last-child)::after { content: ''; position: absolute; top: 4px; right: 0; bottom: 4px; width: 1px; background: #e1e8ed; }
			.plp-gate-trust-item strong { display: block; color: #0066cc; font-size: 14px; line-height: 1.15; }
			.plp-gate-stars { margin-top: 2px; color: #00b359; font-size: 10px; letter-spacing: 1px; }
			.plp-gate-body { padding: 27px 46px 30px; }
			.plp-gate-body h2 { font-size: 29px; }
			.plp-gate-intro { max-width: 430px; margin-bottom: 19px; }
			.plp-gate-offer { margin-bottom: 18px; padding: 13px 15px; border-color: #9ed9e8; background: linear-gradient(115deg,#f1faff,#f3fcf8); box-shadow: 0 4px 16px rgba(6,112,157,.05); }
			.plp-gate-primary { min-height: 52px; }
			.plp-gate-footer-actions { display: block; margin-top: 18px; text-align: center; }
			.plp-gate-link { border: 0 !important; outline: 0; color: #066fc1 !important; background: transparent !important; box-shadow: none !important; text-decoration: none; }
			.plp-gate-link:hover,.plp-gate-link:focus-visible { color: #034f91 !important; text-decoration: underline; text-underline-offset: 3px; }
			.plp-gate-ruo { margin-top: 16px; padding-top: 14px; }
			@media (max-width:520px) {
				.plp-gate-card { margin: 10px auto; border-radius: 18px; }
				.plp-gate-brand { min-height: 126px; padding: 21px 18px 17px; }
				.plp-gate-logo img { width: 185px; }
				.plp-gate-kicker { font-size: 8px; }
				.plp-gate-trust { padding: 10px 12px; }
				.plp-gate-body { padding: 22px 20px 23px; }
				.plp-gate-body h2 { font-size: 27px; }
			}
		
#plp-catalog-gate-root[hidden],#plp-catalog-gate-root [hidden]{display:none!important}
html.plp-login-gate-open{overflow:hidden!important}.plp-gate-close{position:absolute;z-index:2;top:10px;right:14px;width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#fff;font-size:27px;cursor:pointer}.plp-gate-close:hover,.plp-gate-close:focus-visible{background:#ffffff26;border-radius:6px}.plp-gate-divider{display:flex;align-items:center;gap:12px;justify-content:center;margin:16px 0 10px;color:#67798a;font-size:11px}.plp-gate-divider:before,.plp-gate-divider:after{content:"";height:1px;flex:1;background:#dfe8ee}.plp-gate-provider-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.plp-gate-provider{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;flex:1;padding:7px 10px;border:1px solid #c7d4e0;border-radius:9px;background:#fff;color:#203951;font-size:12px;cursor:pointer}.plp-gate-provider svg{width:18px;height:18px;flex-shrink:0}.plp-gate-provider:hover{background:#f2f7fb}.plp-gate-provider:disabled{opacity:.65;cursor:wait}.plp-gate-secondary{margin-top:10px!important;background:#f2f7fb!important;color:#246298!important;border:1px solid #c7d4e0!important;cursor:pointer}.plp-gate-primary.is-working:before{content:"";width:16px;height:16px;border:2px solid #ffffff60;border-top-color:#fff;border-radius:50%;animation:plp-login-spin .7s linear infinite}.plp-gate-error:empty{display:none}.plp-gate-error.is-success{padding:10px 12px;border:1px solid #8bd8b7;border-radius:10px;background:#effbf5;color:#12643f}.plp-gate-body{max-height:calc(100dvh - 235px);overflow:auto}.plp-gate-brand{min-height:125px}.plp-gate-card{max-height:calc(100dvh - 36px)}.plp-gate-action:disabled{cursor:wait}.plp-gate-action:focus-visible,.plp-gate-provider:focus-visible,.plp-gate-close:focus-visible{outline:3px solid #60b8df;outline-offset:2px}@keyframes plp-login-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.plp-gate-primary.is-working:before{animation:none}}
#plp-catalog-gate-root{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;background:transparent;box-sizing:border-box}#plp-catalog-gate-root::backdrop{background:transparent}

#plp-catalog-gate-root,#plp-catalog-gate-root *{box-sizing:border-box}.plp-gate-card{display:flex;flex-direction:column;min-height:0}.plp-gate-brand,.plp-gate-trust{flex-shrink:0}.plp-gate-body{min-height:0;flex:1 1 auto;max-height:none;overflow:auto}

/* An existing account is a helpful sign-in cue beneath the primary button. */
.plp-gate-error.is-info{margin-top:10px;color:#066fc1;font-weight:600;line-height:1.45}
.plp-gate-error.is-info::before{content:"↑";display:inline-block;margin-right:6px;font-size:16px;line-height:1;vertical-align:-1px}
.plp-gate-primary.is-cooldown{opacity:.72;cursor:not-allowed}

/* Keep theme-wide button styles out of the modal's close control. */
#plp-catalog-gate-root .plp-gate-close{display:grid!important;place-items:center!important;top:10px;right:10px;width:36px!important;height:36px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#fff!important;box-shadow:none!important;line-height:1!important;transform:none!important;appearance:none!important}
#plp-catalog-gate-root .plp-gate-close:hover,#plp-catalog-gate-root .plp-gate-close:focus,#plp-catalog-gate-root .plp-gate-close:active{background:rgba(255,255,255,.16)!important;color:#fff!important}
#plp-catalog-gate-root .plp-gate-close:focus-visible{outline:2px solid #fff!important;outline-offset:2px}
#plp-catalog-gate-root .plp-gate-close svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* A provider-confirmed identity still needs a verified checkout email. */
#plp-catalog-gate-root .plp-gate-code{font-variant-numeric:tabular-nums;letter-spacing:.18em}
#plp-catalog-gate-root .plp-gate-code-help{margin:6px 0 0;font-size:12px;line-height:1.45;color:#596f82}
#plp-catalog-gate-root .plp-gate-ms-resend{display:block;margin:12px auto 0;font-size:13px;white-space:normal;min-height:32px}
#plp-catalog-gate-root .plp-gate-ms-resend:disabled{color:#657a8e!important;cursor:not-allowed;text-decoration:none}
#plp-catalog-gate-root .plp-gate-ms-resend:focus-visible{outline:2px solid #0784d5;outline-offset:4px}
#plp-catalog-gate-root.is-microsoft-completion .plp-gate-error.is-info::before{content:none}

/* This notice stays beside every explicit email or social authentication action. */
#plp-catalog-gate-root .plp-gate-agreement{display:block;margin:2px 0 15px;padding:0;border:0;border-radius:0;background:transparent;color:#3f5367;font-size:12px;font-weight:400;line-height:1.38;text-align:left}
#plp-catalog-gate-root .plp-gate-agreement a{color:#066fc1!important;font-weight:700;text-decoration:underline!important;text-underline-offset:3px}
#plp-catalog-gate-root .plp-gate-agreement a:hover{color:#034f91!important}
#plp-catalog-gate-root .plp-gate-agreement a:focus-visible{outline:2px solid #0784d5;outline-offset:3px;border-radius:2px}
