/**
 * Naty Access Suite — login templates.
 * Layout is server-rendered (.nas-shell around WordPress' #login): no JS needed.
 * Every rule is scoped to body.nas-login. Logical properties = RTL-ready.
 * Templates: atelier · vitrine · etiquette · studio · soiree.
 */

/* ============================== Tokens ============================== */
/* :where() = zero specificity, so every template's tokens override these. */
:where(body.nas-login) {
	--nas-ink: #000;
	--nas-text: #3d3d3d;
	--nas-muted: #6f6f6f;
	--nas-line: #d6d3ce;
	--nas-field: #fff;
	--nas-radius: 0;
	--nas-btn-radius: 0;
	--nas-display: Georgia, serif;
	--nas-body: system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
	--nas-focus: color-mix(in srgb, var(--nas-accent) 28%, transparent);
	--nas-error: #b42318;
	--nas-ok: #067647;
	--nas-panel-w: 400px;
}

/* ============================== Base ============================== */
html:has(body.nas-login) { background: var(--nas-page); }
body.nas-login {
	margin: 0;
	min-height: 100vh;
	min-height: 100dvh;
	background: var(--nas-page);
	color: var(--nas-text);
	font-family: var(--nas-body);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	display: block;
}
body.nas-login *, body.nas-login *::before, body.nas-login *::after { box-sizing: border-box; }

.nas-login .nas-shell { min-height: 100vh; min-height: 100dvh; display: grid; position: relative; }
.nas-login .nas-panel { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; padding: 48px 28px; min-width: 0; }
.nas-login .nas-panel-inner { width: 100%; max-width: var(--nas-panel-w); margin-inline: auto; animation: nas-in .45s cubic-bezier(.2,.7,.2,1) both; }
@keyframes nas-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Visual (photo / colour field) */
.nas-login .nas-visual { position: relative; overflow: hidden; background: var(--nas-second); display: none; }
.nas-login .nas-visual-media { position: absolute; inset: 0; background-image: var(--nas-image); background-size: cover; background-position: center; }
.nas-login .nas-visual-media::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, var(--nas-overlay)); }
.nas-login.nas-no-image .nas-visual-media::after { display: none; }
.nas-login .nas-visual-copy { position: absolute; inset-inline: 0; inset-block-end: 0; padding: 48px; color: #fff; display: flex; flex-direction: column; gap: 10px; }
.nas-login .nas-visual-tagline:empty { display: none; }

/* WordPress chrome we replace */
.nas-login #login { width: 100%; max-width: none; padding: 0; margin: 0; }
.nas-login #login > h1 { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; padding: 0; }

/* Heading */
.nas-login .nas-head { margin-block-end: 32px; }
.nas-login .nas-mark { display: inline-block; margin-block-end: 28px; color: var(--nas-ink); text-decoration: none; box-shadow: none; outline-offset: 4px; }
.nas-login .nas-logo { display: block; width: var(--nas-logo-w); max-width: 100%; height: auto; }
.nas-login .nas-wordmark { font-family: var(--nas-display); font-size: 22px; letter-spacing: .02em; }
.nas-login .nas-title { margin: 0; font-family: var(--nas-display); font-weight: 400; font-size: clamp(30px, 4vw, 38px); line-height: 1.12; color: var(--nas-ink); letter-spacing: -.01em; }
.nas-login .nas-sub { margin: 10px 0 0; color: var(--nas-muted); font-size: 15px; max-width: 34ch; }

/* Messages */
.nas-login #login_error,
.nas-login .message,
.nas-login .notice,
.nas-login .success {
	margin: 0 0 22px;
	padding: 12px 14px;
	border: 0;
	border-inline-start: 3px solid var(--nas-ink);
	border-radius: var(--nas-radius);
	background: color-mix(in srgb, var(--nas-ink) 6%, transparent);
	color: var(--nas-text);
	font-size: 14px;
	box-shadow: none;
}
.nas-login #login_error, .nas-login .notice-error { border-inline-start-color: var(--nas-error); background: color-mix(in srgb, var(--nas-error) 9%, transparent); color: var(--nas-error); }
.nas-login .success, .nas-login .notice-success { border-inline-start-color: var(--nas-ok); }
.nas-login #login_error a, .nas-login .message a { color: inherit; }

/* Form */
.nas-login #loginform,
.nas-login #registerform,
.nas-login #lostpasswordform,
.nas-login #resetpassform {
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	overflow: visible;
}
.nas-login form p, .nas-login form .user-pass-wrap { margin: 0; }
.nas-login form label { display: block; margin-block-end: 7px; color: var(--nas-ink); font-size: 14px; font-weight: 500; line-height: 1.3; }
.nas-login form input[type="text"],
.nas-login form input[type="email"],
.nas-login form input[type="password"] {
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 16px;
	background: var(--nas-field);
	border: 1px solid var(--nas-line);
	border-radius: var(--nas-radius);
	color: var(--nas-ink);
	font: inherit;
	font-size: 16px; /* ≥16px: no iOS zoom */
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
.nas-login form input::placeholder { color: var(--nas-muted); }
.nas-login form input[type="text"]:focus,
.nas-login form input[type="email"]:focus,
.nas-login form input[type="password"]:focus { border-color: var(--nas-accent); box-shadow: 0 0 0 3px var(--nas-focus); outline: none; }

/* Password field + show/hide (WordPress' own button) */
.nas-login .wp-pwd { position: relative; }
.nas-login .wp-pwd input[type="password"], .nas-login .wp-pwd input[type="text"] { padding-inline-end: 52px; }
.nas-login .wp-hide-pw { position: absolute; inset-block-start: 0; inset-inline-end: 0; inset-inline-start: auto; width: 52px; height: 52px; min-height: 0; margin: 0; padding: 0; background: transparent; border: 0; color: var(--nas-muted); box-shadow: none; }
.nas-login .wp-hide-pw:hover { color: var(--nas-ink); }
.nas-login .wp-hide-pw:focus { box-shadow: 0 0 0 3px var(--nas-focus); border-radius: var(--nas-radius); }
.nas-login .wp-hide-pw .dashicons { width: 20px; height: 20px; font-size: 20px; top: 0; }
.nas-login .nas-caps { display: none; margin-block-start: 8px; font-size: 13px; color: var(--nas-error); }
.nas-login .nas-caps.is-on { display: block; }
.nas-login .pw-weak, .nas-login #pass-strength-result { border-radius: var(--nas-radius); }

/* Remember + submit */
.nas-login .forgetmenot { float: none; display: flex; align-items: center; }
.nas-login .forgetmenot label { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-weight: 400; color: var(--nas-text); cursor: pointer; }
.nas-login input[type="checkbox"] { width: 18px; height: 18px; margin: 0; border: 1px solid var(--nas-line); border-radius: min(var(--nas-radius), 4px); accent-color: var(--nas-accent); box-shadow: none; }
.nas-login input[type="checkbox"]:checked::before { content: none; }
.nas-login input[type="checkbox"]:checked { background: var(--nas-accent); border-color: var(--nas-accent); }
.nas-login input[type="checkbox"]:focus { box-shadow: 0 0 0 3px var(--nas-focus); }
.nas-login .submit { margin: 4px 0 0; padding: 0; float: none; }
.nas-login .button-primary,
.nas-login .button.button-large {
	float: none;
	width: 100%;
	height: 54px;
	min-height: 0;
	margin: 0;
	padding: 0 20px;
	background: var(--nas-accent);
	border: 0;
	border-radius: var(--nas-btn-radius);
	color: var(--nas-on-accent);
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .01em;
	text-shadow: none;
	box-shadow: none;
	cursor: pointer;
	transition: filter .15s, transform .15s;
}
.nas-login .button-primary:hover { background: var(--nas-accent); color: var(--nas-on-accent); filter: brightness(1.12); }
.nas-login .button-primary:active { transform: translateY(1px); }
.nas-login .button-primary:focus { box-shadow: 0 0 0 3px var(--nas-page), 0 0 0 5px var(--nas-accent); outline: none; }
.nas-login .button-primary.is-busy { cursor: progress; filter: none; opacity: .72; }
.nas-login .button-primary[disabled] { background: var(--nas-accent) !important; color: var(--nas-on-accent) !important; }

/* Links under the form */
.nas-login #nav, .nas-login #backtoblog { margin: 0; padding: 0; text-align: start; font-size: 14px; text-shadow: none; }
.nas-login #nav { margin-block-start: 26px; color: var(--nas-muted); }
.nas-login #backtoblog { margin-block-start: 8px; }
.nas-login #nav a, .nas-login #backtoblog a, .nas-login .privacy-policy-page-link a { color: var(--nas-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.nas-login #nav a:hover, .nas-login #backtoblog a:hover { color: var(--nas-accent); }
.nas-login .privacy-policy-page-link { margin: 28px 0 0; text-align: start; font-size: 13px; }
.nas-login .language-switcher { margin-block-start: 28px; }
.nas-login .language-switcher form { display: flex; gap: 8px; align-items: center; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
.nas-login .language-switcher select { height: 38px; border: 1px solid var(--nas-line); border-radius: var(--nas-radius); background-color: var(--nas-field); color: var(--nas-ink); }
.nas-login .language-switcher .button { height: 38px; min-height: 0; border-radius: var(--nas-radius); }
.nas-login .language-switcher label .dashicons { color: var(--nas-muted); }
.nas-login :focus-visible { outline: 2px solid var(--nas-accent); outline-offset: 2px; }

/* Social buttons rendered by the OAuth module (above the email form) */
.nas-login .nas-social--wp { order: -1; display: flex; flex-direction: column; margin: 0; }
.nas-login .nas-social--wp .nas-social-btns { order: 1; grid-template-columns: 1fr; gap: 10px; }
.nas-login .nas-social--wp .nas-social-sep { order: 2; margin: 22px 0 4px; color: var(--nas-muted); text-transform: none; }
.nas-login .nas-social--wp .nas-social-sep::before, .nas-login .nas-social--wp .nas-social-sep::after { background: var(--nas-line); }
.nas-login .nas-social--wp .nas-social-error { order: 0; }
.nas-login .nas-social .nas-social-btn { min-height: 52px; border: 1px solid var(--nas-line); border-radius: var(--nas-btn-radius); background: var(--nas-field); color: var(--nas-ink); font-size: 15px; }
.nas-login .nas-social .nas-social-btn:hover { border-color: var(--nas-ink); background: var(--nas-field); color: var(--nas-ink); }

/* ============================ ATELIER ============================ */
.nas-tpl-atelier {
	--nas-display: 'Bodoni Moda', 'Frank Ruhl Libre', Didot, 'Times New Roman', serif;
	--nas-body: 'Assistant', system-ui, sans-serif;
	--nas-ink: #000;
	--nas-text: #333;
	--nas-muted: #6b6b6b;
	--nas-line: #cfcbc5;
	--nas-panel-w: 380px;
}
.nas-tpl-atelier .nas-shell { grid-template-columns: minmax(0, 1.38fr) minmax(420px, 1fr); }
.nas-tpl-atelier.nas-pos-left .nas-shell { grid-template-columns: minmax(420px, 1fr) minmax(0, 1.38fr); }
.nas-tpl-atelier.nas-pos-left .nas-visual { order: 2; }
.nas-tpl-atelier .nas-visual { display: block; }
.nas-tpl-atelier .nas-visual-media::after { background: linear-gradient(to top, rgba(0,0,0,calc(var(--nas-overlay) + .25)) 0%, rgba(0,0,0,var(--nas-overlay)) 45%, rgba(0,0,0,calc(var(--nas-overlay) * .4)) 100%); }
.nas-tpl-atelier .nas-visual-copy { padding: clamp(32px, 5vw, 64px); }
.nas-tpl-atelier .nas-visual-brand { font-family: var(--nas-display); font-size: clamp(52px, 7.4vw, 124px); line-height: .92; letter-spacing: -.02em; font-weight: 400; }
.nas-tpl-atelier .nas-visual-tagline { font-size: 17px; max-width: 36ch; opacity: .88; }
.nas-tpl-atelier .nas-panel { background: var(--nas-surface); }
.nas-tpl-atelier .nas-title { font-size: clamp(34px, 3.4vw, 44px); }

/* ============================ VITRINE ============================ */
.nas-tpl-vitrine {
	--nas-display: 'Heebo', system-ui, sans-serif;
	--nas-body: 'Heebo', system-ui, sans-serif;
	--nas-ink: #fff;
	--nas-text: rgba(255, 255, 255, .86);
	--nas-muted: rgba(255, 255, 255, .7);
	--nas-line: rgba(255, 255, 255, .34);
	--nas-field: rgba(255, 255, 255, .1);
	--nas-radius: 12px;
	--nas-btn-radius: 12px;
	--nas-focus: rgba(255, 255, 255, .35);
	--nas-error: #ffd0cc;
	--nas-panel-w: 392px;
}
.nas-tpl-vitrine .nas-shell { grid-template-columns: 1fr; place-items: center; }
.nas-tpl-vitrine .nas-visual { display: block; position: fixed; inset: 0; }
.nas-tpl-vitrine .nas-visual-copy { display: none; }
.nas-tpl-vitrine .nas-panel { width: 100%; padding: 40px 20px; }
.nas-tpl-vitrine .nas-panel-inner {
	max-width: 460px;
	padding: 44px 40px 36px;
	background: var(--nas-surface);
	border: 1px solid rgba(255, 255, 255, .26);
	border-radius: 24px;
	-webkit-backdrop-filter: blur(22px) saturate(140%);
	backdrop-filter: blur(22px) saturate(140%);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .28);
}
.nas-tpl-vitrine .nas-title { font-weight: 300; font-size: 34px; letter-spacing: -.02em; }
.nas-tpl-vitrine .nas-wordmark { font-weight: 600; letter-spacing: .04em; }
.nas-tpl-vitrine .nas-logo { filter: brightness(0) invert(1); }
.nas-tpl-vitrine form input[type="text"], .nas-tpl-vitrine form input[type="email"], .nas-tpl-vitrine form input[type="password"] { -webkit-text-fill-color: #fff; }
.nas-tpl-vitrine form input:-webkit-autofill { -webkit-box-shadow: 0 0 0 40px rgba(40, 34, 30, .9) inset; }
.nas-tpl-vitrine #login_error, .nas-tpl-vitrine .message { background: rgba(0, 0, 0, .28); color: #fff; border-inline-start-color: #fff; }
.nas-tpl-vitrine #login_error { border-inline-start-color: #ff8a80; }
.nas-tpl-vitrine .nas-social .nas-social-btn { background: rgba(255, 255, 255, .92); color: #1f1b18; border-color: transparent; }
.nas-tpl-vitrine .nas-social .nas-social-btn:hover { background: #fff; color: #1f1b18; border-color: transparent; }

/* ============================ ÉTIQUETTE ============================ */
.nas-tpl-etiquette {
	--nas-display: 'IBM Plex Sans Hebrew', system-ui, sans-serif;
	--nas-body: 'IBM Plex Sans Hebrew', system-ui, sans-serif;
	--nas-ink: #000;
	--nas-text: #2b2b2b;
	--nas-muted: #6e6e6e;
	--nas-line: #000;
	--nas-panel-w: 420px;
}
.nas-tpl-etiquette .nas-shell { grid-template-columns: 1fr; place-items: center; }
.nas-tpl-etiquette .nas-panel { width: 100%; padding: 120px 20px 56px; }
.nas-tpl-etiquette .nas-panel-inner { position: relative; filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .09)) drop-shadow(0 2px 3px rgba(0, 0, 0, .06)); }
.nas-tpl-etiquette #login { position: relative; padding: 76px 44px 40px; isolation: isolate; }
/* the tag: chamfered top corners */
.nas-tpl-etiquette #login::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--nas-surface);
	clip-path: polygon(64px 0, calc(100% - 64px) 0, 100% 64px, 100% 100%, 0 100%, 0 64px);
}
/* eyelet + string */
.nas-tpl-etiquette #login::after {
	content: "";
	position: absolute;
	inset-block-start: 26px;
	inset-inline-start: calc(50% - 11px);
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--nas-page);
	box-shadow: 0 0 0 4px var(--nas-second), inset 0 1px 2px rgba(0, 0, 0, .25);
}
.nas-tpl-etiquette .nas-head { position: relative; text-align: center; }
.nas-tpl-etiquette .nas-head::before {
	content: "";
	position: absolute;
	inset-block-end: calc(100% + 26px);
	inset-inline-start: calc(50% - .5px);
	width: 1px;
	height: 140px;
	background: #000;
	transform-origin: bottom center;
	transform: rotate(-9deg);
}
.nas-tpl-etiquette .nas-mark { margin-block-end: 20px; }
.nas-tpl-etiquette .nas-logo { margin-inline: auto; }
.nas-tpl-etiquette .nas-wordmark { font-weight: 600; font-size: 15px; letter-spacing: .32em; text-transform: uppercase; }
.nas-tpl-etiquette .nas-title { font-weight: 500; font-size: 28px; letter-spacing: -.01em; }
.nas-tpl-etiquette .nas-sub { margin-inline: auto; }
.nas-tpl-etiquette form input[type="text"], .nas-tpl-etiquette form input[type="email"], .nas-tpl-etiquette form input[type="password"] { border-width: 0 0 1px; padding-inline: 2px; height: 46px; background: transparent; }
.nas-tpl-etiquette .wp-hide-pw { height: 46px; }
.nas-tpl-etiquette form input[type="text"]:focus, .nas-tpl-etiquette form input[type="email"]:focus, .nas-tpl-etiquette form input[type="password"]:focus { border-color: #000; box-shadow: 0 1px 0 0 #000; }
.nas-tpl-etiquette #nav, .nas-tpl-etiquette #backtoblog, .nas-tpl-etiquette .privacy-policy-page-link { text-align: center; }

/* ============================ STUDIO ============================ */
.nas-tpl-studio {
	--nas-display: 'Rubik', system-ui, sans-serif;
	--nas-body: 'Rubik', system-ui, sans-serif;
	--nas-ink: #101828;
	--nas-text: #344054;
	--nas-muted: #667085;
	--nas-line: #d0d5dd;
	--nas-radius: 10px;
	--nas-btn-radius: 10px;
	--nas-panel-w: 400px;
}
.nas-tpl-studio .nas-shell { grid-template-columns: minmax(0, 1fr) minmax(460px, 1.1fr); }
.nas-tpl-studio.nas-pos-left .nas-shell { grid-template-columns: minmax(460px, 1.1fr) minmax(0, 1fr); }
.nas-tpl-studio.nas-pos-left .nas-visual { order: 2; }
.nas-tpl-studio .nas-visual { display: block; background: var(--nas-accent); }
.nas-tpl-studio .nas-visual-media { mix-blend-mode: luminosity; opacity: .35; }
.nas-tpl-studio .nas-visual-media::after { display: none; }
.nas-tpl-studio .nas-visual-copy { inset-block: 0; justify-content: flex-end; padding: 56px; color: var(--nas-on-accent); }
.nas-tpl-studio .nas-visual-brand { font-size: clamp(36px, 3.6vw, 52px); font-weight: 600; line-height: 1.05; letter-spacing: -.025em; }
.nas-tpl-studio .nas-visual-tagline { font-size: 17px; max-width: 32ch; color: var(--nas-second); }
.nas-tpl-studio .nas-panel { background: var(--nas-surface); }
.nas-tpl-studio .nas-title { font-weight: 600; font-size: 30px; letter-spacing: -.02em; }
.nas-tpl-studio .nas-wordmark { font-weight: 600; font-size: 18px; }

/* ============================ SOIRÉE ============================ */
.nas-tpl-soiree {
	--nas-display: 'Bellefair', 'Frank Ruhl Libre', Georgia, serif;
	--nas-body: 'Assistant', system-ui, sans-serif;
	--nas-ink: #f6ecdc;
	--nas-text: rgba(246, 236, 220, .86);
	--nas-muted: rgba(246, 236, 220, .62);
	--nas-line: color-mix(in srgb, var(--nas-accent) 55%, transparent);
	--nas-field: transparent;
	--nas-btn-radius: 999px;
	--nas-error: #ffc9c2;
	--nas-panel-w: 372px;
}
.nas-tpl-soiree .nas-shell { grid-template-columns: 1fr; place-items: center; }
.nas-tpl-soiree .nas-shell::before { content: ""; position: fixed; inset: 18px; border: 1px solid color-mix(in srgb, var(--nas-accent) 40%, transparent); pointer-events: none; z-index: 2; }
.nas-tpl-soiree.nas-has-image .nas-visual { display: block; position: fixed; inset: 0; background: var(--nas-page); }
.nas-tpl-soiree .nas-visual-media { opacity: .14; filter: grayscale(.5); }
.nas-tpl-soiree .nas-visual-media::after { display: none; }
.nas-tpl-soiree .nas-visual-copy { display: none; }
.nas-tpl-soiree .nas-panel { width: 100%; padding: 64px 24px; }
.nas-tpl-soiree .nas-head { text-align: center; }
.nas-tpl-soiree .nas-mark { color: var(--nas-accent); }
.nas-tpl-soiree .nas-logo { margin-inline: auto; }
.nas-tpl-soiree .nas-wordmark { font-size: 26px; letter-spacing: .06em; }
.nas-tpl-soiree .nas-title { font-size: clamp(38px, 4.4vw, 48px); color: var(--nas-accent); }
.nas-tpl-soiree .nas-sub { margin-inline: auto; }
.nas-tpl-soiree form label { color: var(--nas-accent); font-weight: 400; font-size: 13px; letter-spacing: .02em; }
.nas-tpl-soiree form input[type="text"], .nas-tpl-soiree form input[type="email"], .nas-tpl-soiree form input[type="password"] { border-width: 0 0 1px; padding-inline: 2px; height: 46px; color: #fff8ef; -webkit-text-fill-color: #fff8ef; }
.nas-tpl-soiree .wp-hide-pw { height: 46px; color: var(--nas-accent); }
.nas-tpl-soiree form input[type="text"]:focus, .nas-tpl-soiree form input[type="email"]:focus, .nas-tpl-soiree form input[type="password"]:focus { border-color: var(--nas-accent); box-shadow: 0 1px 0 0 var(--nas-accent); }
.nas-tpl-soiree form input:-webkit-autofill { -webkit-box-shadow: 0 0 0 40px var(--nas-page) inset; }
.nas-tpl-soiree .button-primary:focus { box-shadow: 0 0 0 3px var(--nas-page), 0 0 0 4px var(--nas-accent); }
.nas-tpl-soiree #nav, .nas-tpl-soiree #backtoblog, .nas-tpl-soiree .privacy-policy-page-link { text-align: center; }
.nas-tpl-soiree #nav a, .nas-tpl-soiree #backtoblog a { color: var(--nas-accent); }
.nas-tpl-soiree #login_error, .nas-tpl-soiree .message { background: rgba(0, 0, 0, .22); color: var(--nas-ink); }
.nas-tpl-soiree .nas-social .nas-social-btn { border-radius: 999px; background: transparent; color: var(--nas-ink); }
.nas-tpl-soiree .nas-social .nas-social-btn:hover { background: rgba(255, 255, 255, .06); color: var(--nas-ink); border-color: var(--nas-accent); }

/* Side templates already show the brand on the visual: no text wordmark twice. */
.nas-tpl-atelier .nas-mark:has(.nas-wordmark),
.nas-tpl-studio .nas-mark:has(.nas-wordmark) { display: none; }

/* ============================ Responsive ============================ */
@media (max-width: 960px) {
	.nas-tpl-atelier .nas-shell, .nas-tpl-atelier.nas-pos-left .nas-shell,
	.nas-tpl-studio .nas-shell, .nas-tpl-studio.nas-pos-left .nas-shell { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
	.nas-tpl-atelier.nas-pos-left .nas-visual, .nas-tpl-studio.nas-pos-left .nas-visual { order: 0; }
	.nas-tpl-atelier .nas-visual { min-height: 34vh; }
	.nas-tpl-atelier .nas-visual-copy { padding: 24px; }
	.nas-tpl-atelier .nas-visual-brand { font-size: clamp(40px, 11vw, 64px); }
	.nas-tpl-atelier .nas-visual-tagline { display: none; }
	.nas-tpl-studio .nas-visual { min-height: 0; }
	.nas-tpl-studio .nas-visual-copy { position: relative; padding: 22px 24px; }
	.nas-tpl-studio .nas-visual-brand { font-size: 24px; }
	.nas-tpl-studio .nas-visual-tagline { display: none; }
	.nas-login .nas-panel { justify-content: flex-start; padding: 36px 24px 48px; }
}
@media (max-width: 520px) {
	.nas-tpl-vitrine .nas-panel-inner { padding: 32px 22px 26px; border-radius: 20px; }
	.nas-tpl-etiquette .nas-panel { padding-block-start: 90px; }
	.nas-tpl-etiquette #login { padding: 70px 24px 32px; }
	.nas-tpl-etiquette #login::before { clip-path: polygon(44px 0, calc(100% - 44px) 0, 100% 44px, 100% 100%, 0 100%, 0 44px); }
	.nas-tpl-soiree .nas-shell::before { inset: 10px; }
}
@media (prefers-reduced-motion: reduce) {
	.nas-login .nas-panel-inner { animation: none; }
	.nas-login * { transition: none !important; }
}

/* Live preview inside the admin: forms are inert */
.nas-preview form { pointer-events: none; }
