/*
 * Plugnect Store Admin — design system et coque.
 *
 * Tout est préfixé .pnsa- et limité à body.pnsa-shell : sans la coque (autres
 * rôles, interface classique, éditeurs plein écran), rien ne change.
 *
 * Plan :
 *   1. Polices embarquées
 *   2. Base et typographie
 *   3. Coque : menu latéral, barre du haut, zone de contenu
 *   4. Composants : boutons, pastilles, cartes, indicateurs, tableaux, onglets…
 *   5. Palette de recherche, menus déroulants
 *   6. Habillage des écrans natifs (WordPress, WooCommerce)
 *   7. Petits écrans
 *
 * Les couleurs sont des variables (--pnsa-*) déclarées en ligne par
 * includes/assets.php, pour le thème clair et le thème sombre.
 */

/* 1. Polices embarquées ─────────────────────────────────────────────────── */
@font-face { font-family: "PNSA Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "PNSA Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/inter-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "PNSA Manrope"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("../fonts/manrope-latin-wght-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "PNSA Manrope"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("../fonts/manrope-latin-ext-wght-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* 2. Base ───────────────────────────────────────────────────────────────── */
body.pnsa-shell {
	--pnsa-font: "PNSA Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--pnsa-display: "PNSA Manrope", "PNSA Inter", ui-sans-serif, system-ui, sans-serif;
	--pnsa-radius: 12px;
	--pnsa-radius-sm: 8px;
	--pnsa-radius-md: 10px;
	--pnsa-sidebar-w: 248px;
	--pnsa-topbar-h: 56px;
	--pnsa-shadow-sm: 0 1px 2px 0 rgba(20, 30, 50, .06);
	--pnsa-shadow: 0 1px 3px 0 rgba(20, 30, 50, .07), 0 8px 24px -12px rgba(20, 30, 50, .12);
	--pnsa-shadow-lg: 0 24px 60px -24px rgba(20, 30, 50, .22);
	background: var(--pnsa-background);
	color: var(--pnsa-foreground);
	font-family: var(--pnsa-font);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.pnsa-shell.pnsa-theme-dark { color-scheme: dark; }
body.pnsa-shell #wpwrap,
body.pnsa-shell #wpcontent,
body.pnsa-shell #wpbody,
body.pnsa-shell #wpbody-content { background: transparent !important; }
body.pnsa-shell,
body.pnsa-shell input,
body.pnsa-shell select,
body.pnsa-shell textarea,
body.pnsa-shell button { font-family: var(--pnsa-font); }
body.pnsa-shell h1,
body.pnsa-shell h2,
body.pnsa-shell h3,
body.pnsa-shell h4 { font-family: var(--pnsa-display); letter-spacing: -.015em; color: var(--pnsa-foreground); }
body.pnsa-shell a { color: var(--pnsa-primary); }
body.pnsa-shell a:hover,
body.pnsa-shell a:active { color: var(--pnsa-primary); }
body.pnsa-shell a:focus { box-shadow: none; outline: 0; }
body.pnsa-shell :focus-visible,
body.pnsa-shell a:focus-visible { outline: 2px solid var(--pnsa-primary); outline-offset: 2px; box-shadow: none; }
body.pnsa-shell [hidden] { display: none !important; }

.pnsa-icon { width: 17px; height: 17px; flex: none; display: inline-block; vertical-align: middle; }
.pnsa-icon--xs { width: 14px; height: 14px; }
.pnsa-icon--lg { width: 20px; height: 20px; }
.pnsa-scroll { scrollbar-width: thin; scrollbar-color: var(--pnsa-border-strong) transparent; }
.pnsa-tabular { font-variant-numeric: tabular-nums; }
.pnsa-muted { color: var(--pnsa-muted-fg); }
.pnsa-sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* 3. Coque ──────────────────────────────────────────────────────────────── */

/* Le menu et la barre de WordPress restent dans la page, invisibles. */
body.pnsa-shell #adminmenumain,
body.pnsa-shell #wpadminbar { display: none !important; }
html.wp-toolbar:has(body.pnsa-shell) { padding-top: 0 !important; }
body.pnsa-shell #wpcontent,
body.pnsa-shell #wpfooter { margin-left: var(--pnsa-sidebar-w); padding-left: 0; }
body.pnsa-shell #wpbody { padding-top: 0; }
body.pnsa-shell #wpbody-content { padding-bottom: 48px; }
body.pnsa-shell #wpbody-content > .wrap,
body.pnsa-shell #wpbody-content > .woocommerce,
body.pnsa-shell #wpbody-content > .litespeed-wrap,
body.pnsa-shell #wpbody-content > form { margin: 24px 32px 0; max-width: none; }
body.pnsa-shell #wpfooter { padding: 12px 32px; color: var(--pnsa-muted-fg); border-top: 0; }
body.pnsa-shell #wpfooter a { color: var(--pnsa-muted-fg); }

/* Menu latéral */
.pnsa-sidebar {
	position: fixed; inset: 0 auto 0 0; z-index: 9990;
	width: var(--pnsa-sidebar-w);
	display: flex; flex-direction: column;
	background: var(--pnsa-sidebar); color: var(--pnsa-sidebar-fg);
	border-right: 1px solid var(--pnsa-sidebar-border);
}
.pnsa-sidebar__brand { display: flex; align-items: center; justify-content: space-between; padding: 16px 16px 14px; }
.pnsa-brand { display: flex; align-items: center; gap: 10px; min-width: 0; text-decoration: none; color: inherit !important; }
.pnsa-brand:focus-visible { outline-color: var(--pnsa-sidebar-primary); border-radius: var(--pnsa-radius-sm); }
.pnsa-brand__mark {
	display: grid; place-items: center; flex: none;
	width: 32px; height: 32px; border-radius: 10px;
	background: var(--pnsa-sidebar-primary); color: var(--pnsa-primary-fg);
	font: 800 13px/1 var(--pnsa-display);
}
.pnsa-brand__mark--image { object-fit: cover; background: var(--pnsa-sidebar-accent); }
.pnsa-brand__wide { display: block; max-width: 184px; max-height: 36px; width: auto; height: auto; object-fit: contain; }
.pnsa-brand__text { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.pnsa-brand__name { font: 700 14px/1 var(--pnsa-display); color: var(--pnsa-sidebar-fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pnsa-brand__sub { font-size: 11.2px; line-height: 1; color: var(--pnsa-sidebar-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pnsa-sidebar__close { display: none; }

.pnsa-nav { flex: 1; overflow-y: auto; padding: 0 8px 16px; }
.pnsa-nav__group { margin-bottom: 16px; }
.pnsa-nav__title {
	margin: 0; padding: 0 12px 6px;
	font-size: 10.6px; font-weight: 600; line-height: 1.4; letter-spacing: .11em; text-transform: uppercase;
	color: var(--pnsa-sidebar-muted);
}
.pnsa-nav__toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; background: none; border: 0; cursor: pointer; text-align: left; }
.pnsa-nav__toggle:hover { color: var(--pnsa-sidebar-fg); }
.pnsa-nav__caret { width: 13px; height: 13px; transition: transform .15s ease; }
.pnsa-nav__toggle[aria-expanded="false"] .pnsa-nav__caret { transform: rotate(-90deg); }
.pnsa-nav__list,
.pnsa-nav__children { list-style: none; margin: 0; padding: 0; }
.pnsa-nav__list > li { margin: 0 0 2px; }
.pnsa-nav__link {
	display: flex; align-items: center; gap: 10px;
	padding: 8px 12px; border-radius: var(--pnsa-radius-sm);
	font-size: 13.3px; font-weight: 500; line-height: 1.3;
	color: color-mix(in oklab, var(--pnsa-sidebar-fg) 75%, transparent) !important;
	text-decoration: none; transition: background-color .12s ease, color .12s ease;
}
.pnsa-nav__link:hover { background: color-mix(in oklab, var(--pnsa-sidebar-accent) 60%, transparent); color: var(--pnsa-sidebar-fg) !important; }
.pnsa-nav__link.is-active { background: var(--pnsa-sidebar-accent); color: var(--pnsa-sidebar-fg) !important; }
.pnsa-nav__link:focus-visible { outline-color: var(--pnsa-sidebar-primary); outline-offset: -2px; }
.pnsa-nav__icon { width: 17px; height: 17px; opacity: .8; }
.pnsa-nav__link.is-active .pnsa-nav__icon { color: var(--pnsa-sidebar-primary); opacity: 1; }
.pnsa-nav__label { min-width: 0; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pnsa-nav__badge { font-size: 10.6px; font-weight: 700; padding: 1px 6px; border-radius: 999px; background: var(--pnsa-sidebar-primary); color: var(--pnsa-primary-fg); }
.pnsa-nav__children { margin: 2px 0 6px 20px; padding-left: 13px; border-left: 1px solid var(--pnsa-sidebar-border); }
.pnsa-nav__child {
	display: block; padding: 5px 10px; border-radius: 6px;
	font-size: 12.6px; line-height: 1.35; text-decoration: none;
	color: var(--pnsa-sidebar-muted) !important;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pnsa-nav__child:hover { color: var(--pnsa-sidebar-fg) !important; background: color-mix(in oklab, var(--pnsa-sidebar-accent) 50%, transparent); }
.pnsa-nav__child.is-active { color: var(--pnsa-sidebar-fg) !important; font-weight: 600; }

.pnsa-setup-card {
	display: block; margin: 0 12px 12px; padding: 12px;
	border: 1px solid var(--pnsa-sidebar-border); border-radius: var(--pnsa-radius);
	background: color-mix(in oklab, var(--pnsa-sidebar-accent) 50%, transparent);
	color: var(--pnsa-sidebar-fg) !important; text-decoration: none;
	transition: background-color .12s ease;
}
.pnsa-setup-card:hover { background: var(--pnsa-sidebar-accent); }
.pnsa-setup-card__row { display: flex; justify-content: space-between; font-size: 11.5px; font-weight: 500; }
.pnsa-setup-card__pct { color: var(--pnsa-sidebar-primary); font-variant-numeric: tabular-nums; }
.pnsa-setup-card__hint { display: block; margin-top: 8px; font-size: 10.9px; color: var(--pnsa-sidebar-muted); }
.pnsa-progress { display: block; height: 8px; overflow: hidden; border-radius: 999px; background: var(--pnsa-muted); }
.pnsa-progress > span { display: block; height: 100%; border-radius: inherit; background: var(--pnsa-primary); transition: width .3s ease; }
.pnsa-progress--sidebar { height: 6px; margin-top: 8px; background: var(--pnsa-sidebar-border); }
.pnsa-progress--sidebar > span { background: var(--pnsa-sidebar-primary); }
.pnsa-drawer-backdrop { position: fixed; inset: 0; z-index: 9989; background: rgba(10, 16, 30, .45); }

/* Barre du haut */
.pnsa-topbar {
	position: sticky; top: 0; z-index: 9980;
	display: flex; align-items: center; gap: 8px;
	height: var(--pnsa-topbar-h); padding: 0 20px;
	border-bottom: 1px solid var(--pnsa-border);
	background: color-mix(in oklab, var(--pnsa-surface) 85%, transparent);
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.pnsa-topbar__menu { display: none !important; }
.pnsa-search-trigger {
	display: flex; flex: 1; align-items: center; gap: 8px;
	min-width: 0; max-width: 448px; height: 36px; padding: 0 12px;
	border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm);
	background: color-mix(in oklab, var(--pnsa-muted) 50%, transparent);
	color: var(--pnsa-muted-fg); font-size: 14px; cursor: pointer; text-align: left;
	transition: border-color .12s ease, background-color .12s ease;
}
.pnsa-search-trigger:hover { border-color: var(--pnsa-border-strong); background: var(--pnsa-muted); }
.pnsa-search-trigger .pnsa-icon { width: 16px; height: 16px; }
.pnsa-search-trigger__text { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pnsa-kbd {
	display: inline-flex; align-items: center; margin-left: auto; padding: 2px 6px;
	border: 1px solid var(--pnsa-border); border-radius: 4px; background: var(--pnsa-surface);
	font: 500 10.9px/1.2 var(--pnsa-font); color: var(--pnsa-muted-fg);
}
.pnsa-topbar__actions { margin-left: auto; display: flex; align-items: center; gap: 4px; }
.pnsa-icon-btn {
	position: relative; display: grid; place-items: center;
	width: 36px; height: 36px; padding: 0; border: 0; border-radius: var(--pnsa-radius-sm);
	background: transparent; color: var(--pnsa-muted-fg) !important; cursor: pointer; text-decoration: none;
}
.pnsa-icon-btn:hover { background: var(--pnsa-muted); color: var(--pnsa-foreground) !important; }
.pnsa-icon-btn .pnsa-icon { width: 18px; height: 18px; }
.pnsa-notif__count {
	position: absolute; top: 5px; right: 5px; display: grid; place-items: center;
	min-width: 16px; height: 16px; padding: 0 3px; border-radius: 999px;
	background: var(--pnsa-danger); color: #fff; font-size: 9.6px; font-weight: 700; line-height: 1;
}
.pnsa-theme-dark .pnsa-when-light,
body:not(.pnsa-theme-dark) .pnsa-when-dark { display: none; }
.pnsa-when-light,
.pnsa-when-dark { display: grid; place-items: center; }
.pnsa-account { display: flex; align-items: center; gap: 8px; margin-left: 4px; padding: 4px 8px 4px 4px; border: 0; border-radius: var(--pnsa-radius-sm); background: transparent; color: var(--pnsa-foreground); cursor: pointer; }
.pnsa-account:hover { background: var(--pnsa-muted); }
.pnsa-avatar { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 999px; background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg); font-size: 12px; font-weight: 700; flex: none; }
.pnsa-avatar--muted { background: var(--pnsa-muted); color: var(--pnsa-foreground); width: 32px; height: 32px; }
.pnsa-account__name { font-size: 14px; font-weight: 500; }

/* Zone de contenu des écrans de l'extension */
.pnsa-page { margin: 24px 32px 0; max-width: none; }
body.pnsa-screen #wpbody-content > .wrap { margin: 0; max-width: none; }
body.pnsa-screen .wrap > h1:first-child:empty { display: none; }

/* 4. Composants ─────────────────────────────────────────────────────────── */

/* En-tête d'écran */
.pnsa-page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.pnsa-page-header__main { min-width: 0; }
.pnsa-page-header__title { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pnsa-page-header h1 { margin: 0; padding: 0; font-size: 26.4px; font-weight: 700; line-height: 1.25; }
.pnsa-page-header__subtitle { margin: 6px 0 0; font-size: 14px; color: var(--pnsa-muted-fg); }
.pnsa-page-header__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; flex: none; }
.pnsa-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 12px; font-weight: 500; color: var(--pnsa-muted-fg) !important; text-decoration: none; }
.pnsa-back:hover { color: var(--pnsa-foreground) !important; }
.pnsa-back .pnsa-icon { width: 14px; height: 14px; }

/* Boutons */
.pnsa-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	height: 36px; padding: 0 14px; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm);
	background: var(--pnsa-surface); color: var(--pnsa-foreground) !important;
	font-size: 14px; font-weight: 500; line-height: 1; white-space: nowrap;
	text-decoration: none; cursor: pointer; box-shadow: var(--pnsa-shadow-sm);
	transition: background-color .12s ease, border-color .12s ease, opacity .12s ease;
}
.pnsa-btn:hover { background: var(--pnsa-muted); border-color: var(--pnsa-border-strong); }
.pnsa-btn .pnsa-icon { width: 16px; height: 16px; }
.pnsa-btn--primary { background: var(--pnsa-primary); border-color: transparent; color: var(--pnsa-primary-fg) !important; }
.pnsa-btn--primary:hover { background: var(--pnsa-primary); border-color: transparent; opacity: .9; }
.pnsa-btn--ghost { background: transparent; border-color: transparent; box-shadow: none; }
.pnsa-btn--danger { color: var(--pnsa-danger) !important; }
.pnsa-btn--sm { height: 36px; padding: 0 12px; font-size: 14px; }
.pnsa-btn--xs { height: 30px; padding: 0 10px; font-size: 12.5px; }
.pnsa-link { font-size: 12px; font-weight: 500; color: var(--pnsa-primary) !important; text-decoration: none; }
.pnsa-link:hover { text-decoration: underline; }

/* Pastilles */
.pnsa-pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 2px 10px; border: 1px solid transparent; border-radius: 999px;
	font-size: 11.5px; font-weight: 500; line-height: 1.5; white-space: nowrap;
}
.pnsa-pill__dot { width: 6px; height: 6px; border-radius: 999px; background: currentColor; opacity: .7; }
.pnsa-pill--neutral { background: var(--pnsa-muted); color: var(--pnsa-muted-fg); border-color: var(--pnsa-border); }
.pnsa-pill--success { background: var(--pnsa-success-soft); color: var(--pnsa-success); }
.pnsa-pill--warning { background: var(--pnsa-warning-soft); color: var(--pnsa-warning-fg); }
.pnsa-pill--danger { background: var(--pnsa-danger-soft); color: var(--pnsa-danger); }
.pnsa-pill--info { background: var(--pnsa-info-soft); color: var(--pnsa-primary); }
.pnsa-pill--brand { background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg); }

/* Cartes */
.pnsa-card { position: relative; background: var(--pnsa-surface); border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius); box-shadow: var(--pnsa-shadow-sm); }
a.pnsa-card { display: block; color: inherit !important; text-decoration: none; transition: box-shadow .15s ease; }
a.pnsa-card:hover { box-shadow: var(--pnsa-shadow); }
.pnsa-section { overflow: hidden; }
.pnsa-section__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--pnsa-border); }
.pnsa-section__head h2 { margin: 0; font-family: var(--pnsa-font); font-size: 14px; font-weight: 600; letter-spacing: -.01em; }
.pnsa-section__head p { margin: 2px 0 0; font-size: 12px; color: var(--pnsa-muted-fg); }
.pnsa-section__actions { display: flex; align-items: center; gap: 8px; flex: none; }
.pnsa-section__body { padding: 20px; }
.pnsa-section__body--flush { padding: 0; }
.pnsa-section__body--tight { padding: 8px; }

/* Grilles */
.pnsa-grid { display: grid; gap: 16px; }
.pnsa-grid--kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pnsa-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pnsa-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pnsa-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pnsa-span-2 { grid-column: span 2; }
.pnsa-stack > * + * { margin-top: 16px; }
.pnsa-mt { margin-top: 16px; }
.pnsa-mt-lg { margin-top: 24px; }
@media (min-width: 1024px) { .pnsa-grid--kpi { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .pnsa-grid--kpi { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

/* Indicateurs */
.pnsa-kpi { padding: 16px; transition: box-shadow .15s ease; }
.pnsa-kpi:hover { box-shadow: var(--pnsa-shadow); }
.pnsa-kpi__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pnsa-kpi__label { font-size: 12px; font-weight: 500; color: var(--pnsa-muted-fg); }
.pnsa-kpi__head .pnsa-icon { width: 16px; height: 16px; color: color-mix(in oklab, var(--pnsa-muted-fg) 70%, transparent); }
.pnsa-kpi__value { margin-top: 8px; font: 700 24px/1.2 var(--pnsa-display); font-variant-numeric: tabular-nums; letter-spacing: -.01em; color: var(--pnsa-foreground); }
.pnsa-kpi__delta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 6px; font-size: 12px; }
.pnsa-kpi__trend { display: inline-flex; align-items: center; gap: 2px; font-weight: 600; font-variant-numeric: tabular-nums; }
.pnsa-kpi__trend .pnsa-icon { width: 14px; height: 14px; }
.pnsa-kpi__trend--up { color: var(--pnsa-success); }
.pnsa-kpi__trend--down { color: var(--pnsa-danger); }
.pnsa-kpi__hint { margin-top: 4px; font-size: 12px; color: var(--pnsa-muted-fg); }

/* Sélecteur de période */
.pnsa-segmented { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius); background: var(--pnsa-surface); }
.pnsa-segmented a { padding: 6px 10px; border-radius: var(--pnsa-radius-sm); font-size: 12px; font-weight: 500; line-height: 1.3; color: var(--pnsa-muted-fg) !important; text-decoration: none; }
.pnsa-segmented a:hover { background: var(--pnsa-muted); }
.pnsa-segmented a.is-active { background: var(--pnsa-primary); color: var(--pnsa-primary-fg) !important; }

/* Listes cliquables */
.pnsa-list { list-style: none; margin: 0; padding: 0; }
.pnsa-list > li { margin: 0; }
.pnsa-list--divided > li + li { border-top: 1px solid var(--pnsa-border); }
.pnsa-row { display: flex; align-items: center; gap: 12px; padding: 12px 20px; color: var(--pnsa-foreground) !important; text-decoration: none; font-size: 14px; }
a.pnsa-row:hover { background: color-mix(in oklab, var(--pnsa-muted) 60%, transparent); }
.pnsa-row__main { flex: 1; min-width: 0; }
.pnsa-row__title { display: block; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pnsa-row__meta { display: block; font-size: 12px; color: var(--pnsa-muted-fg); }
.pnsa-row__value { font-weight: 500; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.pnsa-todo { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--pnsa-radius-sm); color: var(--pnsa-foreground) !important; text-decoration: none; }
.pnsa-todo:hover { background: var(--pnsa-muted); }
.pnsa-todo__icon { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: var(--pnsa-radius-sm); background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg); }
.pnsa-todo__icon .pnsa-icon { width: 16px; height: 16px; }
.pnsa-todo__label { flex: 1; font-size: 14px; font-weight: 500; }
.pnsa-todo__arrow { width: 16px; height: 16px; color: var(--pnsa-muted-fg); opacity: 0; transition: opacity .12s ease; }
.pnsa-todo:hover .pnsa-todo__arrow { opacity: 1; }
.pnsa-thumb { display: grid; place-items: center; width: 40px; height: 40px; flex: none; overflow: hidden; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm); background: var(--pnsa-muted); color: var(--pnsa-muted-fg); }
.pnsa-thumb--sm { width: 32px; height: 32px; }
.pnsa-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pnsa-thumb .pnsa-icon { width: 16px; height: 16px; }

/* Étapes de configuration */
.pnsa-steps { list-style: none; margin: 0; padding: 0; }
.pnsa-steps li { display: flex; align-items: center; gap: 10px; margin: 0; padding: 4px 0; font-size: 14px; }
.pnsa-steps a { color: var(--pnsa-foreground) !important; text-decoration: none; }
.pnsa-steps a:hover { color: var(--pnsa-primary) !important; }
.pnsa-steps .pnsa-icon { width: 16px; height: 16px; color: color-mix(in oklab, var(--pnsa-muted-fg) 60%, transparent); }
.pnsa-steps li.is-done .pnsa-icon { color: var(--pnsa-success); }
.pnsa-steps li.is-done span,
.pnsa-steps li.is-done a { color: var(--pnsa-muted-fg) !important; text-decoration: line-through; }

.pnsa-steps li { position: relative; }
.pnsa-steps li > span, .pnsa-steps li > a { flex: 1 1 auto; min-width: 0; }
.pnsa-steps__dismiss { position: absolute; top: 50%; right: 0; margin: 0; transform: translateY(-50%); }
.pnsa-steps__skip { padding: 2px 6px; border: 0; border-radius: 6px; background: var(--pnsa-surface); box-shadow: -12px 0 10px var(--pnsa-surface); color: var(--pnsa-muted-fg); font-size: 11.5px; cursor: pointer; opacity: 0; transition: opacity .12s ease; }
.pnsa-steps li:hover .pnsa-steps__skip,
.pnsa-steps__skip:focus-visible { opacity: 1; }
.pnsa-steps__skip:hover { background: var(--pnsa-muted); color: var(--pnsa-foreground); }
/* Écrans tactiles : pas de survol, le bouton reste visible en fin de ligne. */
@media (hover: none) {
	.pnsa-steps li { flex-wrap: wrap; }
	.pnsa-steps__dismiss { position: static; margin-left: auto; transform: none; }
	.pnsa-steps__skip { opacity: 1; box-shadow: none; }
}
.pnsa-empty--compact { padding: 28px 16px; }

/* Onglets de filtre */
.pnsa-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 0 8px; border-bottom: 1px solid var(--pnsa-border); }
.pnsa-tabs a { position: relative; flex: none; padding: 10px 12px; font-size: 14px; font-weight: 500; color: var(--pnsa-muted-fg) !important; text-decoration: none; }
.pnsa-tabs a:hover { color: var(--pnsa-foreground) !important; }
.pnsa-tabs a.is-active { color: var(--pnsa-foreground) !important; }
.pnsa-tabs a.is-active::after { content: ""; position: absolute; left: 8px; right: 8px; bottom: -1px; height: 2px; border-radius: 999px; background: var(--pnsa-primary); }
.pnsa-tabs__count { margin-left: 6px; padding: 2px 6px; border-radius: 6px; background: var(--pnsa-muted); font-size: 10.9px; font-variant-numeric: tabular-nums; color: var(--pnsa-muted-fg); }

/* Barre d'outils de liste */
.pnsa-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 12px; border-bottom: 1px solid var(--pnsa-border); }
.pnsa-input,
body.pnsa-shell .pnsa-toolbar select {
	height: 36px; min-height: 36px; padding: 0 12px; border: 1px solid var(--pnsa-input); border-radius: var(--pnsa-radius-sm);
	background: var(--pnsa-surface); color: var(--pnsa-foreground); font-size: 14px; line-height: 1.2; box-shadow: none;
}
.pnsa-input:focus,
body.pnsa-shell .pnsa-toolbar select:focus { border-color: var(--pnsa-primary); box-shadow: 0 0 0 3px color-mix(in oklab, var(--pnsa-primary) 18%, transparent); outline: 0; }
.pnsa-search-field { position: relative; flex: 1; min-width: 200px; }
.pnsa-search-field .pnsa-icon { position: absolute; left: 10px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); color: var(--pnsa-muted-fg); pointer-events: none; }
body.pnsa-shell .pnsa-search-field .pnsa-input { width: 100%; padding-left: 36px; }

/* Tableaux */
/* Position relative : les textes réservés aux lecteurs d'écran (position absolue) restent dans la zone
   défilante, au lieu d'élargir toute la page sur mobile. */
.pnsa-table-wrap { position: relative; overflow-x: auto; }
.pnsa-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pnsa-table th { padding: 10px 16px; border-bottom: 1px solid var(--pnsa-border); background: color-mix(in oklab, var(--pnsa-muted) 50%, transparent); font-size: 12px; font-weight: 500; text-align: left; white-space: nowrap; color: var(--pnsa-muted-fg); }
.pnsa-table td { padding: 12px 16px; border-bottom: 1px solid var(--pnsa-border); vertical-align: middle; color: var(--pnsa-foreground); }
.pnsa-table tbody tr:last-child td { border-bottom: 0; }
.pnsa-table tbody tr { transition: background-color .1s ease; }
.pnsa-table tbody tr:hover { background: color-mix(in oklab, var(--pnsa-muted) 60%, transparent); }
.pnsa-table tbody tr[data-href] { cursor: pointer; }
.pnsa-table .is-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pnsa-table .is-check { width: 1%; padding-right: 0; }
.pnsa-table a { color: var(--pnsa-foreground) !important; text-decoration: none; font-weight: 500; }
.pnsa-table a:hover { color: var(--pnsa-primary) !important; }
.pnsa-table input[type="checkbox"] { margin: 0; }
.pnsa-cell-main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pnsa-cell-main__text { min-width: 0; }
.pnsa-cell-sub { display: block; font-size: 12px; color: var(--pnsa-muted-fg); }
.pnsa-table-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--pnsa-border); font-size: 12px; color: var(--pnsa-muted-fg); }
.pnsa-pagination { display: flex; gap: 6px; }
.pnsa-bulkbar { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--pnsa-border); background: var(--pnsa-primary-soft); font-size: 13px; color: var(--pnsa-accent-fg); }

.pnsa-bulkbar__actions { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.pnsa-bulkbar strong { font-weight: 500; }
.pnsa-icon-btn--sm { width: 30px; height: 30px; }
.pnsa-mb { margin-bottom: 16px; }
body.pnsa-screen #wpfooter { display: none; }

.pnsa-toolbar__hint { font-size: 12px; color: var(--pnsa-muted-fg); }
/* Statut d'un produit : une liste déroulante qui a l'allure d'une pastille */
body.pnsa-shell select.pnsa-status-select {
	min-height: 26px; height: 26px; padding: 0 26px 0 10px; border: 1px solid transparent; border-radius: 999px;
	background-position: right 8px top 55%; background-size: 12px; font-size: 12px; font-weight: 600; line-height: 24px; cursor: pointer;
}
body.pnsa-shell select.pnsa-status-select[data-tone="success"] { background-color: var(--pnsa-success-soft); color: var(--pnsa-success); }
body.pnsa-shell select.pnsa-status-select[data-tone="neutral"] { background-color: var(--pnsa-muted); color: var(--pnsa-muted-fg); border-color: var(--pnsa-border); }
body.pnsa-shell select.pnsa-status-select[data-tone="info"] { background-color: var(--pnsa-info-soft); color: var(--pnsa-primary); }
body.pnsa-shell select.pnsa-status-select:hover { border-color: var(--pnsa-border-strong); }
.pnsa-stock-cell { display: inline-flex; align-items: center; gap: 8px; }
.pnsa-stock-cell .pnsa-badge-slot:empty { display: none; }
.pnsa-price-field { position: relative; display: inline-flex; align-items: center; justify-content: flex-end; }
.pnsa-price-field .pnsa-inline--price { padding-right: 20px !important; }
.pnsa-price-static { font-weight: 500; white-space: nowrap; }
.pnsa-price-field__symbol { position: absolute; right: 8px; font-size: 13px; font-weight: 500; color: var(--pnsa-muted-fg); pointer-events: none; }
body.pnsa-shell .pnsa-inline-select { display: block; min-height: 26px; height: 26px; padding: 0 22px 0 6px; margin: 0 0 4px -6px; border-color: transparent; background-color: transparent; font-size: 12px; font-weight: 500; line-height: 24px; }
body.pnsa-shell .pnsa-inline-select:hover { border-color: var(--pnsa-border); background-color: var(--pnsa-surface); }
.pnsa-badge-slot { display: block; }

.pnsa-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 3px; }
.pnsa-tags .pnsa-pill { padding: 0 8px; font-size: 10.9px; }

/* État vide */
.pnsa-empty { display: flex; flex-direction: column; align-items: center; padding: 64px 24px; text-align: center; }
.pnsa-empty__icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 16px; border-radius: 16px; background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg); }
.pnsa-empty__icon .pnsa-icon { width: 20px; height: 20px; }
.pnsa-empty h3 { margin: 0; font-size: 16px; font-weight: 600; }
.pnsa-empty p { max-width: 384px; margin: 6px 0 0; font-size: 14px; color: var(--pnsa-muted-fg); }
.pnsa-empty .pnsa-btn { margin-top: 20px; }

/* Lignes de données */
.pnsa-datarow { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 6px 0; font-size: 14px; }
.pnsa-datarow > span:first-child { color: var(--pnsa-muted-fg); }
.pnsa-datarow > span:last-child { font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; }

/* Graphique */
.pnsa-chart { position: relative; height: 260px; padding: 0 0 24px 44px; }
.pnsa-chart__yaxis { position: absolute; left: 0; top: 0; bottom: 24px; width: 38px; }
.pnsa-chart__y { position: absolute; right: 0; transform: translateY(-50%); font-size: 11px; line-height: 1; color: var(--pnsa-muted-fg); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pnsa-chart__plot { position: relative; height: 100%; }
.pnsa-chart__plot svg { display: block; width: 100%; height: 100%; overflow: visible; }
.pnsa-chart__xaxis { position: absolute; left: 0; right: 0; top: 100%; height: 24px; }
.pnsa-chart__x { position: absolute; top: 8px; transform: translateX(-50%); font-size: 11px; line-height: 1; white-space: nowrap; color: var(--pnsa-muted-fg); }
.pnsa-chart__x:first-child { transform: none; }
.pnsa-chart__x:last-child:not(:first-child) { transform: translateX(-100%); }
.pnsa-chart__grid line { stroke: var(--pnsa-border); stroke-width: 1; }
.pnsa-chart__line { fill: none; stroke: var(--pnsa-primary); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.pnsa-chart__area { fill: var(--pnsa-primary); opacity: .12; }
.pnsa-chart__cursor { stroke: var(--pnsa-border-strong); stroke-width: 1; }
.pnsa-chart__dot { position: absolute; width: 10px; height: 10px; margin: -5px 0 0 -5px; border: 2px solid var(--pnsa-primary); border-radius: 999px; background: var(--pnsa-surface); pointer-events: none; }
.pnsa-chart__tip { position: absolute; z-index: 5; padding: 8px 10px; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius); background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow); font-size: 12px; white-space: nowrap; pointer-events: none; transform: translate(-50%, calc(-100% - 12px)); color: var(--pnsa-foreground); }
.pnsa-chart__tip span { display: block; color: var(--pnsa-muted-fg); }
.pnsa-chart__tip strong { display: block; font-variant-numeric: tabular-nums; }

/* Avis de l'extension */
.pnsa-note { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius); background: var(--pnsa-surface); font-size: 13px; color: var(--pnsa-muted-fg); }
.pnsa-note .pnsa-icon { width: 16px; height: 16px; margin-top: 1px; color: var(--pnsa-primary); }
.pnsa-note--success { background: var(--pnsa-success-soft); border-color: transparent; color: var(--pnsa-success); }
.pnsa-note--pro { margin-top: 16px; }
.pnsa-note--pro strong { display: block; margin-bottom: 2px; color: var(--pnsa-foreground); }
.pnsa-note--pro .pnsa-link { display: inline-block; margin-top: 6px; }
.pnsa-footnote { display: flex; align-items: center; gap: 6px; margin-top: 24px; font-size: 12px; color: var(--pnsa-muted-fg); }
.pnsa-footnote .pnsa-icon { width: 14px; height: 14px; }

/* Formulaires de l'extension */
.pnsa-field { margin-bottom: 16px; }
.pnsa-field > label,
.pnsa-field__label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 500; color: var(--pnsa-foreground); }
.pnsa-field__help { margin: 6px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--pnsa-muted-fg); }
.pnsa-switch { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; }
.pnsa-switch + .pnsa-switch { border-top: 1px solid var(--pnsa-border); }
body.pnsa-shell .pnsa-switch { display: flex !important; width: 100%; }
.pnsa-switch input[type="checkbox"],
.pnsa-switch input[type="radio"] { flex: none; margin: 3px 0 0 !important; }
.pnsa-switch > span { flex: 1; min-width: 0; }
.pnsa-switch strong { display: block; font-size: 14px; font-weight: 500; }
.pnsa-switch span { display: block; margin-top: 2px; font-size: 12px; color: var(--pnsa-muted-fg); }

/* Champs de réglages : une ligne par champ, étiquette au-dessus, largeur de lecture confortable */
.pnsa-fields { display: grid; gap: 0; }
.pnsa-frow { padding: 14px 0; border-top: 1px solid var(--pnsa-border); }
.pnsa-fields > .pnsa-frow:first-child,
.pnsa-fields > .pnsa-field-pair:first-child,
.pnsa-fields > .pnsa-field-pair:first-child .pnsa-frow { border-top: 0; }
.pnsa-fields > .pnsa-frow:first-child,
.pnsa-fields > .pnsa-field-pair:first-child .pnsa-frow { padding-top: 0; }
.pnsa-fields > .pnsa-frow:last-child { padding-bottom: 0; }
.pnsa-frow[hidden] { display: none !important; }
.pnsa-frow__label { display: block; margin: 0 0 6px; font-size: 13.5px; font-weight: 600; color: var(--pnsa-foreground); }
.pnsa-frow__control { max-width: 640px; }
.pnsa-frow--sm .pnsa-frow__control { max-width: 180px; }
.pnsa-frow--md .pnsa-frow__control { max-width: 360px; }
body.pnsa-shell .pnsa-frow__control .pnsa-input,
body.pnsa-shell .pnsa-frow__control select,
body.pnsa-shell .pnsa-frow__control .select2-container { width: 100% !important; max-width: 100%; box-sizing: border-box; }
body.pnsa-shell .pnsa-frow__control textarea.pnsa-input { height: auto; min-height: 96px; padding: 8px 12px; line-height: 1.5; }
body.pnsa-shell .pnsa-frow__control select[multiple] { min-height: 140px; padding: 6px; }
.pnsa-field-pair { display: flex; flex-wrap: wrap; gap: 0 16px; border-top: 1px solid var(--pnsa-border); }
.pnsa-field-pair { align-items: flex-start; }
.pnsa-field-pair > .pnsa-frow { flex: 1 1 160px; min-width: 0; border-top: 0; }
/* Champs côte à côte : admin.js égalise la hauteur des étiquettes d'une même ligne (data-pnsa-label-h),
   pour que les champs restent alignés si une étiquette passe sur deux lignes. */
.pnsa-field-pair > .pnsa-frow > .pnsa-frow__label { display: flex; align-items: flex-end; }
/* Petits champs : l'étiquette tient sur une ligne, le champ garde sa largeur. */
.pnsa-field-pair > .pnsa-frow--sm { flex: 0 0 auto; min-width: 180px; }
.pnsa-field-pair > .pnsa-frow--sm > .pnsa-frow__label { white-space: nowrap; }
.pnsa-field-pair > .pnsa-frow--sm > .pnsa-frow__control { width: 180px; }
@media (max-width: 600px) {
	.pnsa-field-pair > .pnsa-frow--sm { flex: 1 1 140px; min-width: 0; }
	.pnsa-field-pair > .pnsa-frow--sm > .pnsa-frow__label { white-space: normal; }
	.pnsa-field-pair > .pnsa-frow--sm > .pnsa-frow__control { width: auto; }
}
.pnsa-field-pair:not(:has(> .pnsa-frow:not([hidden]))) { display: none; }

/* Interrupteur */
body.pnsa-shell input.pnsa-toggle[type="checkbox"] {
	position: relative; flex: none; width: 38px; min-width: 38px; height: 22px; margin: 0; padding: 0;
	border: 0; border-radius: 999px; background: var(--pnsa-border-strong); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--pnsa-foreground) 6%, transparent);
	cursor: pointer; appearance: none; -webkit-appearance: none; transition: background-color .15s ease;
}
body.pnsa-shell input.pnsa-toggle[type="checkbox"]::before {
	content: "" !important; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; margin: 0;
	border-radius: 999px; background: #fff; box-shadow: 0 1px 2px rgba(15, 23, 42, .25); transition: transform .15s ease;
}
body.pnsa-shell input.pnsa-toggle[type="checkbox"]:checked { background: var(--pnsa-primary); }
body.pnsa-shell input.pnsa-toggle[type="checkbox"]:checked::before { transform: translateX(16px); }
body.pnsa-shell input.pnsa-toggle[type="checkbox"]:focus-visible { outline: 2px solid var(--pnsa-primary); outline-offset: 2px; box-shadow: none; }
body.pnsa-shell input.pnsa-toggle[type="checkbox"]:disabled { opacity: .5; cursor: default; }
.pnsa-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; cursor: pointer; }
.pnsa-toggle-row__text { min-width: 0; }
.pnsa-toggle-row__text strong { display: block; font-size: 14px; font-weight: 500; color: var(--pnsa-foreground); }
.pnsa-toggle-row__text span { display: block; margin-top: 2px; font-size: 12.5px; line-height: 1.5; color: var(--pnsa-muted-fg); }

/* Choix en boutons */
.pnsa-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.pnsa-choices__item { position: relative; display: flex; margin: 0; cursor: pointer; }
.pnsa-choices__item input { position: absolute; opacity: 0; pointer-events: none; }
.pnsa-choices__item > span {
	display: flex; flex-direction: column; justify-content: center; gap: 2px; min-height: 36px; padding: 7px 14px;
	border: 1px solid var(--pnsa-input); border-radius: var(--pnsa-radius-sm); background: var(--pnsa-surface);
	font-size: 13.5px; font-weight: 500; line-height: 1.35; color: var(--pnsa-foreground);
	transition: border-color .12s ease, background-color .12s ease, box-shadow .12s ease;
}
.pnsa-choices__item:hover > span { background: var(--pnsa-muted); }
.pnsa-choices__item input:checked + span { border-color: var(--pnsa-primary); background: var(--pnsa-primary-soft); box-shadow: inset 0 0 0 1px var(--pnsa-primary); color: var(--pnsa-accent-fg); }
.pnsa-choices__item input:focus-visible + span { outline: 2px solid var(--pnsa-primary); outline-offset: 2px; }
.pnsa-choices--cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.pnsa-choices--cards .pnsa-choices__item > span { width: 100%; padding: 12px 14px; }
.pnsa-choices__item strong { font-weight: 600; }
.pnsa-choices__item em { font-style: normal; font-size: 12.5px; font-weight: 400; color: var(--pnsa-muted-fg); }

/* Choix multiple, couleur, unité */
.pnsa-choices__item--check > span { flex-direction: row; align-items: center; gap: 6px; }
.pnsa-choices__item--check .pnsa-icon { display: none; width: 14px; height: 14px; }
.pnsa-choices__item--check input:checked + span .pnsa-icon { display: block; }
.pnsa-color-field { display: flex; align-items: center; gap: 8px; }
body.pnsa-shell .pnsa-color-field input[type="color"] { flex: none; width: 36px; height: 36px; padding: 3px; border: 1px solid var(--pnsa-input); border-radius: var(--pnsa-radius-sm); background: var(--pnsa-surface); cursor: pointer; }
.pnsa-color-field input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
.pnsa-color-field input[type="color"]::-webkit-color-swatch { border: 0; border-radius: 5px; }
.pnsa-color-field input[type="color"]::-moz-color-swatch { border: 0; border-radius: 5px; }
body.pnsa-shell .pnsa-frow__control .pnsa-color-field .pnsa-input { width: 110px !important; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; }
.pnsa-input-group { display: flex; align-items: stretch; }
body.pnsa-shell .pnsa-frow__control .pnsa-input-group .pnsa-input { min-width: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.pnsa-input-group__suffix { display: grid; place-items: center; padding: 0 10px; border: 1px solid var(--pnsa-input); border-left: 0; border-radius: 0 var(--pnsa-radius-sm) var(--pnsa-radius-sm) 0; background: var(--pnsa-muted); font-size: 13px; color: var(--pnsa-muted-fg); white-space: nowrap; }

/* Aperçu d'un prix */
.pnsa-price-preview { display: flex; align-items: baseline; gap: 12px; margin-top: 14px; padding: 12px 14px; border-radius: var(--pnsa-radius-sm); background: var(--pnsa-muted); }
.pnsa-price-preview span { font-size: 12.5px; color: var(--pnsa-muted-fg); }
.pnsa-price-preview strong { font: 700 18px/1.2 var(--pnsa-display); font-variant-numeric: tabular-nums; color: var(--pnsa-foreground); }

/* Sur une large colonne, le titre et la description de chaque carte passent à gauche des champs. */
.pnsa-settings__main { container: pnsa-settings / inline-size; }
@container pnsa-settings (min-width: 1080px) {
	.pnsa-settings-form > .pnsa-form-card:not(.pnsap-mailer .pnsa-form-card) { display: grid; grid-template-columns: minmax(240px, 32%) minmax(0, 1fr); }
	.pnsa-settings-form > .pnsa-form-card:not(.pnsap-mailer .pnsa-form-card) > .pnsa-section__head { flex-direction: column; justify-content: flex-start; padding: 20px 24px; border-bottom: 0; border-right: 1px solid var(--pnsa-border); }
	.pnsa-settings-form > .pnsa-form-card:not(.pnsap-mailer .pnsa-form-card) > .pnsa-section__head h2 { font-size: 15px; }
	.pnsa-settings-form > .pnsa-form-card:not(.pnsap-mailer .pnsa-form-card) > .pnsa-section__head p { margin-top: 6px; font-size: 12.5px; line-height: 1.55; }
	.pnsa-settings-form > .pnsa-form-card:not(.pnsap-mailer .pnsa-form-card) > .pnsa-section__body { padding: 20px 28px; }
	.pnsa-settings-form > .pnsa-form-card:not(.pnsap-mailer .pnsa-form-card) > .pnsa-section__body:only-child { grid-column: 1 / -1; }
}

/* Barre d'enregistrement : collée en bas, visible dès qu'un champ change */
.pnsa-savebar {
	position: sticky; bottom: 16px; z-index: 30;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px;
	margin-top: 16px; padding: 10px 12px; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius);
	background: color-mix(in oklab, var(--pnsa-surface) 92%, transparent); box-shadow: var(--pnsa-shadow-lg);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.pnsa-savebar__status { margin-right: auto; font-size: 13px; font-weight: 500; color: var(--pnsa-foreground); }
.pnsa-savebar__status::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 999px; background: var(--pnsa-warning); vertical-align: 1px; }
.pnsa-savebar.is-clean { box-shadow: var(--pnsa-shadow-sm); }
.pnsa-savebar.is-clean .pnsa-savebar__status,
.pnsa-savebar.is-clean [data-pnsa-savebar-reset] { visibility: hidden; }
.js .pnsa-savebar.is-clean { position: static; border-color: transparent; background: transparent; box-shadow: none; padding: 0; }
.js .pnsa-savebar.is-clean .pnsa-btn--primary { opacity: .5; pointer-events: none; }
.pnsa-settings-form > .pnsa-card + .pnsa-card { margin-top: 16px; }

/* Grille de liens */
.pnsa-linkgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 4px; margin: 0; padding: 0; list-style: none; }
.pnsa-linkgrid li { margin: 0; }
.pnsa-linkgrid__item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--pnsa-radius-sm); color: var(--pnsa-foreground) !important; text-decoration: none; }
.pnsa-linkgrid__item:hover { background: var(--pnsa-muted); }
.pnsa-linkgrid__text { flex: 1; min-width: 0; }
.pnsa-linkgrid__text strong { display: block; font-size: 14px; font-weight: 500; }
.pnsa-linkgrid__text span { display: block; margin-top: 1px; font-size: 12.5px; color: var(--pnsa-muted-fg); }
.pnsa-linkgrid__arrow { width: 16px; height: 16px; color: var(--pnsa-muted-fg); opacity: 0; transition: opacity .12s ease; }
.pnsa-linkgrid__item:hover .pnsa-linkgrid__arrow { opacity: 1; }

/* Lignes de réglages (moyens de paiement, zones, e-mails) */
.pnsa-inline-form { display: flex; align-items: center; margin: 0; }
.pnsa-row__meta--wrap { white-space: normal; }
.pnsa-row__chevron { width: 16px; height: 16px; color: var(--pnsa-muted-fg); }
a.pnsa-row__main { color: inherit !important; text-decoration: none; }
a.pnsa-row__main:hover .pnsa-row__title { color: var(--pnsa-primary); }
.pnsa-gateway__mark { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: var(--pnsa-radius-sm); background: var(--pnsa-muted); color: var(--pnsa-foreground); font-size: 12px; font-weight: 700; }
.pnsa-zone { align-items: flex-start; }
.pnsa-zone .pnsa-tags { margin-top: 8px; }
.pnsa-zone .pnsa-row__chevron { align-self: center; }

/* Paramètres */
.pnsa-settings { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 24px; align-items: start; }
.pnsa-settings__nav { position: sticky; top: calc(var(--pnsa-topbar-h) + 16px); display: flex; flex-direction: column; gap: 2px; padding: 8px; max-height: calc(100vh - var(--pnsa-topbar-h) - 32px); overflow-y: auto; }
.pnsa-settings__group { margin: 10px 12px 4px; font-size: 10.6px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pnsa-muted-fg); }
.pnsa-settings__group:first-child { margin-top: 4px; }
.pnsa-settings__nav a { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: var(--pnsa-radius-sm); font-size: 14px; font-weight: 500; color: var(--pnsa-muted-fg) !important; text-decoration: none; }
.pnsa-settings__nav a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pnsa-settings__nav a .pnsa-icon { width: 16px; height: 16px; }
.pnsa-settings__nav a:hover { background: var(--pnsa-muted); color: var(--pnsa-foreground) !important; }
.pnsa-settings__nav a.is-active { background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg) !important; }
.pnsa-settings__nav a.is-active .pnsa-icon { color: var(--pnsa-primary); }
.pnsa-settings form { margin-bottom: 0; }
.pnsa-settings__main { min-width: 0; }
.pnsa-settings__intro { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; }
body.pnsa-shell .pnsa-settings__intro h2 { margin: 0; font-size: 18px; font-weight: 700; }
fieldset.pnsa-field { margin: 0 0 8px; padding: 0; border: 0; }

/* Boutique en ligne */
.pnsa-storefront { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 16px; align-items: start; }
.pnsa-storefront__value { display: block; margin-top: 4px; font-size: 14px; font-weight: 600; color: var(--pnsa-foreground); }
.pnsa-preview { padding: 16px; background: color-mix(in oklab, var(--pnsa-muted) 40%, transparent); }
.pnsa-preview iframe { display: block; width: 100%; height: 620px; margin: 0 auto; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius); background: #fff; box-shadow: var(--pnsa-shadow); }
.pnsa-preview--mobile iframe { max-width: 390px; height: 720px; }
.pnsa-segmented a .pnsa-icon { width: 16px; height: 16px; }

/* Notifications */
.pnsa-notification { align-items: flex-start; }
.pnsa-notification .pnsa-todo__icon { margin-top: 2px; }
.pnsa-notification__text { white-space: normal; font-size: 13px; }
.pnsa-notification.is-new .pnsa-row__title { color: var(--pnsa-foreground); }

@media (max-width: 1023px) {
	.pnsa-settings,
	.pnsa-storefront { grid-template-columns: minmax(0, 1fr); }
	.pnsa-settings__nav { position: static; flex-direction: row; flex-wrap: nowrap; max-height: none; overflow-x: auto; }
	.pnsa-settings__nav a { flex: none; }
	.pnsa-settings__group { display: none; }
}

/* 5. Palette et menus déroulants ────────────────────────────────────────── */
.pnsa-dropdown { position: relative; }
.pnsa-menu {
	position: absolute; right: 0; top: calc(100% + 6px); z-index: 9995;
	min-width: 208px; padding: 4px;
	border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius);
	background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-lg);
}
.pnsa-menu--wide { min-width: 240px; }
.pnsa-menu--left { right: auto; left: 0; }
.pnsa-menu__item {
	display: flex; align-items: center; gap: 8px; width: 100%;
	padding: 8px 10px; border: 0; border-radius: 6px; background: transparent;
	color: var(--pnsa-foreground) !important; font-size: 14px; line-height: 1.3; text-align: left; text-decoration: none; cursor: pointer;
}
.pnsa-menu__item:hover,
.pnsa-menu__item:focus-visible { background: var(--pnsa-muted); outline: 0; }
.pnsa-menu__item .pnsa-icon { width: 16px; height: 16px; color: var(--pnsa-muted-fg); }
.pnsa-menu__label { padding: 6px 10px 8px; }
.pnsa-menu__label strong { display: block; font-size: 14px; font-weight: 600; }
.pnsa-menu__label span { display: block; margin-top: 2px; font-size: 12px; color: var(--pnsa-muted-fg); }
.pnsa-menu__sep { display: block; height: 1px; margin: 4px -4px; background: var(--pnsa-border); }
.pnsa-menu form { margin: 0; }

.pnsa-palette { position: fixed; inset: 0; z-index: 100000; }
.pnsa-palette__backdrop { position: absolute; inset: 0; background: rgba(10, 16, 30, .4); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.pnsa-palette__panel {
	position: relative; display: flex; flex-direction: column;
	width: min(640px, calc(100vw - 32px)); max-height: min(560px, calc(100vh - 120px));
	margin: 12vh auto 0; overflow: hidden;
	border: 1px solid var(--pnsa-border); border-radius: 16px;
	background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-lg);
}
.pnsa-palette__search { display: flex; align-items: center; gap: 10px; padding: 0 16px; border-bottom: 1px solid var(--pnsa-border); }
.pnsa-palette__search .pnsa-icon { width: 18px; height: 18px; color: var(--pnsa-muted-fg); }
body.pnsa-shell .pnsa-palette__input { flex: 1; height: 52px; min-height: 52px; padding: 0; border: 0; background: transparent; color: var(--pnsa-foreground); font-size: 15px; box-shadow: none; }
body.pnsa-shell .pnsa-palette__input:focus { box-shadow: none; outline: 0; }
.pnsa-palette__input::-webkit-search-cancel-button { display: none; }
.pnsa-palette__results { flex: 1; overflow-y: auto; padding: 6px; }
.pnsa-palette__group { padding: 10px 10px 4px; font-size: 10.6px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pnsa-muted-fg); }
.pnsa-palette__item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: var(--pnsa-radius-sm); color: var(--pnsa-foreground) !important; font-size: 14px; text-decoration: none; }
.pnsa-palette__item .pnsa-icon { width: 16px; height: 16px; color: var(--pnsa-muted-fg); }
.pnsa-palette__item.is-selected { background: var(--pnsa-muted); }
.pnsa-palette__item-main { flex: 1; min-width: 0; }
.pnsa-palette__item-title { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pnsa-palette__item-sub { display: block; font-size: 12px; color: var(--pnsa-muted-fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pnsa-palette__item-meta { font-size: 12px; color: var(--pnsa-muted-fg); white-space: nowrap; }
.pnsa-palette__empty { padding: 28px 16px; font-size: 14px; text-align: center; color: var(--pnsa-muted-fg); }
.pnsa-palette__footer { display: flex; gap: 16px; padding: 8px 14px; border-top: 1px solid var(--pnsa-border); font-size: 11.5px; color: var(--pnsa-muted-fg); }
.pnsa-palette__footer .pnsa-kbd { margin: 0 2px 0 0; }


/* Aperçu rapide d'une commande (panneau latéral) */
body.pnsa-no-scroll { overflow: hidden; }
.pnsa-table tr.is-previewed > td { background: color-mix(in oklab, var(--pnsa-primary-soft) 70%, transparent); }
.pnsa-drawer-panel { position: fixed; inset: 0; z-index: 99990; }
.pnsa-drawer-panel__backdrop { position: absolute; inset: 0; background: rgba(10, 16, 30, .35); opacity: 0; transition: opacity .18s ease; }
.pnsa-drawer-panel__sheet {
	position: absolute; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column;
	width: min(460px, 100vw); border-left: 1px solid var(--pnsa-border);
	background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-lg);
	transform: translateX(24px); opacity: 0; transition: transform .2s cubic-bezier(.2, .8, .2, 1), opacity .18s ease;
}
body.pnsa-shell .pnsa-drawer-panel__sheet:focus, body.pnsa-shell .pnsa-drawer-panel__sheet:focus-visible { outline: 0; }
.pnsa-drawer-panel.is-open .pnsa-drawer-panel__backdrop { opacity: 1; }
.pnsa-drawer-panel.is-open .pnsa-drawer-panel__sheet { transform: none; opacity: 1; }
.pnsa-drawer-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: var(--pnsa-topbar-h); padding: 0 12px 0 20px; border-bottom: 1px solid var(--pnsa-border); }
body.pnsa-shell .pnsa-drawer-panel__head h2 { margin: 0; font-size: 16px; font-weight: 700; }
.pnsa-drawer-panel__body { flex: 1; overflow-y: auto; display: flex; flex-direction: column; }
.pnsa-drawer-panel__foot {
	position: sticky; bottom: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
	margin-top: auto; padding: 12px 20px; border-top: 1px solid var(--pnsa-border); background: var(--pnsa-surface);
}
.pnsa-drawer-panel__foot > .pnsa-btn { margin-left: auto; }
.pnsa-preview-order__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.pnsa-skeleton { display: grid; gap: 12px; padding: 20px; }
.pnsa-skeleton span { display: block; height: 14px; border-radius: 6px; background: linear-gradient(90deg, var(--pnsa-muted) 0%, color-mix(in oklab, var(--pnsa-muted) 40%, var(--pnsa-surface)) 50%, var(--pnsa-muted) 100%); background-size: 200% 100%; animation: pnsa-shimmer 1.2s linear infinite; }
.pnsa-skeleton span:nth-child(1) { width: 45%; }
.pnsa-skeleton span:nth-child(2) { height: 56px; }
.pnsa-skeleton span:nth-child(3) { height: 120px; }
.pnsa-skeleton span:nth-child(4) { width: 70%; }
@keyframes pnsa-shimmer { to { background-position: -200% 0; } }
.pnsa-drawer-panel__body > .pnsa-muted { padding: 20px; }
.pnsa-preview-order { padding: 16px 20px 8px; }
.pnsa-preview-order__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding-bottom: 14px; font-size: 12.5px; }
.pnsa-preview-order__block { padding: 14px 0; border-top: 1px solid var(--pnsa-border); }
body.pnsa-shell .pnsa-preview-order__block h3 { margin: 0 0 10px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pnsa-muted-fg); font-family: var(--pnsa-font); }
.pnsa-preview-order__customer { display: flex; align-items: flex-start; gap: 12px; font-size: 13.5px; }
.pnsa-preview-order__customer .pnsa-avatar { width: 36px; height: 36px; font-size: 13px; }
.pnsa-preview-order__customer strong,
.pnsa-preview-order__customer a { display: block; overflow-wrap: anywhere; }
.pnsa-preview-order__customer a { margin-top: 2px; text-decoration: none; }
.pnsa-preview-order__items { margin: 0; padding: 0; list-style: none; }
.pnsa-preview-order__items li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 8px 0; font-size: 13.5px; }
.pnsa-preview-order__item { flex: 1; min-width: 0; }
.pnsa-preview-order__item > * { display: block; }
.pnsa-preview-order__item .pnsa-muted { font-size: 12px; }
.pnsa-preview-order__item-meta p { margin: 0; }
.pnsa-preview-order__totals { margin: 10px 0 0; padding: 10px 0 0; border-top: 1px dashed var(--pnsa-border); font-size: 13px; }
.pnsa-preview-order__totals > div { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; }
.pnsa-preview-order__totals dt { color: var(--pnsa-muted-fg); }
.pnsa-preview-order__totals dd { margin: 0; font-variant-numeric: tabular-nums; }
.pnsa-preview-order__totals .is-total { margin-top: 4px; font-size: 14.5px; font-weight: 700; }
.pnsa-preview-order__totals .is-total dt { color: var(--pnsa-foreground); }
.pnsa-preview-order__paid { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: 12.5px; }
.pnsa-preview-order__addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; }
.pnsa-preview-order__addresses address { font-style: normal; font-size: 13px; line-height: 1.55; }
.pnsa-preview-order__addresses p { margin: 6px 0 0; font-size: 12px; }
.pnsa-preview-order__note { margin: 0; padding: 10px 12px; border-radius: var(--pnsa-radius-sm); background: var(--pnsa-muted); font-size: 13px; white-space: pre-line; }

/* Fiche commande */
.pnsa-link-btn { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; background: none; color: var(--pnsa-primary) !important; font-size: 12.5px; font-weight: 500; text-decoration: none; cursor: pointer; }
.pnsa-link-btn:hover { text-decoration: underline; }
.pnsa-ov__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; margin-bottom: 20px; }
.pnsa-ov__title { min-width: 0; }
.pnsa-ov__heading { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
body.pnsa-shell .pnsa-ov__heading h1 { margin: 0; padding: 0; font-size: 26.4px; font-weight: 700; line-height: 1.25; }
.pnsa-ov__sub { margin: 6px 0 0; font-size: 14px; color: var(--pnsa-muted-fg); }
.pnsa-ov__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pnsa-ov__actions form { margin: 0; }
.pnsa-ov__pager { display: inline-flex; gap: 2px; margin-right: 4px; padding: 2px; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm); background: var(--pnsa-surface); }
.pnsa-ov__pager .pnsa-icon-btn { width: 32px; height: 32px; }
.pnsa-icon-btn.is-disabled { opacity: .35; pointer-events: none; }
.pnsa-ov__notice { margin-bottom: 16px; }
.pnsa-ov__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 20px; align-items: start; }
.pnsa-ov__main,
.pnsa-ov__side { display: grid; gap: 16px; min-width: 0; }
.pnsa-menu__item.is-current { font-weight: 600; }
.pnsa-menu__item:disabled { cursor: default; opacity: 1; }
.pnsa-menu__check { margin-left: auto; color: var(--pnsa-primary) !important; }
.pnsa-status-dot { width: 8px; height: 8px; flex: none; border-radius: 999px; background: var(--pnsa-muted-fg); }
.pnsa-status-dot--success { background: var(--pnsa-success); }
.pnsa-status-dot--info { background: var(--pnsa-primary); }
.pnsa-status-dot--warning { background: var(--pnsa-warning); }
.pnsa-status-dot--danger { background: var(--pnsa-danger); }

.pnsa-ov-steps { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin: 0; padding: 18px 20px; list-style: none; }
.pnsa-ov-steps__step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0; text-align: center; }
.pnsa-ov-steps__step:not(:last-child)::after { content: ""; position: absolute; top: 13px; left: calc(50% + 18px); right: calc(-50% + 18px); height: 2px; border-radius: 2px; background: var(--pnsa-border); }
.pnsa-ov-steps__step.is-done:not(:last-child)::after { background: var(--pnsa-success); }
.pnsa-ov-steps__dot { display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid var(--pnsa-border-strong); border-radius: 999px; background: var(--pnsa-surface); color: #fff; }
.pnsa-ov-steps__dot .pnsa-icon { width: 15px; height: 15px; stroke-width: 3; }
.pnsa-ov-steps__step.is-done .pnsa-ov-steps__dot { border-color: var(--pnsa-success); background: var(--pnsa-success); }
.pnsa-ov-steps__step.is-current .pnsa-ov-steps__dot { border-color: var(--pnsa-primary); box-shadow: 0 0 0 4px color-mix(in oklab, var(--pnsa-primary) 18%, transparent); }
.pnsa-ov-steps__label { font-size: 12.5px; font-weight: 500; color: var(--pnsa-muted-fg); }
.pnsa-ov-steps__step.is-done .pnsa-ov-steps__label,
.pnsa-ov-steps__step.is-current .pnsa-ov-steps__label { color: var(--pnsa-foreground); font-weight: 600; }
.pnsa-ov__closed { align-items: center; padding: 14px 16px; }
.pnsa-ov__closed strong { display: block; color: var(--pnsa-foreground); }
.pnsa-ov__closed--failed { background: var(--pnsa-danger-soft); border-color: transparent; }
.pnsa-ov__closed--failed .pnsa-icon { color: var(--pnsa-danger); }

.pnsa-ov-items { margin: 0; padding: 0; list-style: none; }
.pnsa-ov-items__row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 14px; margin: 0; padding: 14px 20px; border-bottom: 1px solid var(--pnsa-border); }
.pnsa-ov-items__thumb { width: 48px; height: 48px; }
.pnsa-ov-items__name { display: block; font-size: 14px; font-weight: 600; color: var(--pnsa-foreground) !important; text-decoration: none; }
a.pnsa-ov-items__name:hover { color: var(--pnsa-primary) !important; }
.pnsa-ov-items__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: 3px; font-size: 12.5px; color: var(--pnsa-muted-fg); }
.pnsa-ov-items__qty { font-size: 13.5px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pnsa-ov-items__total { min-width: 90px; font-size: 14px; font-weight: 600; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pnsa-ov-totals { margin: 0; padding: 12px 20px 16px; background: color-mix(in oklab, var(--pnsa-muted) 35%, transparent); }
.pnsa-ov-totals > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 4px 0; font-size: 13.5px; }
.pnsa-ov-totals dt { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; color: var(--pnsa-muted-fg); }
.pnsa-ov-totals dd { margin: 0; font-variant-numeric: tabular-nums; }
.pnsa-ov-totals .is-total { margin-top: 6px; padding-top: 10px; border-top: 1px solid var(--pnsa-border); font-size: 16px; font-weight: 700; }
.pnsa-ov-totals .is-total dt { color: var(--pnsa-foreground); }
.pnsa-ov-totals .is-muted { font-size: 12.5px; }
.pnsa-ov-totals .is-refund dd { color: var(--pnsa-danger); }
.pnsa-ov-code { display: inline-flex; align-items: center; gap: 4px; padding: 1px 8px; border-radius: 999px; background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg); font-size: 11.5px; font-weight: 600; letter-spacing: .02em; }

.pnsa-ov-compose { margin: 0 0 20px; }
body.pnsa-shell .pnsa-ov-compose textarea { width: 100%; min-height: 64px; resize: vertical; }
.pnsa-ov-compose__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.pnsa-ov-compose__switch { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-size: 13px; color: var(--pnsa-foreground); cursor: pointer; }
.pnsa-ov-timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.pnsa-ov-timeline__item { position: relative; display: flex; gap: 14px; margin: 0; padding: 0 0 18px; }
.pnsa-ov-timeline__item:not(:last-child)::before { content: ""; position: absolute; top: 32px; bottom: 0; left: 15px; width: 2px; background: var(--pnsa-border); }
.pnsa-ov-timeline__icon { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 999px; background: var(--pnsa-muted); color: var(--pnsa-muted-fg); }
.pnsa-ov-timeline__icon .pnsa-icon { width: 15px; height: 15px; }
.pnsa-ov-timeline__icon--success { background: var(--pnsa-success-soft); color: var(--pnsa-success); }
.pnsa-ov-timeline__icon--info { background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg); }
.pnsa-ov-timeline__icon--warning { background: var(--pnsa-warning-soft); color: var(--pnsa-warning-fg); }
.pnsa-ov-timeline__icon--danger { background: var(--pnsa-danger-soft); color: var(--pnsa-danger); }
.pnsa-ov-timeline__body { flex: 1; min-width: 0; padding-top: 5px; }
.pnsa-ov-timeline__line { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; }
.pnsa-ov-timeline__title { font-size: 13.5px; font-weight: 500; color: var(--pnsa-foreground) !important; }
a.pnsa-ov-timeline__title { text-decoration: none; }
.pnsa-ov-timeline__time { font-size: 12px; color: var(--pnsa-muted-fg); white-space: nowrap; }
.pnsa-ov-timeline__text { margin: 6px 0 0; font-size: 13px; line-height: 1.55; color: var(--pnsa-muted-fg); white-space: pre-line; }
.pnsa-ov-timeline__text.is-note { padding: 10px 12px; border-radius: var(--pnsa-radius-sm); background: var(--pnsa-muted); color: var(--pnsa-foreground); }
.pnsa-ov-timeline__text.is-customer { background: var(--pnsa-primary-soft); }
.pnsa-ov-timeline__delete { margin: 4px 0 0; }
.pnsa-ov-timeline__delete .pnsa-link-btn { color: var(--pnsa-muted-fg) !important; font-size: 12px; }

.pnsa-ov-callout { display: flex; gap: 12px; padding: 16px; border-color: color-mix(in oklab, var(--pnsa-warning) 40%, var(--pnsa-border)); background: var(--pnsa-warning-soft); }
.pnsa-ov-callout > .pnsa-icon { margin-top: 2px; color: var(--pnsa-warning-fg); }
body.pnsa-shell .pnsa-ov-callout h2 { margin: 0 0 4px; font-family: var(--pnsa-font); font-size: 13px; font-weight: 600; color: var(--pnsa-warning-fg); }
.pnsa-ov-callout p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--pnsa-foreground); white-space: pre-line; }
.pnsa-ov-customer__who { display: flex; align-items: center; gap: 12px; }
.pnsa-ov-customer__avatar { width: 44px; height: 44px; font-size: 15px; }
.pnsa-ov-customer__name { display: block; font-size: 15px; font-weight: 600; color: var(--pnsa-foreground) !important; text-decoration: none; }
a.pnsa-ov-customer__name:hover { color: var(--pnsa-primary) !important; }
.pnsa-ov-customer__tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.pnsa-ov-kv { display: grid; gap: 0; margin: 14px 0 0; }
.pnsa-ov-kv > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-top: 1px solid var(--pnsa-border); font-size: 13.5px; }
.pnsa-ov-kv > div:first-child { border-top: 0; }
.pnsa-section__body > .pnsa-ov-kv:first-child { margin-top: 0; }
.pnsa-ov-kv dt { color: var(--pnsa-muted-fg); }
.pnsa-ov-kv dd { margin: 0; font-weight: 500; text-align: right; overflow-wrap: anywhere; }
.pnsa-ov-kv dd a { color: var(--pnsa-primary) !important; text-decoration: none; }
.pnsa-ov-kv__mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.pnsa-ov-contact { margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--pnsa-border); list-style: none; }
.pnsa-ov-contact li { display: flex; align-items: center; gap: 10px; margin: 0; padding: 2px 0; font-size: 13.5px; }
.pnsa-ov-contact li > .pnsa-icon { width: 15px; height: 15px; color: var(--pnsa-muted-fg); }
.pnsa-ov-contact a { flex: 1; min-width: 0; overflow: hidden; color: var(--pnsa-foreground) !important; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.pnsa-ov-contact a:hover { color: var(--pnsa-primary) !important; }
.pnsa-ov-contact .pnsa-icon-btn { opacity: .6; }
.pnsa-ov-contact li:hover .pnsa-icon-btn { opacity: 1; }
.pnsa-ov-method { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 14px; font-weight: 500; }
.pnsa-ov-method .pnsa-icon { width: 16px; height: 16px; color: var(--pnsa-muted-fg); }
.pnsa-ov-upsell { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 8px 10px; border: 1px dashed var(--pnsa-border-strong); border-radius: var(--pnsa-radius-sm); font-size: 12.5px; color: var(--pnsa-muted-fg); }
.pnsa-ov-address { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--pnsa-border); }
.pnsa-section__body > .pnsa-ov-address:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.pnsa-ov-address__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
body.pnsa-shell .pnsa-ov-address__head h3 { margin: 0; font-family: var(--pnsa-font); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pnsa-muted-fg); }
.pnsa-ov-address address { font-size: 13.5px; font-style: normal; line-height: 1.6; color: var(--pnsa-foreground); }
.pnsa-ov-address__tools { display: flex; gap: 14px; margin: 8px 0 0; }
.pnsa-ov-address__form { margin: 0; }
.pnsa-ov-address__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pnsa-ov-address__field { display: flex; flex-direction: column; gap: 4px; margin: 0; font-size: 12px; font-weight: 500; color: var(--pnsa-muted-fg); }
.pnsa-ov-address__field.is-wide { grid-column: 1 / -1; }
body.pnsa-shell .pnsa-ov-address__field .pnsa-input { width: 100%; height: 34px; min-height: 34px; font-size: 13px; }
.pnsa-ov-address__actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 6px; }
.pnsa-ov-advanced { margin: 14px 0 0; }
.pnsa-section__head .pnsa-section__actions .pnsa-pill { margin-top: 1px; }
@media (max-width: 1180px) {
	.pnsa-ov__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.pnsa-ov-items__row { grid-template-columns: auto minmax(0, 1fr) auto; }
	.pnsa-ov-items__qty { grid-column: 2; }
	.pnsa-ov-steps { padding: 14px 8px; }
	.pnsa-ov-steps__label { font-size: 11px; }
}

/* Éditeur produit */
.pnsa-note--warning { background: var(--pnsa-warning-soft); border-color: transparent; color: var(--pnsa-warning-fg); }
.pnsa-note--warning .pnsa-icon { color: var(--pnsa-warning-fg); }
.pnsa-pe__form { margin: 0; }
.pnsa-pe__savebar { grid-column: 1 / -1; margin-top: 4px; }
.pnsa-pe .pnsa-section__body > * + * { margin-top: 0; }
.pnsa-pe-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; flex: 1 1 200px; }
.pnsa-pe-field + .pnsa-pe-field:not(.pnsa-pe-row > .pnsa-pe-field) { margin-top: 18px; }
.pnsa-pe-field--sm { flex: 0 1 160px; }
.pnsa-pe-label { display: block; font-size: 13px; font-weight: 600; color: var(--pnsa-foreground); }
.pnsa-pe-label .pnsa-muted { font-weight: 400; }
.pnsa-pe-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 16px; }
.pnsa-pe-sub { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--pnsa-border); }
.pnsa-pe-when > .pnsa-pe-sub:first-child { margin-top: 18px; }
.pnsa-section__body > .pnsa-pe-when:not(:first-child) { margin-top: 18px; }
.pnsa-pe-when[hidden] + .pnsa-pe-sub,
.pnsa-section__body > .pnsa-pe-when[hidden]:first-child + .pnsa-pe-sub { margin-top: 0; padding-top: 0; border-top: 0; }
body.pnsa-shell .pnsa-pe .pnsa-input { width: 100%; max-width: 100%; box-sizing: border-box; }
body.pnsa-shell .pnsa-pe textarea.pnsa-input { height: auto; min-height: 80px; padding: 8px 12px; line-height: 1.5; resize: vertical; }
body.pnsa-shell .pnsa-pe .pnsa-pe-name { height: 44px; font-size: 17px; font-weight: 600; }
body.pnsa-shell .pnsa-pe .pnsa-price-field { display: flex; width: 100%; }
body.pnsa-shell .pnsa-pe .pnsa-price-field .pnsa-input { padding-right: 34px; font-variant-numeric: tabular-nums; }
.pnsa-pe .pnsa-price-field__symbol { right: 12px; }
.pnsa-pe-row > .pnsa-pe-field:has(.pnsa-price-field) { flex: 0 1 200px; }
.pnsa-pe-discount { align-self: center; margin-top: 22px; padding: 4px 10px; border-radius: 999px; background: var(--pnsa-success-soft); color: var(--pnsa-success); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.pnsa-pe-error { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: 12.5px; color: var(--pnsa-danger); }
.pnsa-pe-dates { margin-top: 14px; }
.pnsa-pe-dates .pnsa-pe-field { flex: 0 1 200px; }
.pnsa-pe-hint { margin-top: 0; }
.pnsa-pe-narrow { max-width: 320px; }
.pnsa-pe-unit,
.pnsa-pe-dims { display: flex; align-items: center; gap: 8px; }
.pnsa-pe-unit > span,
.pnsa-pe-dims > span { font-size: 13px; color: var(--pnsa-muted-fg); }
body.pnsa-shell .pnsa-pe .pnsa-pe-dims .pnsa-input { flex: 1 1 0; min-width: 0; max-width: 110px; }
.pnsa-pe-headtoggle { flex: 1; }

/* Texte riche */
.pnsa-pe-editor .wp-editor-wrap { border: 1px solid var(--pnsa-input); border-radius: var(--pnsa-radius-sm); overflow: hidden; background: var(--pnsa-surface); }
.pnsa-pe-editor .wp-editor-wrap:focus-within { border-color: var(--pnsa-primary); box-shadow: 0 0 0 3px color-mix(in oklab, var(--pnsa-primary) 16%, transparent); }
.pnsa-pe-editor .wp-editor-container { border: 0 !important; }
body.pnsa-shell .pnsa-pe-editor .mce-tinymce { border: 0 !important; box-shadow: none !important; }
body.pnsa-shell .pnsa-pe-editor .mce-top-part::before { box-shadow: none !important; }
body.pnsa-shell .pnsa-pe-editor .mce-toolbar-grp { padding: 4px 6px !important; border-bottom: 1px solid var(--pnsa-border) !important; background: var(--pnsa-muted) !important; }
body.pnsa-shell .pnsa-pe-editor .mce-btn { border-radius: 6px !important; background: transparent !important; }
body.pnsa-shell .pnsa-pe-editor .mce-btn:hover,
body.pnsa-shell .pnsa-pe-editor .mce-btn.mce-active { border-color: transparent !important; background: var(--pnsa-surface) !important; box-shadow: var(--pnsa-shadow-sm) !important; }
body.pnsa-shell .pnsa-pe-editor .mce-btn .mce-txt { font-family: var(--pnsa-font); font-size: 13px; }
body.pnsa-shell .pnsa-pe-editor .mce-btn .mce-ico,
body.pnsa-shell .pnsa-pe-editor .mce-btn .mce-txt { color: var(--pnsa-foreground) !important; }
body.pnsa-shell .pnsa-pe-editor .mce-btn .mce-caret { border-top-color: var(--pnsa-muted-fg) !important; }
body.pnsa-shell .pnsa-pe-editor .mce-listbox button { border: 0 !important; }
body.pnsa-shell .pnsa-pe-editor .mce-edit-area { background: var(--pnsa-surface); }
body.pnsa-shell .pnsa-pe-editor .mce-statusbar { display: none; }
body.pnsa-shell .pnsa-pe-editor textarea.wp-editor-area { border: 0; }

.pnsa-pe-disclosure { margin-top: 16px; }
.pnsa-pe-disclosure > summary { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--pnsa-foreground); list-style: none; cursor: pointer; }
.pnsa-pe-disclosure > summary::-webkit-details-marker { display: none; }
.pnsa-pe-disclosure > summary .pnsa-icon { width: 15px; height: 15px; color: var(--pnsa-muted-fg); transition: transform .15s ease; }
.pnsa-pe-disclosure[open] > summary .pnsa-icon { transform: rotate(90deg); }
.pnsa-pe-disclosure > summary .pnsa-muted { font-weight: 400; }
.pnsa-pe-disclosure > :not(summary) { margin-top: 10px; }
.pnsa-pe-disclosure--inline { margin-top: 10px; }
.pnsa-pe-disclosure--inline > summary { font-weight: 500; color: var(--pnsa-primary); }
.pnsa-pe-disclosure--inline > summary .pnsa-icon { color: var(--pnsa-primary); }
.pnsa-pe-disclosure--inline[open] > summary .pnsa-icon { transform: rotate(45deg); }

/* Photos */
.pnsa-pe-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.pnsa-pe-photos > li { position: relative; margin: 0; aspect-ratio: 1; max-width: 100%; }
.pnsa-pe-photo { overflow: hidden; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm); background: var(--pnsa-muted); cursor: grab; }
.pnsa-pe-photo img { display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.pnsa-pe-photo.is-dragging { opacity: .4; }
.pnsa-pe-photo:first-child { grid-column: span 2; grid-row: span 2; }
.pnsa-pe-photo__main { position: absolute; left: 8px; bottom: 8px; display: none; padding: 2px 8px; border-radius: 999px; background: rgba(15, 23, 42, .72); color: #fff; font-size: 11px; font-weight: 600; }
.pnsa-pe-photo:first-child .pnsa-pe-photo__main { display: inline-block; }
.pnsa-pe-photo__remove { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 999px; background: rgba(15, 23, 42, .72); color: #fff; opacity: 0; cursor: pointer; transition: opacity .12s ease; }
.pnsa-pe-photo__remove .pnsa-icon { width: 14px; height: 14px; }
.pnsa-pe-photo:hover .pnsa-pe-photo__remove,
.pnsa-pe-photo__remove:focus-visible { opacity: 1; }
.pnsa-pe-photos__add button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 100%; padding: 8px; border: 1.5px dashed var(--pnsa-border-strong); border-radius: var(--pnsa-radius-sm); background: transparent; color: var(--pnsa-muted-fg); font-size: 12.5px; font-weight: 500; cursor: pointer; transition: border-color .12s ease, color .12s ease, background-color .12s ease; }
.pnsa-pe-photos__add button:hover { border-color: var(--pnsa-primary); background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg); }
.pnsa-pe-photos__add .pnsa-icon { width: 22px; height: 22px; }
.pnsa-pe-photos__add:only-child { grid-column: 1 / -1; aspect-ratio: auto; height: 140px; }

/* Options et pastilles */
.pnsa-pe-options { display: grid; gap: 10px; }
.pnsa-pe-options:not(:empty) { margin-bottom: 14px; }
.pnsa-pe-option { display: grid; grid-template-columns: minmax(140px, 200px) minmax(0, 1fr) auto auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm); background: color-mix(in oklab, var(--pnsa-muted) 45%, transparent); }
.pnsa-pe-option__variation { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 12.5px; color: var(--pnsa-muted-fg); white-space: nowrap; cursor: pointer; }
.pnsa-pe[data-type="simple"] .pnsa-pe-option { grid-template-columns: minmax(140px, 200px) minmax(0, 1fr) auto; }
body.pnsa-shell .pnsa-pe .pnsa-pe-option input[readonly] { background: var(--pnsa-muted); }
.pnsa-pe-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 36px; padding: 4px 6px; border: 1px solid var(--pnsa-input); border-radius: var(--pnsa-radius-sm); background: var(--pnsa-surface); cursor: text; box-sizing: border-box; }
.pnsa-pe-chips:focus-within { border-color: var(--pnsa-primary); box-shadow: 0 0 0 3px color-mix(in oklab, var(--pnsa-primary) 16%, transparent); }
.pnsa-pe-chip { display: inline-flex; align-items: center; gap: 2px; height: 26px; padding: 0 4px 0 10px; border-radius: 999px; background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg); font-size: 12.5px; font-weight: 500; }
.pnsa-pe-chip__remove { display: grid; place-items: center; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: inherit; cursor: pointer; opacity: .6; }
.pnsa-pe-chip__remove:hover { background: color-mix(in oklab, var(--pnsa-primary) 16%, transparent); opacity: 1; }
.pnsa-pe-chip__remove svg { width: 12px; height: 12px; }
body.pnsa-shell input.pnsa-pe-chips__input { flex: 1 1 80px; min-width: 80px; height: 26px; min-height: 26px; margin: 0; padding: 0 4px; border: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 13px; }

/* Déclinaisons */
.pnsa-pe-variations { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--pnsa-border); }
.pnsa-pe-variations__bar { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
body.pnsa-shell .pnsa-pe-variations__bar h3 { margin: 0; font-family: var(--pnsa-font); font-size: 14px; font-weight: 600; }
.pnsa-pe-variations__bar p { margin: 2px 0 0; font-size: 12.5px; }
.pnsa-pe-variations__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pnsa-pe-bulk { display: inline-flex; align-items: center; gap: 6px; }
body.pnsa-shell .pnsa-pe .pnsa-pe-bulk .pnsa-price-field { width: 150px; }
body.pnsa-shell .pnsa-pe .pnsa-pe-bulk .pnsa-input { height: 32px; min-height: 32px; font-size: 13px; }
.pnsa-pe-grid-wrap { overflow-x: auto; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm); }
.pnsa-pe-grid { width: 100%; border-collapse: collapse; font-size: 13px; }
.pnsa-pe-grid th { padding: 8px; border-bottom: 1px solid var(--pnsa-border); background: var(--pnsa-muted); font-size: 11.5px; font-weight: 600; letter-spacing: .02em; text-align: left; color: var(--pnsa-muted-fg); white-space: nowrap; }
.pnsa-pe-grid td { padding: 6px 8px; border-bottom: 1px solid var(--pnsa-border); vertical-align: middle; }
.pnsa-pe-grid tbody tr:last-child td { border-bottom: 0; }
.pnsa-pe-grid tbody tr.is-new { background: color-mix(in oklab, var(--pnsa-primary-soft) 55%, transparent); }
body.pnsa-shell .pnsa-pe .pnsa-pe-grid .pnsa-input { width: 100%; min-width: 64px; height: 32px; min-height: 32px; font-size: 13px; }
.pnsa-pe-grid__variant { min-width: 160px; }
.pnsa-pe-grid__on { padding-right: 12px !important; }
.pnsa-pe-grid td.pnsa-pe-grid__variant { display: flex; align-items: center; gap: 10px; }
.pnsa-pe-grid__thumb { display: grid; place-items: center; flex: none; width: 36px; height: 36px; padding: 0; overflow: hidden; border: 1px dashed var(--pnsa-border-strong); border-radius: 6px; background: var(--pnsa-surface); color: var(--pnsa-muted-fg); cursor: pointer; }
.pnsa-pe-grid__thumb:has(img) { border-style: solid; border-color: var(--pnsa-border); }
.pnsa-pe-grid__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pnsa-pe-grid__thumb .pnsa-icon { width: 15px; height: 15px; }
.pnsa-pe-grid__combo { display: flex; flex-wrap: wrap; gap: 4px; }
.pnsa-pe-grid__combo span { padding: 2px 8px; border-radius: 999px; background: var(--pnsa-muted); font-size: 12.5px; font-weight: 500; color: var(--pnsa-foreground); white-space: nowrap; }
.pnsa-pe-grid__on { width: 1%; text-align: center !important; }
.pnsa-pe-grid__empty { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 28px 16px; text-align: center; color: var(--pnsa-muted-fg); }
.pnsa-pe-grid__empty p { max-width: 360px; margin: 0; font-size: 13px; }
.pnsa-pe-grid-wrap:has(.pnsa-pe-grid__empty:not([hidden])) .pnsa-pe-grid { display: none; }

/* Fichiers */
.pnsa-pe-downloads { display: grid; gap: 8px; }
.pnsa-pe-downloads:not(:empty) { margin-bottom: 12px; }
.pnsa-pe-download { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(0, 2fr) auto auto; align-items: center; gap: 8px; }

/* Colonne latérale */
.pnsa-pe-status { display: grid; gap: 6px; }
.pnsa-pe-status__item { position: relative; display: flex; align-items: center; gap: 12px; margin: 0; padding: 10px 12px; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm); cursor: pointer; transition: border-color .12s ease, background-color .12s ease; }
.pnsa-pe-status__item input { position: absolute; opacity: 0; pointer-events: none; }
.pnsa-pe-status__item:hover { background: var(--pnsa-muted); }
.pnsa-pe-status__item:has(input:checked) { border-color: var(--pnsa-primary); background: var(--pnsa-primary-soft); box-shadow: inset 0 0 0 1px var(--pnsa-primary); }
.pnsa-pe-status__item:has(input:focus-visible) { outline: 2px solid var(--pnsa-primary); outline-offset: 2px; }
.pnsa-pe-status__dot { width: 10px; height: 10px; flex: none; border-radius: 999px; background: var(--pnsa-border-strong); }
.pnsa-pe-status__dot--publish { background: var(--pnsa-success); box-shadow: 0 0 0 3px var(--pnsa-success-soft); }
.pnsa-pe-status__dot--pending { background: var(--pnsa-warning); }
.pnsa-pe-status__dot--private { background: var(--pnsa-primary); }
.pnsa-pe-status__text strong { display: block; font-size: 13.5px; font-weight: 600; color: var(--pnsa-foreground); }
.pnsa-pe-status__text em { display: block; font-size: 12px; font-style: normal; color: var(--pnsa-muted-fg); }

.pnsa-pe-preview__card { overflow: hidden; }
.pnsa-pe-preview__image { position: relative; display: grid; place-items: center; aspect-ratio: 1; max-width: 100%; overflow: hidden; border-radius: var(--pnsa-radius-sm); background: var(--pnsa-muted); color: var(--pnsa-border-strong); }
.pnsa-pe-preview__image img { width: 100%; height: 100%; object-fit: cover; }
.pnsa-pe-preview__badge { position: absolute; top: 6px; left: 6px; padding: 1px 6px; border-radius: 999px; background: var(--pnsa-danger); color: #fff; font-size: 10.5px; font-weight: 700; }
.pnsa-pe-preview__name { font: 600 15px/1.35 var(--pnsa-display); color: var(--pnsa-foreground); overflow-wrap: anywhere; }
.pnsa-pe-preview__price { min-height: 20px; margin: 4px 0 0 !important; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--pnsa-foreground); }
.pnsa-pe-preview__price del { margin-right: 4px; font-weight: 400; color: var(--pnsa-muted-fg); }
.pnsa-pe-preview__price ins { text-decoration: none; color: var(--pnsa-danger); }
.pnsa-pe-preview__card { display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: 14px; align-items: center; }
.pnsa-pe-preview__image { grid-row: span 2; }
.pnsa-pe-preview__image > .pnsa-icon { width: 24px; height: 24px; }
.pnsa-pe-preview__name { margin: 0; align-self: end; }
.pnsa-pe-preview__price { align-self: start; }

.pnsa-pe-terms { border: 1px solid var(--pnsa-input); border-radius: var(--pnsa-radius-sm); overflow: hidden; }
.pnsa-pe-terms__search { position: relative; border-bottom: 1px solid var(--pnsa-border); }
.pnsa-pe-terms__search .pnsa-icon { position: absolute; top: 50%; left: 10px; width: 15px; height: 15px; color: var(--pnsa-muted-fg); transform: translateY(-50%); }
body.pnsa-shell .pnsa-pe .pnsa-pe-terms__search .pnsa-input { height: 36px; padding-left: 32px; border: 0; border-radius: 0; box-shadow: none; }
.pnsa-pe-terms__list { max-height: 220px; margin: 0; padding: 4px; overflow-y: auto; list-style: none; }
.pnsa-pe-terms__list--boxed { border: 1px solid var(--pnsa-input); border-radius: var(--pnsa-radius-sm); }
.pnsa-pe-terms__list li { margin: 0; padding-left: calc(var(--depth, 0) * 18px); }
.pnsa-pe-terms__list label { display: flex; align-items: center; gap: 10px; margin: 0; padding: 6px 8px; border-radius: 6px; font-size: 13.5px; color: var(--pnsa-foreground); cursor: pointer; }
.pnsa-pe-terms__list label:hover { background: var(--pnsa-muted); }
body.pnsa-shell .pnsa-pe-terms__list input[type="checkbox"] { margin: 0; }
.pnsa-pe-terms__none { margin: 0; padding: 12px; font-size: 13px; text-align: center; color: var(--pnsa-muted-fg); }
.pnsa-pe-slug { display: flex; align-items: stretch; margin: 0; border: 1px solid var(--pnsa-input); border-radius: var(--pnsa-radius-sm); overflow: hidden; }
.pnsa-pe-slug__base { display: flex; align-items: center; max-width: 55%; padding: 0 8px 0 10px; overflow: hidden; background: var(--pnsa-muted); font-size: 12px; color: var(--pnsa-muted-fg); white-space: nowrap; text-overflow: ellipsis; }
body.pnsa-shell .pnsa-pe .pnsa-pe-slug .pnsa-input { flex: 1; min-width: 0; border: 0; border-radius: 0; box-shadow: none; }

.pnsa-btn.is-loading { opacity: .7; pointer-events: none; }
@media (max-width: 782px) {
	.pnsa-pe-option,
	.pnsa-pe[data-type="simple"] .pnsa-pe-option { grid-template-columns: minmax(0, 1fr) auto; }
	.pnsa-pe-option__name,
	.pnsa-pe-chips { grid-column: 1 / -1; }
	.pnsa-pe-download { grid-template-columns: minmax(0, 1fr) auto auto; }
	.pnsa-pe-download > input[type="text"] { grid-column: 1 / -1; }
	.pnsa-pe-photo:first-child { grid-column: span 2; grid-row: span 2; }
}

/* Fenêtre d'accueil */
.pnsa-welcome { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 16px; }
.pnsa-welcome__backdrop { position: absolute; inset: 0; background: rgba(10, 16, 30, .45); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .2s ease; }
.pnsa-welcome__panel {
	position: relative; width: min(520px, 100%); max-height: calc(100vh - 32px); overflow-y: auto;
	padding: 28px; border: 1px solid var(--pnsa-border); border-radius: 18px;
	background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-lg);
	opacity: 0; transform: translateY(10px) scale(.98); transition: opacity .22s ease, transform .26s cubic-bezier(.2, .8, .2, 1);
}
body.pnsa-shell .pnsa-welcome__panel:focus, body.pnsa-shell .pnsa-welcome__panel:focus-visible { outline: 0; }
.pnsa-welcome.is-open .pnsa-welcome__backdrop { opacity: 1; }
.pnsa-welcome.is-open .pnsa-welcome__panel { opacity: 1; transform: none; }
.pnsa-welcome.is-leaving .pnsa-welcome__backdrop,
.pnsa-welcome.is-leaving .pnsa-welcome__panel { opacity: 0; }
.pnsa-welcome__art { display: flex; margin-bottom: 16px; }
.pnsa-welcome__mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--pnsa-primary); color: var(--pnsa-primary-fg, #fff); box-shadow: 0 10px 24px -10px var(--pnsa-primary); }
.pnsa-welcome__mark .pnsa-icon { width: 24px; height: 24px; }
body.pnsa-shell .pnsa-welcome__panel h2 { margin: 0; font-size: 21px; font-weight: 700; line-height: 1.25; }
.pnsa-welcome__lead { margin: 6px 0 18px; font-size: 14px; color: var(--pnsa-muted-fg); }
.pnsa-welcome__list { display: grid; gap: 14px; margin: 0 0 22px; padding: 0; list-style: none; }
.pnsa-welcome__list li { display: flex; gap: 12px; margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--pnsa-muted-fg); }
.pnsa-welcome__list strong { display: block; color: var(--pnsa-foreground); font-weight: 600; }
.pnsa-welcome__icon { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px; background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg); }
.pnsa-welcome__icon .pnsa-icon { width: 17px; height: 17px; }
.pnsa-welcome__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.pnsa-welcome__actions form { margin: 0; }
@media (max-width: 480px) {
	.pnsa-welcome__panel { padding: 22px 18px; }
	.pnsa-welcome__actions, .pnsa-welcome__actions form, .pnsa-welcome__actions .pnsa-btn { width: 100%; }
	.pnsa-welcome__actions { flex-direction: column-reverse; }
	.pnsa-welcome__actions .pnsa-btn { justify-content: center; }
}

/* Toasts */
.pnsa-toasts { position: fixed; right: 20px; bottom: 20px; z-index: 100001; display: flex; flex-direction: column; gap: 8px; max-width: min(360px, calc(100vw - 40px)); }
.pnsa-toast { padding: 12px 14px; border: 1px solid var(--pnsa-border); border-left: 3px solid var(--pnsa-muted-fg); border-radius: var(--pnsa-radius); background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-lg); font-size: 13px; color: var(--pnsa-foreground); animation: pnsa-toast-in .18s ease-out; transition: opacity .3s ease, transform .3s ease; }
.pnsa-toast strong { display: block; font-weight: 600; }
.pnsa-toast span { display: block; margin-top: 2px; color: var(--pnsa-muted-fg); }
.pnsa-toast--success { border-left-color: var(--pnsa-success); }
.pnsa-toast--danger { border-left-color: var(--pnsa-danger); }
.pnsa-toast.is-leaving { opacity: 0; transform: translateY(6px); }
@keyframes pnsa-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Édition directe dans les tableaux */
.pnsa-inline { width: 88px; height: 32px; padding: 0 8px !important; border: 1px solid transparent !important; border-radius: var(--pnsa-radius-sm) !important; background: transparent !important; font-variant-numeric: tabular-nums; }
.pnsa-inline:hover { border-color: var(--pnsa-border) !important; background: var(--pnsa-surface) !important; }
.pnsa-inline:focus { border-color: var(--pnsa-primary) !important; background: var(--pnsa-surface) !important; }
.pnsa-inline--price { width: 104px; text-align: right; font-weight: 500; }
.pnsa-stock-cell .pnsa-inline { width: 64px; }
.pnsa-stock-cell .pnsa-inline { -moz-appearance: textfield; appearance: textfield; }
.pnsa-stock-cell .pnsa-inline::-webkit-inner-spin-button,
.pnsa-stock-cell .pnsa-inline::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
@supports (field-sizing: content) {
	.pnsa-stock-cell .pnsa-inline { field-sizing: content; width: auto; min-width: 44px; max-width: 96px; }
}
.pnsa-inline.is-saving { opacity: .55; }
.pnsa-table tbody tr.is-selected { background: color-mix(in oklab, var(--pnsa-primary-soft) 60%, transparent); }

/* 6. Habillage des écrans natifs ────────────────────────────────────────── */

/*
 * Les écrans de WordPress et de WooCommerce gardent leur balisage : on ne
 * change que leur allure, pour qu'on ne sente plus la couture entre un écran
 * de l'extension et un écran d'origine. Trois principes :
 * - mêmes surfaces (cartes blanches sur fond chaud), mêmes boutons, mêmes champs ;
 * - pleine largeur, marges identiques aux écrans de l'extension ;
 * - les formulaires de réglages deviennent des sections « titre à gauche,
 *   carte à droite » (regroupement fait par admin.js, voir pnsaNativeForms),
 *   avec un repli purement CSS quand le regroupement n'a pas lieu.
 */

/* Pied de page, bandeaux d'extensions et en-tête React de WooCommerce */
body.pnsa-shell #wpfooter { display: none; }
body.pnsa-shell.woocommerce-embed-page .woocommerce-layout__header,
body.pnsa-shell.woocommerce-embed-page .woocommerce-layout__activity-panel { display: none !important; }
body.pnsa-shell.woocommerce-embed-page #wpbody { margin-top: 0 !important; padding-top: 0 !important; }
body.pnsa-shell.woocommerce-embed-page .woocommerce-layout { padding-top: 0 !important; }
body.pnsa-shell.woocommerce-embed-page .woocommerce-layout__primary { margin-top: 0 !important; }
body.pnsa-shell .woocommerce-store-alerts,
body.pnsa-shell .woocommerce-layout__jitm:empty { margin: 0; }

/* En-tête ajouté aux écrans natifs qui n'ont pas de titre visible (réglages WooCommerce…) */
.pnsa-native-head { margin: 24px 32px 20px; }
.pnsa-native-head + #wpbody #wpbody-content > .wrap { margin-top: 0; }
.pnsa-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 8px; font-size: 12.5px; color: var(--pnsa-muted-fg); }
.pnsa-crumbs a { color: var(--pnsa-muted-fg) !important; text-decoration: none; font-weight: 500; }
.pnsa-crumbs a:hover { color: var(--pnsa-foreground) !important; }
.pnsa-crumbs .pnsa-icon { width: 13px; height: 13px; opacity: .6; }
.pnsa-native-head h1 { margin: 0; padding: 0; font-size: 26.4px; font-weight: 700; line-height: 1.25; }
.pnsa-native-head p { margin: 6px 0 0; font-size: 14px; color: var(--pnsa-muted-fg); }

/* Titres et actions */
body.pnsa-shell .wrap { margin-right: 0; }
body.pnsa-shell .wrap h1.wp-heading-inline,
body.pnsa-shell .wrap > h1,
body.pnsa-shell .wrap > form > h1:not(.screen-reader-text),
body.pnsa-shell .wrap > h2:first-child { font-family: var(--pnsa-display); font-size: 26.4px; font-weight: 700; line-height: 1.25; padding: 0; margin: 0 0 8px; color: var(--pnsa-foreground); }
body.pnsa-shell .wrap h1.wp-heading-inline { margin-right: 6px; vertical-align: middle; }
body.pnsa-shell .wrap .page-title-action,
body.pnsa-shell .wrap .add-new-h2 {
	top: -2px; display: inline-flex; align-items: center; margin: 0 0 0 8px; padding: 0 14px; height: 36px; line-height: 1;
	border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm);
	background: var(--pnsa-surface); color: var(--pnsa-foreground) !important; font-size: 14px; font-weight: 500; text-shadow: none;
	box-shadow: var(--pnsa-shadow-sm); vertical-align: middle;
}
body.pnsa-shell .wrap h1.wp-heading-inline + .page-title-action { border-color: transparent; background: var(--pnsa-primary); color: var(--pnsa-primary-fg) !important; }
body.pnsa-shell .wrap .page-title-action:hover { background: var(--pnsa-muted); border-color: var(--pnsa-border-strong); }
body.pnsa-shell .wrap h1.wp-heading-inline + .page-title-action:hover { background: var(--pnsa-primary); opacity: .9; }
body.pnsa-shell hr.wp-header-end { margin: 0 0 16px; border: 0; }
body.pnsa-shell .wrap > p.description:first-of-type,
body.pnsa-shell .wrap > h1 + p { color: var(--pnsa-muted-fg); font-size: 14px; }
body.pnsa-shell code,
body.pnsa-shell kbd { padding: 1px 6px; border-radius: 5px; background: var(--pnsa-muted); color: var(--pnsa-foreground); font-size: .92em; }

/* Boutons : les boutons WordPress, WooCommerce et Gutenberg prennent le style de l'interface */
body.pnsa-shell .button,
body.pnsa-shell .button-secondary,
body.pnsa-shell .components-button.is-secondary {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	min-height: 36px; padding: 0 14px; line-height: 1.2;
	border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm);
	background: var(--pnsa-surface); color: var(--pnsa-foreground); box-shadow: var(--pnsa-shadow-sm);
	font-size: 13.5px; font-weight: 500; text-shadow: none; vertical-align: middle;
	transition: background-color .12s ease, border-color .12s ease, opacity .12s ease;
}
body.pnsa-shell .button.button-small { min-height: 30px; padding: 0 10px; font-size: 12.5px; }
body.pnsa-shell .button.button-hero { min-height: 44px; padding: 0 20px; font-size: 15px; }
body.pnsa-shell .button .dashicons { line-height: 1; }
body.pnsa-shell .button:hover,
body.pnsa-shell .button-secondary:hover,
body.pnsa-shell .components-button.is-secondary:hover:not(:disabled) { background: var(--pnsa-muted); border-color: var(--pnsa-border-strong); color: var(--pnsa-foreground); box-shadow: var(--pnsa-shadow-sm); }
body.pnsa-shell .button:focus,
body.pnsa-shell .components-button:focus-visible { box-shadow: 0 0 0 2px var(--pnsa-surface), 0 0 0 4px var(--pnsa-primary) !important; border-color: var(--pnsa-border-strong); outline: 0; }
body.pnsa-shell .button-primary,
body.pnsa-shell .button.button-primary,
body.pnsa-shell .components-button.is-primary,
body.pnsa-shell .woocommerce-save-button {
	border-color: transparent !important; background: var(--pnsa-primary) !important; color: var(--pnsa-primary-fg) !important;
	min-height: 36px; padding: 0 16px; border-radius: var(--pnsa-radius-sm); font-weight: 600; text-shadow: none; box-shadow: var(--pnsa-shadow-sm);
}
body.pnsa-shell .button-primary:hover,
body.pnsa-shell .button.button-primary:hover,
body.pnsa-shell .components-button.is-primary:hover:not(:disabled),
body.pnsa-shell .button-primary:focus { border-color: transparent; background: var(--pnsa-primary) !important; color: var(--pnsa-primary-fg) !important; opacity: .9; }
body.pnsa-shell .button-primary:disabled,
body.pnsa-shell .button-primary[disabled],
body.pnsa-shell .components-button.is-primary:disabled,
body.pnsa-shell .woocommerce-save-button:disabled { opacity: .45 !important; cursor: default; }
body.pnsa-shell .components-button.is-tertiary,
body.pnsa-shell .components-button.is-link { color: var(--pnsa-primary); }
body.pnsa-shell .button-link,
body.pnsa-shell .button-link:hover { color: var(--pnsa-primary); box-shadow: none; }
body.pnsa-shell .button-link-delete,
body.pnsa-shell .submitdelete,
body.pnsa-shell a.delete,
body.pnsa-shell .row-actions .trash a,
body.pnsa-shell .row-actions .delete a { color: var(--pnsa-danger) !important; }

/* Champs */
body.pnsa-shell input[type="text"],
body.pnsa-shell input[type="search"],
body.pnsa-shell input[type="email"],
body.pnsa-shell input[type="url"],
body.pnsa-shell input[type="number"],
body.pnsa-shell input[type="password"],
body.pnsa-shell input[type="tel"],
body.pnsa-shell input[type="date"],
body.pnsa-shell input[type="time"],
body.pnsa-shell input[type="datetime-local"],
body.pnsa-shell select,
body.pnsa-shell textarea,
body.pnsa-shell .select2-container--default .select2-selection--single,
body.pnsa-shell .select2-container--default .select2-selection--multiple {
	border: 1px solid var(--pnsa-input); border-radius: var(--pnsa-radius-sm);
	background-color: var(--pnsa-surface); color: var(--pnsa-foreground); box-shadow: none;
}
body.pnsa-shell input[type="text"],
body.pnsa-shell input[type="search"],
body.pnsa-shell input[type="email"],
body.pnsa-shell input[type="url"],
body.pnsa-shell input[type="number"],
body.pnsa-shell input[type="password"],
body.pnsa-shell input[type="tel"],
body.pnsa-shell input[type="date"],
body.pnsa-shell input[type="time"],
body.pnsa-shell select { min-height: 36px; padding: 0 12px; line-height: 1.3; }
body.pnsa-shell select { padding-right: 32px; background-position: right 10px top 55%; }
body.pnsa-shell textarea { padding: 8px 12px; line-height: 1.5; }
body.pnsa-shell .select2-container--default .select2-selection--single { height: 36px; }
body.pnsa-shell .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 34px; padding-left: 12px; color: var(--pnsa-foreground); }
body.pnsa-shell .select2-container--default .select2-selection--single .select2-selection__arrow { height: 34px; }
body.pnsa-shell .select2-container--default .select2-selection--multiple { min-height: 36px; }
body.pnsa-shell .select2-container--default .select2-selection--multiple .select2-selection__choice { border: 0; border-radius: 6px; background: var(--pnsa-muted); color: var(--pnsa-foreground); }
body.pnsa-shell .select2-dropdown { border-color: var(--pnsa-border); border-radius: var(--pnsa-radius-sm); box-shadow: var(--pnsa-shadow-lg); overflow: hidden; }
body.pnsa-shell .select2-container--default .select2-results__option--highlighted[aria-selected],
body.pnsa-shell .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--pnsa-primary); color: var(--pnsa-primary-fg); }
body.pnsa-shell input:focus,
body.pnsa-shell select:focus,
body.pnsa-shell textarea:focus,
body.pnsa-shell .select2-container--focus .select2-selection { border-color: var(--pnsa-primary) !important; box-shadow: 0 0 0 3px color-mix(in oklab, var(--pnsa-primary) 18%, transparent) !important; outline: 0; }
body.pnsa-shell input[type="checkbox"],
body.pnsa-shell input[type="radio"] { width: 18px; height: 18px; min-width: 18px; margin-top: -2px; border: 1px solid var(--pnsa-border-strong); background: var(--pnsa-surface); box-shadow: none; }
body.pnsa-shell input[type="checkbox"] { border-radius: 5px; }
/* Case cochée : fond de la couleur principale, coche blanche quelle que soit la version de WordPress. */
body.pnsa-shell input[type="checkbox"]:checked { border-color: var(--pnsa-primary); background: var(--pnsa-primary); }
body.pnsa-shell input[type="checkbox"]:checked::before { content: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%23ffffff%27%2F%3E%3C%2Fsvg%3E"); width: 20px; height: 20px; margin: -2px 0 0 -2px; }
body.pnsa-shell input[type="radio"]:checked { border-color: var(--pnsa-primary); }
body.pnsa-shell input[type="radio"]:checked::before { width: 8px; height: 8px; margin: 4px; background: var(--pnsa-primary); }
body.pnsa-shell .woocommerce-help-tip { color: var(--pnsa-muted-fg); }
body.pnsa-shell .woocommerce-help-tip::after { font-size: 14px; }
body.pnsa-shell .wp-color-result { min-height: 36px; border-radius: var(--pnsa-radius-sm); }
body.pnsa-shell label { color: var(--pnsa-foreground); }

/* Réglages : sections « titre et description à gauche, carte à droite » */
body.pnsa-shell .pnsa-fsec {
	display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 16px 32px;
	padding: 24px 0; border-top: 1px solid var(--pnsa-border);
}
body.pnsa-shell .pnsa-fsec:first-of-type { border-top: 0; padding-top: 8px; }
body.pnsa-shell .pnsa-fsec__intro h2,
body.pnsa-shell .pnsa-fsec__intro h3 { margin: 0 0 6px; font-family: var(--pnsa-display); font-size: 16px; font-weight: 700; line-height: 1.35; }
body.pnsa-shell .pnsa-fsec__intro,
body.pnsa-shell .pnsa-fsec__intro p { margin: 0; font-size: 13px; line-height: 1.55; color: var(--pnsa-muted-fg); }
body.pnsa-shell .pnsa-fsec__intro p + p { margin-top: 8px; }
body.pnsa-shell .pnsa-fsec__card { min-width: 0; }
@media (min-width: 1024px) {
	body.pnsa-shell .pnsa-fsec__intro { position: sticky; top: calc(var(--pnsa-topbar-h) + 16px); align-self: start; }
}
body.pnsa-shell .pnsa-fsec--solo { grid-template-columns: minmax(0, 1fr); }

/* Tableaux de formulaire (WordPress, WooCommerce, extensions) en carte, étiquette au-dessus ou à gauche */
body.pnsa-shell table.form-table {
	display: block; width: 100%; margin: 0 0 16px; padding: 4px 24px;
	border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius);
	background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-sm); box-sizing: border-box;
	container: pnsa-form / inline-size;
}
body.pnsa-shell .pnsa-fsec__card table.form-table:last-child { margin-bottom: 0; }
body.pnsa-shell table.form-table > tbody { display: block; }
body.pnsa-shell table.form-table > tbody > tr { display: grid; grid-template-columns: minmax(160px, 34%) minmax(0, 1fr); gap: 6px 24px; padding: 18px 0; border-bottom: 1px solid var(--pnsa-border); }
body.pnsa-shell table.form-table > tbody > tr:last-child { border-bottom: 0; }
body.pnsa-shell table.form-table > tbody > tr[style*="display: none"],
body.pnsa-shell table.form-table > tbody > tr.hidden { display: none !important; }
body.pnsa-shell table.form-table > tbody > tr > th,
body.pnsa-shell table.form-table > tbody > tr > td { display: block; width: auto; margin: 0; padding: 0; }
body.pnsa-shell table.form-table > tbody > tr > th { padding: 9px 0 0 !important; font-size: 13.5px; font-weight: 600; line-height: 1.4; color: var(--pnsa-foreground); }
body.pnsa-shell table.form-table > tbody > tr > th label { display: inline; margin: 0; padding: 0; font-weight: 600; }
/* Bulle d'aide de WooCommerce : collée à l'étiquette plutôt qu'en bout de colonne. */
body.pnsa-shell table.form-table th .woocommerce-help-tip { position: relative !important; inset: auto !important; display: inline-block; margin: -2px 0 0 6px !important; float: none; vertical-align: middle; }
body.pnsa-shell table.form-table > tbody > tr > td[colspan] { grid-column: 1 / -1; }
body.pnsa-shell table.form-table > tbody > tr > th:empty + td,
body.pnsa-shell table.form-table > tbody > tr > td:only-child { grid-column: 1 / -1; }
body.pnsa-shell table.form-table td fieldset { margin: 0; }
body.pnsa-shell table.form-table td fieldset label { display: inline-flex; align-items: center; gap: 8px; margin: 4px 16px 4px 0 !important; line-height: 1.5; }
body.pnsa-shell table.form-table td fieldset label input { margin: 0 !important; }
body.pnsa-shell table.form-table td fieldset br { display: none; }
body.pnsa-shell table.form-table td fieldset legend + label,
body.pnsa-shell table.form-table td fieldset p { margin-top: 0; }
body.pnsa-shell table.form-table td .description,
body.pnsa-shell table.form-table td p.description { margin: 8px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--pnsa-muted-fg); }
body.pnsa-shell table.form-table td fieldset label + .description { display: block; margin: 0 0 4px 26px; }
body.pnsa-shell .color-option { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; width: 150px; padding: 8px; border-radius: var(--pnsa-radius-sm); }
body.pnsa-shell .color-option.selected,
body.pnsa-shell .color-option:hover { background: var(--pnsa-muted); }
body.pnsa-shell .color-option label { margin: 0 !important; }
body.pnsa-shell .color-option .color-palette { width: 100%; }
body.pnsa-shell table.form-table input[type="text"],
body.pnsa-shell table.form-table input[type="email"],
body.pnsa-shell table.form-table input[type="url"],
body.pnsa-shell table.form-table input[type="password"],
body.pnsa-shell table.form-table input[type="tel"],
body.pnsa-shell table.form-table input.regular-text,
body.pnsa-shell table.form-table select:not([multiple]),
body.pnsa-shell table.form-table textarea,
body.pnsa-shell table.form-table .select2-container { width: 100% !important; max-width: 560px; min-width: 0 !important; box-sizing: border-box; }
body.pnsa-shell table.form-table input.small-text,
body.pnsa-shell table.form-table input[type="number"] { width: 120px !important; max-width: 100%; }
body.pnsa-shell table.form-table textarea { min-height: 96px; }
body.pnsa-shell table.form-table td > .forminp-color input,
body.pnsa-shell table.form-table .colorpickpreview { vertical-align: middle; }

/* Formulaire WooCommerce : plus de fond gris, onglets en pastilles, bouton d'enregistrement collant */
body.pnsa-shell #mainform { background: transparent !important; }
body.pnsa-shell .woocommerce #mainform > h2,
body.pnsa-shell .wrap.woocommerce > form > h2 { font-family: var(--pnsa-display); font-size: 16px; font-weight: 700; margin: 24px 0 6px; }
body.pnsa-shell .wrap.woocommerce > form > h2 + div > p,
body.pnsa-shell .wrap.woocommerce > form > h2 + p { margin: 0 0 12px; color: var(--pnsa-muted-fg); }
body.pnsa-shell .wrap.woocommerce .subsubsub { float: none; display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 16px; }
body.pnsa-shell .wrap.woocommerce .subsubsub li { margin: 0; font-size: 0; color: transparent; }
body.pnsa-shell .wrap.woocommerce .subsubsub li a { font-size: 13.5px; padding: 6px 10px !important; }
body.pnsa-shell .wrap.woocommerce .subsubsub + br.clear { display: none; }
body.pnsa-shell p.submit,
body.pnsa-shell .wrap.woocommerce p.submit {
	position: sticky; bottom: 0; z-index: 20; display: flex; align-items: center; justify-content: flex-end; gap: 8px;
	margin: 24px 0 0; padding: 12px 0;
	background: linear-gradient(to top, var(--pnsa-background) 70%, transparent);
}
body.pnsa-shell .pnsa-fsec__card p.submit,
body.pnsa-shell .postbox p.submit,
body.pnsa-shell .media-modal p.submit { position: static; background: none; justify-content: flex-start; padding: 0; }
body.pnsa-shell .wc-settings-prevent-change-event + .submit { justify-content: flex-end; }
body.pnsa-shell .wc_input_table,
body.pnsa-shell table.wc_gateways,
body.pnsa-shell table.wc_emails,
body.pnsa-shell table.wc-shipping-zones,
body.pnsa-shell table.wc-shipping-classes,
body.pnsa-shell .wc_tax_rates {
	border: 1px solid var(--pnsa-border) !important; border-radius: var(--pnsa-radius); border-collapse: separate; border-spacing: 0;
	overflow: hidden; background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-sm);
}
body.pnsa-shell table.wc_emails td,
body.pnsa-shell table.wc_emails th,
body.pnsa-shell table.wc_gateways td,
body.pnsa-shell table.wc_gateways th,
body.pnsa-shell table.wc-shipping-zones td,
body.pnsa-shell table.wc-shipping-zones th { padding: 14px 16px !important; border-color: var(--pnsa-border) !important; background: transparent !important; vertical-align: middle; }
body.pnsa-shell table.wc_emails thead th,
body.pnsa-shell table.wc_gateways thead th,
body.pnsa-shell table.wc-shipping-zones thead th { background: color-mix(in oklab, var(--pnsa-muted) 50%, transparent) !important; color: var(--pnsa-muted-fg); font-size: 12.5px; font-weight: 500; }
body.pnsa-shell table.wc_emails tbody tr:hover,
body.pnsa-shell table.wc-shipping-zones tbody tr:hover { background: color-mix(in oklab, var(--pnsa-muted) 55%, transparent); }
body.pnsa-shell table.wc_emails td.wc-email-settings-table-name a { color: var(--pnsa-foreground); font-weight: 600; text-decoration: none; }
body.pnsa-shell table.wc_emails .wc-email-settings-table-status .status-enabled::before { color: var(--pnsa-success); }

/* Écrans React de WooCommerce (paramètres de paiement, zones, aperçu d'e-mail) */
body.pnsa-shell .components-card,
body.pnsa-shell .woocommerce-card { border-radius: var(--pnsa-radius); box-shadow: 0 0 0 1px var(--pnsa-border); background: var(--pnsa-surface); }
body.pnsa-shell .components-card__header,
body.pnsa-shell .components-card__footer { border-color: var(--pnsa-border); }
body.pnsa-shell .components-toggle-control .components-form-toggle.is-checked .components-form-toggle__track { background: var(--pnsa-primary); border-color: var(--pnsa-primary); }
body.pnsa-shell .components-base-control__field input,
body.pnsa-shell .components-text-control__input,
body.pnsa-shell .components-select-control__input { border-radius: var(--pnsa-radius-sm) !important; }
/* L'aperçu d'e-mail de WooCommerce se positionne en absolu à côté des champs, d'après leur largeur
   d'origine : dans une carte, on le remet dans le flux, sous les réglages du modèle. */
body.pnsa-shell #wc_settings_email_preview_slotfill { max-width: 100%; box-sizing: border-box; }
body.pnsa-shell .wc-settings-email-preview-container,
body.pnsa-shell .wc-settings-email-preview-container-floating { position: static !important; inset: auto !important; width: 100% !important; height: 900px; margin: 16px 0 0 !important; border-color: var(--pnsa-border); border-radius: var(--pnsa-radius); background: color-mix(in oklab, var(--pnsa-muted) 60%, transparent); }
body.pnsa-shell .wc-settings-email-preview { border-color: var(--pnsa-border); border-radius: var(--pnsa-radius-sm); overflow: hidden; }
body.pnsa-shell .wc-settings-email-preview-device-type button.active { background: var(--pnsa-primary); }

/* Filtres de statut (Tous | Publiés | …) en onglets */
body.pnsa-shell .subsubsub { margin: 4px 0 12px; font-size: 13.5px; color: transparent; }
body.pnsa-shell .subsubsub li { color: transparent; }
body.pnsa-shell .subsubsub a { display: inline-flex; align-items: center; gap: 4px; padding: 6px 10px; border-radius: var(--pnsa-radius-sm); color: var(--pnsa-muted-fg); font-weight: 500; text-decoration: none; }
body.pnsa-shell .subsubsub a:hover { background: var(--pnsa-muted); color: var(--pnsa-foreground); }
body.pnsa-shell .subsubsub a.current { background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg); font-weight: 600; }
body.pnsa-shell .subsubsub a .count { color: inherit; opacity: .7; }

/* Listes WordPress en carte */
body.pnsa-shell .wp-list-table {
	border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius); border-collapse: separate; border-spacing: 0;
	overflow: hidden; background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-sm);
}
body.pnsa-shell .wp-list-table thead th,
body.pnsa-shell .wp-list-table thead td,
body.pnsa-shell .wp-list-table tfoot th,
body.pnsa-shell .wp-list-table tfoot td { padding-top: 10px; padding-bottom: 10px; border-color: var(--pnsa-border); background: color-mix(in oklab, var(--pnsa-muted) 50%, transparent); color: var(--pnsa-muted-fg); font-size: 12.5px; font-weight: 500; }
body.pnsa-shell .wp-list-table tfoot { display: none; }
body.pnsa-shell .wp-list-table thead th a,
body.pnsa-shell .wp-list-table tfoot th a { color: var(--pnsa-muted-fg); }
body.pnsa-shell .wp-list-table td,
body.pnsa-shell .wp-list-table th { color: var(--pnsa-foreground); }
body.pnsa-shell .wp-list-table tbody td,
body.pnsa-shell .wp-list-table tbody th { padding-top: 12px; padding-bottom: 12px; vertical-align: middle; }
body.pnsa-shell .wp-list-table tbody .check-column { padding-top: 14px; }
body.pnsa-shell .striped > tbody > :nth-child(odd),
body.pnsa-shell ul.striped > :nth-child(odd),
body.pnsa-shell .alternate { background: transparent; }
body.pnsa-shell .wp-list-table tbody tr { box-shadow: inset 0 -1px 0 var(--pnsa-border); }
body.pnsa-shell .wp-list-table tbody tr:last-child { box-shadow: none; }
body.pnsa-shell .wp-list-table tbody tr:hover { background: color-mix(in oklab, var(--pnsa-muted) 55%, transparent); }
body.pnsa-shell .wp-list-table .row-title,
body.pnsa-shell .wp-list-table strong > a { color: var(--pnsa-foreground); font-weight: 600; }
body.pnsa-shell .wp-list-table .row-title:hover { color: var(--pnsa-primary); }
body.pnsa-shell .row-actions { color: var(--pnsa-border-strong); }
body.pnsa-shell .row-actions a { color: var(--pnsa-muted-fg); }
body.pnsa-shell .row-actions a:hover { color: var(--pnsa-primary); }
body.pnsa-shell .wp-list-table img.attachment-thumbnail,
body.pnsa-shell .wp-list-table .column-thumb img { border-radius: var(--pnsa-radius-sm); border: 1px solid var(--pnsa-border); }
body.pnsa-shell .tablenav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; height: auto; min-height: 36px; margin: 12px 0; padding: 0; }
body.pnsa-shell .tablenav .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 0; overflow: visible; }
body.pnsa-shell .tablenav .actions select { max-width: 240px; margin: 0; }
body.pnsa-shell .tablenav .tablenav-pages { display: flex; align-items: center; gap: 6px; margin: 0 0 0 auto; color: var(--pnsa-muted-fg); }
body.pnsa-shell .tablenav br.clear { display: none; }
body.pnsa-shell .tablenav .tablenav-pages a,
body.pnsa-shell .tablenav-pages-navspan { display: inline-grid; place-items: center; min-width: 32px; min-height: 32px; padding: 0 6px; line-height: 1; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm); background: var(--pnsa-surface); color: var(--pnsa-foreground); }
body.pnsa-shell .tablenav-pages-navspan { opacity: .5; }
body.pnsa-shell p.search-box { display: flex; gap: 6px; margin: 0 0 8px; }
body.pnsa-shell p.search-box input[type="search"] { min-width: 240px; }

/* Onglets de réglages (WooCommerce, extensions) en pastilles */
body.pnsa-shell .nav-tab-wrapper,
body.pnsa-shell .woo-nav-tab-wrapper,
body.pnsa-shell .wrap h2.nav-tab-wrapper {
	display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 20px; padding: 4px;
	border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius); background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-sm);
}
body.pnsa-shell .nav-tab-wrapper .nav-tab,
body.pnsa-shell .nav-tab {
	position: relative; float: none; margin: 0 !important; padding: 7px 12px !important;
	border: 0; border-radius: var(--pnsa-radius-sm); background: transparent; color: var(--pnsa-muted-fg);
	font-size: 13.5px; font-weight: 500; line-height: 1.3; text-decoration: none;
}
body.pnsa-shell .nav-tab:hover { background: var(--pnsa-muted); color: var(--pnsa-foreground); }
body.pnsa-shell .nav-tab:focus { box-shadow: none; }
body.pnsa-shell .nav-tab-wrapper .nav-tab.nav-tab-active,
body.pnsa-shell .nav-tab-wrapper .nav-tab.nav-tab-active:hover,
body.pnsa-shell .nav-tab-wrapper .nav-tab.nav-tab-active:focus { background: var(--pnsa-primary) !important; color: var(--pnsa-primary-fg) !important; border: 0 !important; box-shadow: none !important; }
body.pnsa-shell .nav-tab-wrapper .nav-tab::after,
body.pnsa-shell .nav-tab-wrapper .nav-tab::before { display: none !important; }

/* Boîtes (fiches produit, commande, réglages) */
body.pnsa-shell .postbox,
body.pnsa-shell .stuffbox,
body.pnsa-shell .card {
	border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius);
	background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-sm); overflow: hidden;
}
body.pnsa-shell .card { max-width: none; padding: 20px 24px; }
body.pnsa-shell .postbox-header { min-height: 48px; padding: 0 4px 0 8px; border-bottom-color: var(--pnsa-border); }
body.pnsa-shell .postbox .hndle,
body.pnsa-shell .postbox-header h2 { font-family: var(--pnsa-font); font-size: 14px; font-weight: 600; color: var(--pnsa-foreground); }
body.pnsa-shell .postbox .inside { padding: 4px 16px 16px; }
body.pnsa-shell .postbox .handle-order-higher,
body.pnsa-shell .postbox .handle-order-lower,
body.pnsa-shell .postbox .handlediv { color: var(--pnsa-muted-fg); }
body.pnsa-shell #poststuff { padding-top: 4px; }
@media (min-width: 851px) {
	body.pnsa-shell #poststuff #post-body.columns-2 { margin-right: 316px; }
	body.pnsa-shell #post-body.columns-2 #postbox-container-1 { margin-right: -316px; width: 300px; }
}
body.pnsa-shell #titlediv #title { height: 48px; padding: 6px 14px; border-radius: var(--pnsa-radius-sm); font-size: 20px; font-family: var(--pnsa-display); font-weight: 600; }
body.pnsa-shell #poststuff h2 { font-family: var(--pnsa-font); }
body.pnsa-shell #submitdiv #major-publishing-actions,
body.pnsa-shell #woocommerce-order-actions .wc-order-bulk-actions,
body.pnsa-shell .order_actions li.wide { border-top-color: var(--pnsa-border); background: color-mix(in oklab, var(--pnsa-muted) 50%, transparent); }
body.pnsa-shell #major-publishing-actions,
body.pnsa-shell #woocommerce-order-actions .order_actions li.wide { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
body.pnsa-shell #major-publishing-actions::after,
body.pnsa-shell #woocommerce-order-actions .order_actions li.wide::after { display: none; }
body.pnsa-shell #delete-action,
body.pnsa-shell #publishing-action,
body.pnsa-shell #woocommerce-order-actions #delete-action,
body.pnsa-shell #woocommerce-order-actions .button.save_order { float: none; margin: 0; line-height: 1.3; white-space: nowrap; }
body.pnsa-shell #wp-content-editor-tools,
body.pnsa-shell .wp-editor-container,
body.pnsa-shell #post-status-info { border-color: var(--pnsa-border); }
body.pnsa-shell .wp-editor-container { border-radius: 0 0 var(--pnsa-radius-sm) var(--pnsa-radius-sm); overflow: hidden; }
body.pnsa-shell .wp-switch-editor { border-radius: var(--pnsa-radius-sm) var(--pnsa-radius-sm) 0 0; }
body.pnsa-shell .form-table th { color: var(--pnsa-foreground); font-weight: 500; }
body.pnsa-shell p.description,
body.pnsa-shell .form-table td p.description { color: var(--pnsa-muted-fg); }

/* Extensions et thèmes */
body.pnsa-shell .plugins .active th.check-column,
body.pnsa-shell .plugin-update-tr.active td { border-left-color: var(--pnsa-primary); }
body.pnsa-shell .plugins .active td,
body.pnsa-shell .plugins .active th { background: color-mix(in oklab, var(--pnsa-primary-soft) 45%, transparent); }
body.pnsa-shell .plugins tr.inactive td,
body.pnsa-shell .plugins tr.inactive th { background: transparent; }
body.pnsa-shell .plugin-card { border-radius: var(--pnsa-radius); border-color: var(--pnsa-border); overflow: hidden; box-shadow: var(--pnsa-shadow-sm); }
body.pnsa-shell .theme-browser .theme { border-radius: var(--pnsa-radius); overflow: hidden; box-shadow: 0 0 0 1px var(--pnsa-border), var(--pnsa-shadow-sm); border: 0; }
body.pnsa-shell .theme-browser .theme .theme-name { background: var(--pnsa-surface); color: var(--pnsa-foreground); box-shadow: inset 0 1px 0 var(--pnsa-border); }
body.pnsa-shell .theme-browser .theme.active .theme-name { background: var(--pnsa-sidebar); color: var(--pnsa-sidebar-fg); }

/* Avis */
body.pnsa-shell .notice,
body.pnsa-shell div.updated,
body.pnsa-shell div.error {
	margin: 12px 0; padding: 10px 14px;
	border: 1px solid var(--pnsa-border); border-left-width: 4px; border-radius: var(--pnsa-radius-sm);
	background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-sm); color: var(--pnsa-foreground);
}
body.pnsa-shell .notice p,
body.pnsa-shell div.updated p,
body.pnsa-shell div.error p { margin: 4px 0; font-size: 13.5px; }
body.pnsa-shell .notice-success,
body.pnsa-shell div.updated { border-left-color: var(--pnsa-success); }
body.pnsa-shell .notice-error,
body.pnsa-shell div.error { border-left-color: var(--pnsa-danger); }
body.pnsa-shell .notice-warning { border-left-color: var(--pnsa-warning); }
body.pnsa-shell .notice-info { border-left-color: var(--pnsa-primary); }
body.pnsa-shell .notice-dismiss { top: 50%; transform: translateY(-50%); }
body.pnsa-screen #wpbody-content > .notice,
body.pnsa-screen #wpbody-content > div.updated,
body.pnsa-screen #wpbody-content > div.error { margin: 16px 32px 0; }

/* Aide contextuelle et options d'écran */
body.pnsa-shell #screen-meta-links { margin: 0 32px 0 0; }
body.pnsa-shell #screen-meta-links .show-settings { margin-top: 12px; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm); background: var(--pnsa-surface); color: var(--pnsa-muted-fg); box-shadow: var(--pnsa-shadow-sm); }
body.pnsa-shell #screen-meta { margin: 12px 32px 0; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius); background: var(--pnsa-surface); box-shadow: var(--pnsa-shadow-sm); }

/* WooCommerce : écrans entièrement en React (analytics, marketing, extensions) */
body.pnsa-shell:not(.woocommerce-embed-page) .woocommerce-layout__header { top: var(--pnsa-topbar-h) !important; width: calc(100% - var(--pnsa-sidebar-w)) !important; border-bottom: 1px solid var(--pnsa-border); background: var(--pnsa-surface); box-shadow: none; }
body.pnsa-shell .woocommerce-layout__header-heading { font-family: var(--pnsa-display); font-weight: 700; }
body.pnsa-shell #wpbody .woocommerce-layout,
body.pnsa-shell .woocommerce-layout__main { background: transparent; }
body.pnsa-shell .woocommerce-embed-page #wpbody-content { padding-top: 0; }

/* WooCommerce : fiches produit et commande */
body.pnsa-shell #woocommerce-product-data ul.wc-tabs { background: color-mix(in oklab, var(--pnsa-muted) 60%, transparent); border-right-color: var(--pnsa-border); }
body.pnsa-shell #woocommerce-product-data ul.wc-tabs li a { color: var(--pnsa-muted-fg); border-bottom-color: var(--pnsa-border); }
body.pnsa-shell #woocommerce-product-data ul.wc-tabs li.active a { background: var(--pnsa-surface); color: var(--pnsa-foreground); font-weight: 600; }
body.pnsa-shell #woocommerce-product-data .panel-wrap { background: var(--pnsa-surface); }
body.pnsa-shell #woocommerce-product-data .postbox-header .type_box { font-weight: 400; }
body.pnsa-shell .woocommerce-order-data h2 { font-family: var(--pnsa-display); font-weight: 700; }
body.pnsa-shell #order_data { padding: 20px 24px; }
body.pnsa-shell mark.order-status { border-radius: 999px; padding: 0 10px; font-weight: 500; line-height: 2; }
body.pnsa-shell ul.order_notes li .note_content { border-radius: var(--pnsa-radius-sm); }

/* Médiathèque */
body.pnsa-shell .media-frame-content,
body.pnsa-shell .attachments-browser .media-toolbar { background: var(--pnsa-surface); }
body.pnsa-shell .wp-filter { border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius); box-shadow: var(--pnsa-shadow-sm); background: var(--pnsa-surface); margin: 12px 0 16px; }
body.pnsa-shell .attachments .attachment-preview { border-radius: var(--pnsa-radius-sm); overflow: hidden; }

/* Thème sombre : surfaces des écrans natifs les plus courants */
body.pnsa-theme-dark #wpbody-content,
body.pnsa-theme-dark .wrap,
body.pnsa-theme-dark .form-table th,
body.pnsa-theme-dark label,
body.pnsa-theme-dark .wp-list-table .column-name,
body.pnsa-theme-dark #poststuff { color: var(--pnsa-foreground); }
body.pnsa-theme-dark .wp-core-ui .button-disabled,
body.pnsa-theme-dark .button[disabled] { background: var(--pnsa-muted) !important; color: var(--pnsa-muted-fg) !important; }
body.pnsa-theme-dark .postbox .inside,
body.pnsa-theme-dark .woocommerce_options_panel,
body.pnsa-theme-dark #woocommerce-order-items .inside,
body.pnsa-theme-dark .wc-metaboxes-wrapper,
body.pnsa-theme-dark .woocommerce table.form-table,
body.pnsa-theme-dark .media-frame,
body.pnsa-theme-dark .attachments-browser .media-toolbar { background: var(--pnsa-surface); color: var(--pnsa-foreground); }
body.pnsa-theme-dark #screen-meta,
body.pnsa-theme-dark .plugin-card,
body.pnsa-theme-dark .plugin-card-bottom { background: var(--pnsa-surface); border-color: var(--pnsa-border); color: var(--pnsa-foreground); }
body.pnsa-theme-dark .plugin-card-bottom { background: var(--pnsa-muted); }
body.pnsa-theme-dark .wp-list-table .toggle-row::before { color: var(--pnsa-muted-fg); }
body.pnsa-theme-dark #titlediv #title,
body.pnsa-theme-dark .wp-editor-area,
body.pnsa-theme-dark #wp-content-editor-tools,
body.pnsa-theme-dark .quicktags-toolbar { background: var(--pnsa-surface); color: var(--pnsa-foreground); border-color: var(--pnsa-border); }
body.pnsa-theme-dark .wp-switch-editor { background: var(--pnsa-muted); color: var(--pnsa-muted-fg); border-color: var(--pnsa-border); }
body.pnsa-theme-dark .html-active .switch-html,
body.pnsa-theme-dark .tmce-active .switch-tmce { background: var(--pnsa-surface); color: var(--pnsa-foreground); }
body.pnsa-theme-dark #submitdiv #major-publishing-actions,
body.pnsa-theme-dark #submitdiv .misc-pub-section { color: var(--pnsa-foreground); }
body.pnsa-theme-dark .select2-container--default .select2-results__option[aria-selected="true"],
body.pnsa-theme-dark .select2-container--default .select2-results__option[data-selected="true"] { background: var(--pnsa-muted); }

/* Thème sombre : fiches commande et produit de WooCommerce */
body.pnsa-theme-dark #woocommerce-order-items .inside,
body.pnsa-theme-dark .woocommerce_order_items_wrapper,
body.pnsa-theme-dark table.woocommerce_order_items,
body.pnsa-theme-dark table.woocommerce_order_items thead th,
body.pnsa-theme-dark #woocommerce-order-items .wc-order-data-row,
body.pnsa-theme-dark #woocommerce-order-items .wc-order-totals-items,
body.pnsa-theme-dark #woocommerce-order-items .refund-actions,
body.pnsa-theme-dark .order_data_column,
body.pnsa-theme-dark #order_data,
body.pnsa-theme-dark ul.order_notes li .note_content,
body.pnsa-theme-dark #woocommerce-product-data .panel,
body.pnsa-theme-dark #woocommerce-product-data .wc-metaboxes-wrapper .wc-metabox,
body.pnsa-theme-dark .woocommerce-help-tip::after,
body.pnsa-theme-dark .select2-container--default .select2-selection--single,
body.pnsa-theme-dark .select2-container--default .select2-selection--multiple,
body.pnsa-theme-dark .select2-dropdown { background: var(--pnsa-surface) !important; border-color: var(--pnsa-border) !important; color: var(--pnsa-foreground) !important; }
body.pnsa-theme-dark table.woocommerce_order_items tbody tr td,
body.pnsa-theme-dark table.woocommerce_order_items thead th,
body.pnsa-theme-dark #woocommerce-order-items .wc-order-totals .label,
body.pnsa-theme-dark #woocommerce-order-items .wc-order-totals .total,
body.pnsa-theme-dark .order_data_column p,
body.pnsa-theme-dark .order_data_column label,
body.pnsa-theme-dark #order_data p.woocommerce-order-data__meta,
body.pnsa-theme-dark #woocommerce-product-data label,
body.pnsa-theme-dark .woocommerce_options_panel label,
body.pnsa-theme-dark .select2-container--default .select2-selection__rendered { color: var(--pnsa-foreground) !important; }
body.pnsa-theme-dark #order_data p.woocommerce-order-data__meta,
body.pnsa-theme-dark table.woocommerce_order_items thead th { color: var(--pnsa-muted-fg) !important; }
body.pnsa-theme-dark ul.order_notes li .note_content::after { border-color: var(--pnsa-surface) transparent !important; }
body.pnsa-theme-dark ul.order_notes li.system-note .note_content { background: var(--pnsa-muted) !important; }
body.pnsa-theme-dark ul.order_notes li.customer-note .note_content { background: var(--pnsa-primary-soft) !important; }
body.pnsa-theme-dark .woocommerce-layout__header,
body.pnsa-theme-dark .woocommerce-layout__activity-panel-tabs { background: var(--pnsa-surface) !important; color: var(--pnsa-foreground); }
body.pnsa-theme-dark .woocommerce-layout__header-heading,
body.pnsa-theme-dark .woocommerce-layout__header h1 { color: var(--pnsa-foreground) !important; }

/* 7. Petits écrans ──────────────────────────────────────────────────────── */
@media (max-width: 1023px) {
	body.pnsa-shell #wpcontent,
	body.pnsa-shell #wpfooter { margin-left: 0; }
	body.pnsa-shell .woocommerce-layout__header { width: 100% !important; }
	.pnsa-sidebar { width: 264px; transform: translateX(-100%); transition: transform .2s ease; box-shadow: var(--pnsa-shadow-lg); }
	body.pnsa-drawer-open .pnsa-sidebar { transform: none; }
	.pnsa-sidebar__close { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: var(--pnsa-radius-sm); background: transparent; color: var(--pnsa-sidebar-fg); cursor: pointer; }
	.pnsa-sidebar__close .pnsa-icon { width: 18px; height: 18px; }
	.pnsa-topbar__menu { display: grid !important; }
	.pnsa-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pnsa-grid--3,
	.pnsa-grid--2 { grid-template-columns: minmax(0, 1fr); }
	.pnsa-span-2 { grid-column: auto; }
	body.pnsa-shell .pnsa-fsec { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
/* Une carte de formulaire étroite (colonne, petit écran) passe les étiquettes au-dessus des champs. */
@container pnsa-form (max-width: 680px) {
	body.pnsa-shell table.form-table > tbody > tr { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	body.pnsa-shell table.form-table > tbody > tr > th { padding-top: 0; }
}
@media (max-width: 782px) {
	body.pnsa-shell #wpbody { padding-top: 0; }
	.pnsa-topbar { padding: 0 12px; }
	.pnsa-page,
	body.pnsa-shell #wpbody-content > .wrap,
	body.pnsa-shell #wpbody-content > .woocommerce,
	body.pnsa-shell #wpbody-content > .litespeed-wrap,
	body.pnsa-shell #wpbody-content > form,
	.pnsa-native-head { margin: 16px 16px 0; }
	body.pnsa-shell #screen-meta { margin: 12px 16px 0; }
	body.pnsa-shell #screen-meta-links { margin-right: 16px; }
	body.pnsa-shell table.form-table { padding: 4px 16px; }
	body.pnsa-shell .tablenav .tablenav-pages { margin-left: 0; }
	body.pnsa-screen #wpbody-content > .notice { margin: 12px 16px 0; }
	.pnsa-page-header { flex-direction: column; }
	.pnsa-page-header h1 { font-size: 22.4px; }
	.pnsa-topbar__create span,
	.pnsa-topbar__help,
	.pnsa-account__name,
	.pnsa-kbd[data-pnsa-shortcut] { display: none; }
	.pnsa-topbar__create { width: 36px; padding: 0; }
	.pnsa-topbar__create .pnsa-icon--xs { display: none; }
	.pnsa-grid--4 { grid-template-columns: minmax(0, 1fr); }
	.pnsa-section__body { padding: 16px; }
	.pnsa-row { padding: 12px 16px; }
	.pnsa-table .is-hide-sm { display: none; }
	.pnsa-table { min-width: 560px; }

	/* Tableaux en cartes : chaque ligne devient un bloc, chaque cellule rappelle sa colonne. */
	.pnsa-table.pnsa-table--cards { min-width: 0; }
	.pnsa-table--cards thead { display: none; }
	.pnsa-table--cards,
	.pnsa-table--cards tbody,
	.pnsa-table--cards tr { display: block; width: 100%; box-sizing: border-box; }
	.pnsa-table--cards tr { position: relative; box-sizing: border-box; padding: 12px 16px; border-bottom: 1px solid var(--pnsa-border); }
	.pnsa-table--cards tbody tr:last-child { border-bottom: 0; }
	.pnsa-table--cards td { box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 30px; padding: 3px 0; border: 0; text-align: right; }
	.pnsa-table--cards td::before { content: attr(data-label); flex: none; font-size: 12.5px; font-weight: 500; text-align: left; color: var(--pnsa-muted-fg); }
	.pnsa-table--cards td.is-num { justify-content: space-between; }
	.pnsa-table--cards td[data-primary] { display: block; min-height: 0; padding: 0 36px 8px 0; text-align: left; }
	.pnsa-table--cards td[data-primary]::before,
	.pnsa-table--cards td.is-check::before,
	.pnsa-table--cards td[data-label=""]::before { display: none; }
	.pnsa-table--cards tr:has(> td.is-check:first-child) > td[data-primary] { padding-left: 30px; }
	.pnsa-table--cards td.is-check { position: absolute; top: 12px; min-height: 0; padding: 0; }
	.pnsa-table--cards td.is-check:first-child { left: 16px; }
	.pnsa-table--cards td.is-check:last-child:not(:first-child) { right: 12px; }
	.pnsa-table--cards .pnsa-cell-value { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 2px 8px; min-width: 0; }
	.pnsa-table--cards .pnsa-cell-value > * { min-width: 0; }
	.pnsa-table--cards .pnsa-cell-value .pnsa-cell-sub { width: 100%; }
	.pnsa-topbar__actions { gap: 0; }
	.pnsa-account { margin-left: 0; padding: 4px; }
}
/* ── Nuanciers ───────────────────────────────────────────────────────── */
.pnsa-sw-preview { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 16px; padding: 14px 16px; border-radius: var(--pnsa-radius-sm); background: var(--pnsa-muted); color: var(--pnsa-foreground); }
.pnsa-sw-preview__label { width: 100%; font-size: 12.5px; color: var(--pnsa-muted-fg); }
.pnsa-sw-preview .pnsa-sw { --pnsa-sw-size: 36px; --pnsa-sw-radius: 999px; --pnsa-sw-accent: var(--pnsa-primary); --pnsa-sw-line: var(--pnsa-border-strong); }
.pnsa-sw-preview .pnsa-sw--sm { --pnsa-sw-size: 28px; }
.pnsa-sw-preview .pnsa-sw--lg { --pnsa-sw-size: 46px; }
.pnsa-sw-preview .pnsa-sw--rounded { --pnsa-sw-radius: 8px; }
.pnsa-sw-preview .pnsa-sw--square { --pnsa-sw-radius: 2px; }
.pnsa-sw-preview .pnsa-sw__list { display: flex; gap: 8px; }
.pnsa-sw-preview .pnsa-sw__item { position: relative; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: var(--pnsa-sw-size); height: var(--pnsa-sw-size); padding: 3px; border: 1px solid var(--pnsa-sw-line); border-radius: var(--pnsa-sw-radius); }
.pnsa-sw-preview .pnsa-sw__item--color { width: var(--pnsa-sw-size); }
.pnsa-sw-preview .pnsa-sw__color { display: block; width: 100%; height: 100%; border-radius: calc(var(--pnsa-sw-radius) - 2px); }
.pnsa-sw-preview .pnsa-sw--circle .pnsa-sw__color { border-radius: 999px; }
.pnsa-sw-preview .pnsa-sw__item--button { padding: 0 12px; font-size: 13px; font-weight: 500; }
.pnsa-sw-preview .pnsa-sw__item.is-selected { border-color: var(--pnsa-sw-accent); box-shadow: inset 0 0 0 1px var(--pnsa-sw-accent); }
.pnsa-sw-preview .pnsa-sw__item--button.is-selected { background: var(--pnsa-sw-accent); color: var(--pnsa-primary-fg); }
.pnsa-sw-preview .pnsa-sw--out-fade .is-out,
.pnsa-sw-preview .pnsa-sw--out-cross .is-out { opacity: .5; }
.pnsa-sw-preview .pnsa-sw--out-hide .is-out { display: none; }
.pnsa-sw-preview .pnsa-sw--out-cross .is-out::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(to top right, transparent calc(50% - 1px), currentColor calc(50% - 1px), currentColor calc(50% + 1px), transparent calc(50% + 1px)); }

.pnsa-sw-attr { padding: 18px 20px; border-top: 1px solid var(--pnsa-border); }
.pnsa-sw-attr:first-child { border-top: 0; }
.pnsa-sw-attr__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 12px; }
.pnsa-sw-attr__title { display: flex; align-items: baseline; gap: 10px; }
.pnsa-sw-attr__title h3 { margin: 0; font-size: 15px; font-weight: 600; color: var(--pnsa-foreground); }
.pnsa-sw-attr__title .pnsa-muted { font-size: 12.5px; }
.pnsa-sw-attr__types .pnsa-choices__item > span { min-height: 30px; padding: 4px 12px; font-size: 13px; }
.pnsa-sw-terms { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.pnsa-sw-term-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; grid-template-areas: "swatch name delete" "swatch controls controls"; align-items: center; gap: 6px 10px; min-width: 0; margin: 0; padding: 8px 10px; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-sm); background: var(--pnsa-surface); }
.pnsa-sw-term-row__swatch { grid-area: swatch; align-self: start; }
.pnsa-sw-term-row__name { grid-area: name; }
.pnsa-sw-term-row__controls { grid-area: controls; }
.pnsa-sw-term-row__delete { grid-area: delete; }
.pnsa-sw-term-row--add { grid-template-columns: 34px minmax(0, 1fr); grid-template-areas: "swatch name"; }
.pnsa-sw-term-row--add .pnsa-input { grid-area: name; }
.pnsa-sw-term-row__swatch { position: relative; flex: none; display: grid; place-items: center; width: 34px; height: 34px; overflow: hidden; border-radius: 999px; background: var(--sw, repeating-conic-gradient(var(--pnsa-muted) 0 25%, var(--pnsa-surface) 0 50%) 50% / 10px 10px); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--pnsa-foreground) 14%, transparent); color: var(--pnsa-muted-fg); }
.pnsa-sw-term-row__swatch img { width: 100%; height: 100%; object-fit: cover; }
.pnsa-sw-term-row__swatch--add { background: var(--pnsa-muted); box-shadow: none; }
.pnsa-sw-term-row__swatch--add .pnsa-icon { width: 16px; height: 16px; }
.pnsa-sw-term-row__name { flex: 1 1 auto; min-width: 0; }
.pnsa-sw-term-row__name strong { display: block; overflow: hidden; font-size: 13.5px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; color: var(--pnsa-foreground); }
.pnsa-sw-term-row__name span { display: block; font-size: 12px; color: var(--pnsa-muted-fg); }
.pnsa-sw-term-row__controls { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
body.pnsa-shell .pnsa-sw-term-row__controls .pnsa-color-field input[type="color"] { width: 30px; height: 30px; }
body.pnsa-shell .pnsa-sw-term-row__controls .pnsa-color-field .pnsa-input { width: 78px !important; height: 30px; min-height: 30px; padding: 0 8px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.pnsa-sw-term-row__controls .pnsa-color-field { gap: 4px; }
.pnsa-sw-term-row__controls .pnsa-btn .pnsa-icon { width: 14px; height: 14px; }
body.pnsa-shell .pnsa-sw-term-row--add .pnsa-input { flex: 1; min-width: 0; }
.pnsa-sw-term-row__delete { flex: none; color: var(--pnsa-muted-fg) !important; }
.pnsa-sw-term-row__delete:hover { color: var(--pnsa-danger) !important; }
.pnsa-sw-attr:not([data-type="color"]):not([data-type="image"]) .pnsa-sw-term-row__controls { display: none; }
.pnsa-sw-attr:not([data-type="color"]):not([data-type="image"]) .pnsa-sw-term-row { grid-template-areas: "swatch name delete"; }
.pnsa-sw-attr[data-type="image"] .pnsa-sw-only-color { display: none; }
.pnsa-sw-new { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 180px); gap: 0 12px; }
.pnsa-sw-new .pnsa-frow { padding: 0; border: 0; }
@media (max-width: 782px) {
	.pnsa-sw-terms { grid-template-columns: minmax(0, 1fr); }
	.pnsa-sw-new { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.pnsa-sw-attr { padding: 16px; }
}

/* Éditeur produit : nuancier d'une option */
.pnsa-pe-swatch { grid-column: 1 / -1; margin-top: 4px; padding: 12px; border-radius: var(--pnsa-radius-sm); background: var(--pnsa-muted); }
.pnsa-pe-swatch[hidden] { display: none; }
.pnsa-pe-swatch__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.pnsa-pe-swatch__label { font-size: 12.5px; font-weight: 600; color: var(--pnsa-foreground); }
.pnsa-pe-swatch__types { padding: 3px; }
.pnsa-pe-swatch__types button { margin: 0; padding: 5px 10px; border: 0; border-radius: var(--pnsa-radius-sm); background: transparent; font: 500 12px/1.3 var(--pnsa-font); color: var(--pnsa-muted-fg); cursor: pointer; }
.pnsa-pe-swatch__types button:hover { background: var(--pnsa-muted); }
.pnsa-pe-swatch__types button.is-active { background: var(--pnsa-primary); color: var(--pnsa-primary-fg); }
.pnsa-pe-swatch__note { margin: 0; font-size: 12px; color: var(--pnsa-muted-fg); }
.pnsa-pe-swatch__values + .pnsa-pe-swatch__note,
.pnsa-pe-swatch__head + .pnsa-pe-swatch__note { margin-top: 8px; }
.pnsa-pe-swatch__scope { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--pnsa-foreground); }
.pnsa-pe-swatch__values { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.pnsa-pe-swatch__values li { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; padding: 5px 8px; border-radius: var(--pnsa-radius-sm); background: var(--pnsa-surface); }
.pnsa-pe-swatch__dot { flex: none; display: grid; place-items: center; width: 26px; height: 26px; overflow: hidden; border-radius: 999px; background: var(--sw, repeating-conic-gradient(var(--pnsa-muted) 0 25%, var(--pnsa-surface) 0 50%) 50% / 8px 8px); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--pnsa-foreground) 14%, transparent); }
.pnsa-pe-swatch__dot img { width: 100%; height: 100%; object-fit: cover; }
.pnsa-pe-swatch__name { flex: 1 1 72px; min-width: 64px; overflow: hidden; font-size: 13px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; color: var(--pnsa-foreground); }
body.pnsa-shell .pnsa-pe-swatch__values input[type="color"] { flex: none; width: 26px; height: 26px; padding: 2px; border: 1px solid var(--pnsa-input); border-radius: 6px; background: var(--pnsa-surface); cursor: pointer; }
body.pnsa-shell .pnsa-pe-swatch__values input[type="color"].is-empty { opacity: .4; }
.pnsa-pe-swatch__values .pnsa-btn--xs { height: 26px; padding: 0 8px; font-size: 12px; }

/* Éditeur produit : galerie d'une déclinaison */
.pnsa-pe-grid__gallery { flex: none; display: grid; place-items: center; min-width: 30px; height: 30px; margin: 0 4px 0 -2px; padding: 0 6px; border: 1px dashed var(--pnsa-border-strong); border-radius: var(--pnsa-radius-sm); background: transparent; font: 600 11.5px/1 var(--pnsa-font); color: var(--pnsa-muted-fg); cursor: pointer; }
.pnsa-pe-grid__gallery .pnsa-icon { width: 14px; height: 14px; }
.pnsa-pe-grid__gallery:hover { border-color: var(--pnsa-primary); color: var(--pnsa-primary); }
.pnsa-pe-grid__gallery.has-photos { border-style: solid; border-color: var(--pnsa-primary); background: var(--pnsa-primary-soft); color: var(--pnsa-accent-fg); }

/* ── Mode vacances ─────────────────────────────────────────────────────── */
.pnsa-topbar__vacation { gap: 6px; margin-right: 6px; padding: 4px 10px; text-decoration: none; white-space: nowrap; }
.pnsa-topbar__vacation .pnsa-icon { width: 14px; height: 14px; }
.pnsa-topbar__vacation:hover { filter: brightness(.97); }
.pnsa-note--vacation { align-items: center; margin-bottom: 16px; background: var(--pnsa-warning-soft); border-color: transparent; color: var(--pnsa-warning-fg); }
.pnsa-note--vacation .pnsa-icon { color: var(--pnsa-warning-fg); }
.pnsa-note--vacation strong { color: inherit; }
.pnsa-note--vacation .pnsa-link { color: inherit !important; text-decoration: underline; }
.pnsa-note__action { flex: none; margin: 0 0 0 auto; }
.pnsa-vacation-preview { overflow: hidden; border: 1px solid var(--pnsa-border); border-radius: var(--pnsa-radius-md); background: #fff; color: #1f2430; }
.pnsa-vacation-preview__chrome { display: flex; align-items: center; gap: 6px; padding: 8px 12px; border-bottom: 1px solid #ecebe7; background: #f6f5f2; }
.pnsa-vacation-preview__chrome i { width: 9px; height: 9px; border-radius: 999px; background: #d9d6cf; }
.pnsa-vacation-preview__chrome span { flex: 0 1 280px; margin: 0 auto; padding: 3px 10px; overflow: hidden; border-radius: 999px; background: #fff; font-size: 11.5px; text-align: center; text-overflow: ellipsis; white-space: nowrap; color: #6b7280; }
.pnsa-vacation-preview__site { position: relative; display: flex; flex-direction: column; min-height: 250px; }
.pnsa-vacation-preview__banner { order: 0; padding: 9px 16px; background: var(--pnsa-vacation-bg, #1f2430); color: var(--pnsa-vacation-fg, #fff); font-size: 13px; line-height: 1.45; text-align: center; transition: opacity .15s ease; }
.pnsa-vacation-preview__banner p { margin: 0; color: inherit; font-size: inherit; }
.pnsa-vacation-preview__banner a { color: inherit; text-decoration: underline; }
.pnsa-vacation-preview__banner.is-off { opacity: .45; }
.pnsa-vacation-preview__banner[hidden] { display: none; }
.pnsa-vacation-preview__banner.is-bottom { order: 2; margin-top: auto; }
.pnsa-vacation-preview__page { order: 1; display: grid; gap: 16px; padding: 16px 20px 20px; }
.pnsa-vacation-preview__header { display: flex; align-items: center; gap: 14px; }
.pnsa-vacation-preview__header b { width: 72px; height: 12px; margin-right: auto; border-radius: 4px; background: #3a3f4a; }
.pnsa-vacation-preview__header em { width: 44px; height: 7px; border-radius: 4px; background: #dedbd4; }
.pnsa-vacation-preview__products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pnsa-vacation-preview__products span { height: 120px; border-radius: 8px; background: linear-gradient(#efece6 0 70%, transparent 70% 76%, #e4e1da 76% 84%, transparent 84% 90%, #ecebe7 90%); }
@media (max-width: 782px) {
	.pnsa-topbar__vacation span { display: none; }
	.pnsa-topbar__vacation { margin-right: 2px; padding: 6px; }
	.pnsa-vacation-preview__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
	body.pnsa-shell * { transition-duration: 0s !important; animation: none !important; }
}

/* Compatibilité : notices d'autres extensions (Elementor…) qui, en flex sans retour à la ligne,
   élargissaient la page sur mobile. Leur contenu se resserre, leurs boutons passent à la ligne. */
body.pnsa-shell #wpbody-content .notice { max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere; }
body.pnsa-shell #wpbody-content .notice > * { min-width: 0; }
body.pnsa-shell #wpbody-content .notice [class*="actions"] { flex-wrap: wrap; }
@media (max-width: 782px) {
	body.pnsa-shell #wpbody-content .notice .e-button,
	body.pnsa-shell #wpbody-content .notice [class*="actions"] a { white-space: normal; }
	/* Infobulles de présentation (wp-pointer) : placées à côté de leur cible, elles sortaient de l'écran. */
	body.pnsa-shell .wp-pointer { left: 12px !important; right: 12px; width: auto !important; max-width: none; }
	body.pnsa-shell .wp-pointer .wp-pointer-arrow { display: none; }
}

/* Compatibilité : boutons posés par d'autres extensions sous la barre d'administration de WordPress (absente ici). */
body.pnsa-shell .litespeed-dark-mode-toggle { display: none !important; }
