/* =====================================================================
 * PrintInk — feuille de style du site (Flatsome + WooCommerce)
 * Design system v4 « Atelier d'impression »
 *   papier chaud · encre noire · cyan / magenta / jaune process (CMJN)
 *   repères de coupe, barres de contrôle couleur, trame demi-teinte.
 *   Typo : Archivo (grotesque, graisses lourdes) — voix d'imprimerie moderne.
 *
 * Thème Flatsome sans thème enfant : aucun template touché, tout passe par
 * cette feuille (chargée par le plugin, versionnée, cacheable).
 * ================================================================== */

/* ------------------------------ 1. Tokens ------------------------------ */
:root{
	/* encre & papier */
	--pi-ink:#111111; --pi-ink-2:#3f3f3f; --pi-ink-3:#767676;
	--pi-line:#e4e1d8; --pi-line-2:#efece5; --pi-bg:#fbfaf7; --pi-bg-2:#f3f1ea; --pi-paper:#ffffff;
	/* process CMJN (celles du logo) */
	--pi-cyan:#12b3e6; --pi-cyan-ink:#0a8dbd; --pi-cyan-soft:#e3f5fc;
	--pi-magenta:#e6007e; --pi-magenta-soft:#fce7f2;
	--pi-yellow:#ffe500; --pi-yellow-soft:#fff9c2;
	/* rôle « primaire » : l'encre. Les accents CMJN soulignent, ils ne crient pas. */
	--pi-primary:#111111; --pi-primary-2:#2a2a2a; --pi-primary-hover:#0a8dbd;
	--pi-primary-soft:#e3f5fc; --pi-primary-line:#9fdcf3;
	--pi-ok:#15803d; --pi-ok-bg:#eefbf1; --pi-err:#d11a2a; --pi-err-bg:#fff1f2; --pi-warn-bg:#fff9c2;
	--pi-ring:rgba(18,179,230,.22); --pi-ring-strong:rgba(18,179,230,.55);
	/* dégradés : le « primaire » est plein (encre) ; la barre CMJN sert de signature */
	--pi-grad:linear-gradient(180deg,#151515 0%,#111 100%);
	--pi-grad-hover:linear-gradient(180deg,#0f9ed2 0%,#0a8dbd 100%);
	--pi-grad-warm:linear-gradient(135deg,#e6007e 0%,#ffe500 100%);
	--pi-cmyk:linear-gradient(90deg,var(--pi-cyan) 0 25%,var(--pi-magenta) 25% 50%,var(--pi-yellow) 50% 75%,var(--pi-ink) 75% 100%);
	--pi-cmyk-soft:linear-gradient(90deg,var(--pi-cyan),var(--pi-magenta),var(--pi-yellow));
	/* trame demi-teinte : fond discret des sections « atelier » */
	--pi-halftone:radial-gradient(circle at 1px 1px,rgba(17,17,17,.10) 1px,transparent 1.6px);
	--pi-wash:linear-gradient(180deg,#f3f1ea 0%,#fbfaf7 100%);

	--pi-font:"Archivo","Segoe UI",Arial,sans-serif;
	--pi-fs-11:11px; --pi-fs-12:12px; --pi-fs-13:13px; --pi-fs-14:14px; --pi-fs-15:15px;
	--pi-fs-16:16px; --pi-fs-18:18px; --pi-fs-22:22px; --pi-fs-28:28px; --pi-fs-36:36px;
	--pi-1:4px; --pi-2:8px; --pi-3:12px; --pi-4:16px; --pi-5:20px; --pi-6:24px;
	--pi-8:32px; --pi-10:40px; --pi-12:48px;
	--pi-r-sm:4px; --pi-r:6px; --pi-r-lg:10px; --pi-r-xl:14px; --pi-r-full:999px;
	--pi-border:1px solid var(--pi-line);
	--pi-sh-soft:0 1px 2px rgba(17,17,17,.05);
	--pi-sh-lift:0 12px 28px rgba(17,17,17,.10),0 2px 6px rgba(17,17,17,.06);
	--pi-sh-cta:0 6px 16px rgba(17,17,17,.20);
	--pi-sh-hard:4px 4px 0 var(--pi-ink);
	--pi-t:160ms ease;
	/* Flatsome : on aligne ses propres variables sur la charte */
	--primary-color:#111111!important; --fs-color-primary:#111111; --fs-color-secondary:#12b3e6;
	--fs-experimental-link-color:#0a8dbd; --fs-experimental-link-color-hover:#111;
}

/* -------------------------- 0. Cadre du site --------------------------- */
/* barre d'annonce : encre, texte papier, un point jaune */
#top-bar,.header-top{background:var(--pi-ink)!important;min-height:36px}
#top-bar .nav>li>a,#top-bar .nav>li,#top-bar .html strong{color:#fff!important;font-size:var(--pi-fs-12)!important;font-weight:600;letter-spacing:.06em}
#top-bar .html_topbar_left strong::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--pi-yellow);margin-right:10px;vertical-align:1px}
#top-bar .nav-divided>li+li{border-color:rgba(255,255,255,.14)!important}
#top-bar .social-icons a{color:#fff!important;opacity:.8}
/* en-tête : papier blanc, barre CMJN fine en bas (la signature) */
#masthead,.header-main,.header-wrapper{background:var(--pi-paper)!important}
.header-wrapper{box-shadow:none!important;border-bottom:var(--pi-border)}
.header-wrapper::after{content:"";display:block;height:4px;background:var(--pi-cmyk)}
.header-shadow .header-wrapper,.header.has-sticky.sticky-jump .header-wrapper{box-shadow:none!important}
.header-nav-main.nav>li>a{font-weight:700!important;font-size:var(--pi-fs-13)!important;letter-spacing:.08em;color:var(--pi-ink)!important}
.header-nav-main.nav>li>a:hover,.header-nav-main.nav>li.current-menu-item>a{color:var(--pi-cyan-ink)!important}
.nav>li>a::after{display:none}
.header-nav-main.nav>li>a .icon-angle-down{color:var(--pi-ink-3)}
.nav-dropdown{border:var(--pi-border)!important;border-radius:var(--pi-r-lg);box-shadow:var(--pi-sh-lift)!important;padding:8px!important}
.nav-dropdown>li>a{border-radius:var(--pi-r);font-weight:600;color:var(--pi-ink)!important;text-transform:none;letter-spacing:0;font-size:var(--pi-fs-14)}
.nav-dropdown>li>a:hover{background:var(--pi-bg-2);color:var(--pi-cyan-ink)!important}
/* compte & panier : pastilles encre */
.header-button .button.is-small,.header-button .button.round{background:var(--pi-ink)!important;border-radius:var(--pi-r-full)!important;color:#fff!important;box-shadow:none!important;padding:0 16px!important;min-height:38px}
.header-button .button.is-small:hover{background:var(--pi-cyan-ink)!important;transform:none}
.header-cart-link{color:var(--pi-ink)!important}
.cart-icon strong{border-color:var(--pi-ink)!important;color:var(--pi-ink)!important;border-radius:4px;font-weight:800}
.cart-icon strong::after{border-color:var(--pi-ink)!important}
.header-cart-link:hover .cart-icon strong{background:var(--pi-yellow);border-color:var(--pi-ink)!important}
.header-search-form .search-field{min-height:44px!important}
.mobile-sidebar{background:var(--pi-paper)}
.nav-sidebar>li>a{font-weight:700;color:var(--pi-ink)!important}
/* pied de page : encre, barre CMJN en tête, titres en petites capitales */
#footer{background:var(--pi-ink);color:rgba(255,255,255,.72);position:relative}
#footer::before{content:"";display:block;height:6px;background:var(--pi-cmyk)}
#footer .footer-widgets,#footer .footer-1,#footer .footer-2{background:transparent!important;color:rgba(255,255,255,.72)}
#footer .footer-1{padding-top:56px;padding-bottom:24px}
#footer .widget-title{color:#fff;font-size:var(--pi-fs-12);font-weight:800;letter-spacing:.14em;text-transform:uppercase}
#footer .is-divider{background:var(--pi-yellow)!important;height:3px;width:28px;margin:10px 0 18px;opacity:1}
#footer a{color:#fff;font-weight:600}
#footer a:hover{color:var(--pi-yellow)}
#footer .product_list_widget li{border-color:rgba(255,255,255,.1)!important}
#footer .product_list_widget li img{border-radius:var(--pi-r);border:1px solid rgba(255,255,255,.15)}
#footer .product_list_widget .product-title{color:#fff}
#footer .amount{color:rgba(255,255,255,.72)}
#footer .social-icons .button{border-color:rgba(255,255,255,.28)!important;color:#fff!important;background:transparent!important;box-shadow:none!important}
#footer .social-icons .button:hover{background:#fff!important;color:var(--pi-ink)!important;border-color:#fff!important;transform:none}
.absolute-footer,.absolute-footer.dark{background:#0a0a0a!important;color:rgba(255,255,255,.5);font-size:var(--pi-fs-12);padding:18px 0}
.absolute-footer .footer-nav a{color:rgba(255,255,255,.7)!important;font-weight:600;letter-spacing:.06em}
.absolute-footer .footer-nav a:hover{color:var(--pi-yellow)!important}
.absolute-footer .copyright-footer{margin-top:4px}
.payment-icons .payment-icon svg{opacity:.7}
.back-to-top{background:var(--pi-ink)!important;border-color:var(--pi-ink)!important;color:#fff!important;border-radius:var(--pi-r)!important}

/* -------------------------- 2. Base & titres --------------------------- */
body{font-family:var(--pi-font);color:var(--pi-ink);font-size:var(--pi-fs-15);line-height:1.55;-webkit-font-smoothing:antialiased;background:var(--pi-bg)}
.page-wrapper,#wrapper{background:var(--pi-bg)}
#main{background:transparent}
h1,h2,h3,h4,h5{font-family:inherit;color:var(--pi-ink);font-weight:800;letter-spacing:-.025em;line-height:1.12}
.woocommerce h1,.woocommerce h2,.woocommerce h3,.woocommerce h4,
.page-title-inner h1,.page-title-inner .entry-title,.page-title-inner .uppercase,
.woocommerce-checkout h3,.woocommerce-cart h2,.woocommerce-account h2,.woocommerce-account h3,
.woocommerce-order h2{text-transform:none!important;letter-spacing:-.02em}
a{color:var(--pi-cyan-ink);font-weight:600;text-decoration:none;transition:color var(--pi-t)}
a:hover{color:var(--pi-ink)}
.amount,.price,.qty,.product-subtotal,.product-price,.order-total,.cart-subtotal{font-variant-numeric:tabular-nums}

/* en-tête de page : fond lavé, titre fort */
.page-title-inner{
	padding-top:var(--pi-10)!important;padding-bottom:var(--pi-8)!important;min-height:0!important;
	background:var(--pi-wash);border-bottom:var(--pi-border)
}
.page-title-inner .entry-title,.page-title-inner h1{font-size:var(--pi-fs-36);font-weight:800;line-height:1.1;margin:0}
.page-title-inner .is-larger,.page-title-inner .subtitle{
	display:inline-block;margin-top:var(--pi-3);padding:5px 12px;border-radius:var(--pi-r-sm);
	background:var(--pi-yellow);border:1px solid var(--pi-ink);color:var(--pi-ink);
	font-weight:700;font-size:var(--pi-fs-12);letter-spacing:.04em
}
/* libellé de section */
.pi-label,.woocommerce-cart .cart_totals h2,.woocommerce-checkout #order_review_heading,
.woocommerce table.shop_table th{
	font-size:var(--pi-fs-12);font-weight:700;letter-spacing:.06em;text-transform:uppercase!important;color:var(--pi-ink-3)
}
/* carte : le conteneur de base */
.pi-card,.woocommerce .cart_totals,.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2,
.woocommerce-checkout #order_review{
	background:#fff;border:var(--pi-border);border-radius:var(--pi-r-lg);box-shadow:var(--pi-sh-soft)
}

/* ----------------------------- 3. Boutons ----------------------------- */
.button,button.button,input[type=submit],.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce-page a.button{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;
	padding:0 var(--pi-6)!important;border-radius:var(--pi-r)!important;border:0!important;
	background-image:var(--pi-grad)!important;background-color:var(--pi-primary)!important;color:#fff!important;
	font-family:inherit;font-size:var(--pi-fs-15)!important;font-weight:600!important;letter-spacing:0!important;
	text-transform:none!important;line-height:1!important;box-shadow:var(--pi-sh-cta)!important;text-decoration:none;
	cursor:pointer;transition:transform var(--pi-t),box-shadow var(--pi-t),filter var(--pi-t)
}
.button:hover,button.button:hover,input[type=submit]:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{
	background-image:var(--pi-grad-hover)!important;color:#fff!important;transform:translateY(-2px);
	box-shadow:0 14px 30px rgba(16,16,16,.28)!important
}
.button:active,.woocommerce a.button:active{transform:translateY(0)}
/* secondaire : blanc, filet, relief léger */
.woocommerce a.button:not(.alt):not(.checkout-button):not(.wc-forward):not(.printink-studio-cta):not(.pi-btn-cta),
.woocommerce .return-to-shop .button,.woocommerce a.continue-shopping,
.woocommerce button.button.is-outline,.woocommerce .button.secondary,.woocommerce .quantity .button{
	background-image:none!important;background-color:#fff!important;color:var(--pi-ink)!important;
	border:1px solid var(--pi-line)!important;box-shadow:none!important
}
.woocommerce a.button:not(.alt):not(.checkout-button):not(.wc-forward):not(.printink-studio-cta):not(.pi-btn-cta):hover,.woocommerce .return-to-shop .button:hover{
	background-image:none!important;background-color:#fff!important;color:var(--pi-primary)!important;
	border-color:var(--pi-primary-line)!important;box-shadow:var(--pi-sh-lift)!important
}
.button[disabled],button[disabled],.button.disabled{opacity:.45!important;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.woocommerce .button.loading{position:relative;color:transparent!important}
.woocommerce .button.loading::after{content:"";position:absolute;inset:0;margin:auto;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:pi-spin .7s linear infinite}
@keyframes pi-spin{to{transform:rotate(360deg)}}
.woocommerce .blockUI.blockOverlay{background:rgba(255,255,255,.6)!important;border-radius:var(--pi-r-lg)}

/* ---------------------------- 4. Formulaires --------------------------- */
.woocommerce form .form-row{margin:0 0 var(--pi-4);padding:0}
.woocommerce form .form-row label,label{display:block;margin-bottom:6px;font-size:var(--pi-fs-13);font-weight:600;color:var(--pi-ink-2)}
.woocommerce form .form-row label .required,.required{color:var(--pi-magenta);text-decoration:none;border:0}
.woocommerce form .form-row .optional{color:var(--pi-ink-3);font-weight:500}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=password],input[type=number],
input[type=search],input[type=date],select,textarea,.select2-container--default .select2-selection--single{
	width:100%;min-height:48px;height:auto!important;padding:12px 14px!important;border:1px solid var(--pi-line)!important;
	border-radius:var(--pi-r)!important;background:#fff!important;color:var(--pi-ink);font-family:inherit;
	font-size:var(--pi-fs-15);line-height:1.4;box-shadow:none!important;transition:border-color var(--pi-t),box-shadow var(--pi-t)
}
textarea{min-height:110px;line-height:1.55}
input::placeholder,textarea::placeholder{color:var(--pi-ink-3);opacity:1}
input:hover,select:hover,textarea:hover{border-color:var(--pi-primary-line)!important}
input:focus,select:focus,textarea:focus,.select2-container--default.select2-container--open .select2-selection--single{
	border-color:var(--pi-primary)!important;outline:0;box-shadow:0 0 0 4px var(--pi-ring)!important
}
input[disabled],select[disabled],textarea[disabled]{background:var(--pi-bg-2)!important;color:var(--pi-ink-3);cursor:not-allowed}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select,
input[aria-invalid=true]{border-color:var(--pi-err)!important;box-shadow:0 0 0 4px rgba(220,38,38,.12)!important}
.woocommerce form .form-row.woocommerce-invalid label{color:var(--pi-err)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:22px;padding:0;color:var(--pi-ink)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px;right:10px}
.select2-dropdown{border-color:var(--pi-line);border-radius:var(--pi-r);box-shadow:var(--pi-sh-lift);overflow:hidden}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--pi-primary)}
.woocommerce input[type=checkbox],.woocommerce input[type=radio]{width:18px;height:18px;min-height:0;margin:0 8px 0 0;accent-color:var(--pi-primary);vertical-align:-3px}
.woocommerce label.checkbox,.woocommerce-form__label-for-checkbox{display:flex;align-items:flex-start;font-size:var(--pi-fs-14);font-weight:500;color:var(--pi-ink-2);line-height:1.5}
.woocommerce-form__label-for-checkbox input{margin-top:2px}

/* ------------------- 5. Notifications & états vides -------------------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
	display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--pi-primary-soft)!important;border:0!important;
	border-left:4px solid var(--pi-primary)!important;border-radius:var(--pi-r)!important;padding:14px 18px!important;
	margin:0 0 var(--pi-4)!important;font-size:var(--pi-fs-14);font-weight:600;color:var(--pi-ink);box-shadow:var(--pi-sh-soft)
}
.woocommerce-message{background:var(--pi-ok-bg)!important;border-left-color:var(--pi-ok)!important}
.woocommerce-error{background:var(--pi-err-bg)!important;border-left-color:var(--pi-err)!important;color:#7a1a12;display:block}
.woocommerce-error li{margin:0;padding:0;list-style:none}
.woocommerce-notices-wrapper>*+*{margin-top:var(--pi-2)}
.woocommerce-message .button,.woocommerce-info .button{float:none!important;margin:0 0 0 auto;min-height:38px;padding:0 16px!important;font-size:var(--pi-fs-13)!important}
.woocommerce .message-wrapper .message-container,.woocommerce-info .message-container{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0!important;max-width:none!important;text-align:left!important}
.woocommerce .cart-empty,.woocommerce-account .woocommerce-MyAccount-content>.woocommerce-info:last-child{
	display:block;background:#fff!important;border:2px dashed var(--pi-primary-line)!important;border-left-width:2px!important;
	border-radius:var(--pi-r-lg)!important;text-align:center;padding:var(--pi-12) var(--pi-5)!important;font-size:var(--pi-fs-16);color:var(--pi-ink-2);box-shadow:none
}
.woocommerce .return-to-shop{text-align:center;margin-top:var(--pi-5)}

/* -------------------------- 6. Tableaux -------------------------------- */
.woocommerce table.shop_table{background:#fff;border:var(--pi-border)!important;border-radius:var(--pi-r-lg)!important;border-collapse:separate!important;border-spacing:0;overflow:hidden;margin:0 0 var(--pi-4);box-shadow:var(--pi-sh-soft)}
.woocommerce table.shop_table th{background:var(--pi-bg-2);padding:12px 16px;border:0!important;border-bottom:var(--pi-border)!important;text-align:left}
.woocommerce table.shop_table td{padding:14px 16px;border:0!important;border-bottom:1px solid var(--pi-line-2)!important;font-size:var(--pi-fs-15);vertical-align:middle}
.woocommerce table.shop_table tbody tr:last-child td{border-bottom:0!important}
.woocommerce table.shop_table th:last-child,.woocommerce table.shop_table td:last-child{text-align:right}
.woocommerce table.shop_table td .button{min-height:38px;padding:0 14px!important;font-size:var(--pi-fs-13)!important}
.woocommerce-orders-table__cell-order-number a{font-weight:700}
.woocommerce-orders-table__cell-order-status{font-weight:600;color:var(--pi-ink-2)}

/* --------------------------- 7. Panier --------------------------------- */
.woocommerce-cart .woocommerce{max-width:1160px;margin-inline:auto}
.woocommerce-cart table.cart{border:0!important;margin:0;background:transparent;box-shadow:none;overflow:visible}
.woocommerce-cart table.cart thead{display:none}
.woocommerce-cart table.cart tbody{display:block}
.woocommerce-cart table.cart tbody tr.cart_item{
	position:relative;display:grid;gap:0 var(--pi-5);align-items:start;grid-template-columns:112px minmax(0,1fr) auto;
	background:#fff;border:var(--pi-border);border-radius:var(--pi-r-lg);padding:var(--pi-5) var(--pi-5) var(--pi-5) 56px;
	margin-bottom:var(--pi-3);box-shadow:var(--pi-sh-soft);transition:box-shadow var(--pi-t),transform var(--pi-t),border-color var(--pi-t)
}
.woocommerce-cart table.cart tbody tr.cart_item:hover{box-shadow:var(--pi-sh-lift);border-color:var(--pi-primary-line);transform:translateY(-2px)}
.woocommerce-cart table.cart tbody tr.cart_item td{border:0!important;padding:0!important;background:none}
.woocommerce-cart table.shop_table_responsive tr.cart_item td::before{display:none!important}
.woocommerce-cart td.product-thumbnail{grid-row:1/span 3}
.pi-thumb{position:relative;display:block;width:112px;aspect-ratio:1;border-radius:var(--pi-r);overflow:hidden;background:var(--pi-bg-2);border:var(--pi-border)}
.pi-thumb img{width:100%;height:100%;object-fit:cover;display:block;margin:0!important}
/* aperçu complet rendu par le studio : on montre tout le produit, sans rogner */
.pi-thumb-mockup,.pi-thumb-main{background:#fff}
.pi-thumb-mockup img,.pi-thumb-main img{object-fit:contain}
.pi-thumb .pi-thumb-art{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:42%;height:auto;object-fit:contain;background:none;border-radius:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.woocommerce-cart td.product-thumbnail img{border-radius:var(--pi-r)}
.woocommerce-cart td.product-name>a{display:block;font-size:var(--pi-fs-16);font-weight:700;color:var(--pi-ink);line-height:1.3}
.woocommerce-cart td.product-name>a:hover{color:var(--pi-primary)}
.woocommerce-cart td.product-name .variation{display:flex;flex-wrap:wrap;gap:6px;margin:var(--pi-2) 0 0;font-size:var(--pi-fs-13)}
.woocommerce-cart td.product-name .variation dt{float:none;clear:none;margin:0;font-weight:500;color:var(--pi-ink-3);text-transform:none}
.woocommerce-cart td.product-name .variation dd{margin:0 10px 0 0;padding:0;color:var(--pi-ink);font-weight:700}
.woocommerce-cart td.product-name .variation dd p{margin:0}
/* faces personnalisées : rangée horizontale de petites vignettes du produit
   habillé. On stylise notre propre conteneur .printink-faces : la mise en page
   ne dépend donc pas du balisage de WooCommerce ni de Flatsome. */
.woocommerce-cart td.product-name .variation dd p{width:100%}
.printink-faces{display:flex!important;flex-direction:row!important;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-start;gap:8px;width:100%;margin:4px 0 2px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.printink-faces .printink-face{flex:0 0 auto;display:inline-block;width:46px;margin:0;padding:0;text-align:center;vertical-align:top}
.printink-faces .printink-face img{display:block;width:46px!important;height:46px!important;max-width:none!important;object-fit:contain;border-radius:var(--pi-r-sm)!important;border:var(--pi-border)!important;background:#fff!important;margin:0!important;padding:0!important}
.printink-faces .printink-face em{display:block;margin-top:2px;font-style:normal;font-size:10px;font-weight:600;line-height:1.2;color:var(--pi-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.woocommerce-cart td.product-name .variation img.emoji{display:none!important}
.woocommerce-cart td.product-name .variation dd:has(.printink-face),.woocommerce-cart td.product-name .variation dd:has(.printink-edit){flex:1 0 100%;margin-right:0}
.woocommerce-cart td.product-name .variation .printink-edit{
	display:inline-flex;align-items:center;gap:6px;margin-top:var(--pi-2);padding:8px 14px;border-radius:var(--pi-r-full);
	background:var(--pi-primary-soft);color:var(--pi-primary);border:1px solid var(--pi-primary-line);font-weight:700;font-size:var(--pi-fs-13);
	transition:background-color var(--pi-t),color var(--pi-t),transform var(--pi-t)
}
.woocommerce-cart td.product-name .variation .printink-edit::before{content:"✎";font-size:14px}
.woocommerce-cart td.product-name .variation .printink-edit:hover{background:var(--pi-primary);color:#fff;transform:translateY(-1px)}
.woocommerce-cart td.product-price{grid-column:2;grid-row:2;margin-top:var(--pi-3)!important;color:var(--pi-ink-3);font-size:var(--pi-fs-13);font-weight:600}
.woocommerce-cart td.product-price::after{content:" / pièce"}
.woocommerce-cart td.product-quantity{grid-column:3;grid-row:1;justify-self:end}
.woocommerce-cart td.product-subtotal{grid-column:3;grid-row:2;justify-self:end;margin-top:var(--pi-3)!important;font-size:var(--pi-fs-18);font-weight:800;white-space:nowrap}
.woocommerce .quantity{display:inline-flex;align-items:center;border:var(--pi-border);border-radius:var(--pi-r-full);overflow:hidden;background:#fff;box-shadow:var(--pi-sh-soft)}
.woocommerce .quantity .button,.woocommerce .quantity input[type=button]{
	background:#fff!important;border:0!important;color:var(--pi-ink)!important;padding:0!important;width:40px;height:40px;min-height:0;
	font-size:var(--pi-fs-16);font-weight:700;line-height:1;border-radius:0!important;box-shadow:none!important;transform:none!important
}
.woocommerce .quantity .button:hover,.woocommerce .quantity input[type=button]:hover{background:var(--pi-primary-soft)!important;color:var(--pi-primary)!important;transform:none!important}
.woocommerce .quantity input.qty{border:0!important;border-radius:0!important;width:46px;height:40px;min-height:0;padding:0!important;text-align:center;font-size:var(--pi-fs-15);font-weight:700;box-shadow:none!important}
/* croix de suppression : à gauche de la ligne, centrée verticalement */
.woocommerce-cart td.product-remove{position:absolute;left:12px;right:auto;top:50%;transform:translateY(-50%);width:32px;height:32px}
.woocommerce-cart td.product-remove a.remove{
	display:grid!important;place-items:center;width:32px;height:32px;border-radius:var(--pi-r-full);background:var(--pi-bg-2);
	color:var(--pi-ink-3)!important;font-size:19px;font-weight:400;line-height:1;text-decoration:none;border:0;transition:background-color var(--pi-t),color var(--pi-t)
}
.woocommerce-cart td.product-remove a.remove:hover{background:var(--pi-err-bg);color:var(--pi-err)!important}
.woocommerce-cart table.cart tr:not(.cart_item){display:block;margin-top:var(--pi-2)}
.woocommerce-cart td.actions{display:flex!important;flex-wrap:wrap;gap:var(--pi-3);align-items:center;padding:0!important;border:0!important;background:none}
/* récapitulatif */
/* Colonne de droite : code promo AU-DESSUS du récapitulatif, et c'est la
   colonne entière qui devient collante (avant, seul le total l'était : il
   recouvrait le bloc code promo au défilement). */
.woocommerce-cart .cart-sidebar{position:sticky;top:92px;display:flex;flex-direction:column;gap:var(--pi-4)}
.woocommerce-cart .cart-sidebar .cart_totals{padding:var(--pi-6);position:static;order:2;margin:0}
.woocommerce-cart .cart-sidebar .ux-cart-coupon{order:1;margin:0}
.woocommerce-cart .cart_totals h2{margin:0 0 var(--pi-4)}
.woocommerce-cart .cart_totals table{border:0!important;margin:0;width:100%;background:none;box-shadow:none}
.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td{border:0!important;border-bottom:1px dashed var(--pi-line)!important;padding:11px 0!important;font-size:var(--pi-fs-15);background:none}
.woocommerce-cart .cart_totals table th{font-weight:600;color:var(--pi-ink-2);text-transform:none;width:auto;text-align:left}
.woocommerce-cart .cart_totals table td{text-align:right;font-weight:700}
.woocommerce-cart .cart_totals .order-total th,.woocommerce-cart .cart_totals .order-total td{border-bottom:0!important;padding-top:var(--pi-4)!important}
.woocommerce-cart .cart_totals .order-total th{font-weight:800;color:var(--pi-ink);font-size:var(--pi-fs-16)}
.woocommerce-cart .cart_totals .order-total td{font-size:var(--pi-fs-28);font-weight:800;letter-spacing:-.02em;color:var(--pi-magenta)}
.woocommerce-cart .cart_totals .order-total td small,.woocommerce-cart .cart_totals .order-total td .includes_tax{display:block;margin-top:2px;font-size:var(--pi-fs-12);font-weight:600;color:var(--pi-ink-3)}
.woocommerce-cart .cart_totals .order-total td small .amount{color:inherit!important;font-size:inherit}
.woocommerce-cart .cart_totals .shipping td{text-align:left}
.woocommerce ul#shipping_method{margin:0;padding:0;list-style:none}
.woocommerce ul#shipping_method li{
	display:flex;align-items:center;margin:0 0 var(--pi-2)!important;padding:12px 14px!important;background:#fff!important;
	border:1px solid var(--pi-line)!important;border-radius:var(--pi-r)!important;transition:border-color var(--pi-t),background-color var(--pi-t)
}
.woocommerce ul#shipping_method li:has(input:checked){border-color:var(--pi-primary)!important;background:var(--pi-primary-soft)!important}
.woocommerce ul#shipping_method label{display:inline;flex:1;margin:0;font-size:var(--pi-fs-14);font-weight:600;color:var(--pi-ink);cursor:pointer}
.woocommerce .woocommerce-shipping-destination{margin-top:var(--pi-2);font-size:var(--pi-fs-12);line-height:1.5;color:var(--pi-ink-3);font-weight:500}
.woocommerce-cart .wc-proceed-to-checkout{padding:var(--pi-5) 0 0}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex;width:100%;min-height:56px;font-size:var(--pi-fs-16)!important;font-weight:700!important;border-radius:var(--pi-r)!important}
.woocommerce-cart .wc-proceed-to-checkout::after{content:"🔒 Paiement sécurisé · Aperçu validé avant impression";display:block;margin-top:var(--pi-3);text-align:center;font-size:var(--pi-fs-12);font-weight:600;color:var(--pi-ink-3)}
.woocommerce-cart .ux-cart-coupon{background:#fff;border:var(--pi-border);border-radius:var(--pi-r-lg);padding:var(--pi-5);box-shadow:var(--pi-sh-soft)}
.woocommerce-cart .ux-cart-coupon .widget-title{font-size:var(--pi-fs-12);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pi-ink-3)}
/* le titre occupe sa propre ligne : sinon il partage la rangée avec le champ
   et le bouton, qui débordent alors de la carte */
.woocommerce-cart .ux-cart-coupon .coupon{display:flex;flex-wrap:wrap;align-items:center;gap:var(--pi-2)}
.woocommerce-cart .ux-cart-coupon .coupon .widget-title{flex:1 0 100%;margin:0 0 2px}
.woocommerce-cart .ux-cart-coupon .coupon input{flex:1 1 130px;min-width:0;min-height:44px}
/* bouton secondaire : il ne doit pas rivaliser avec « Valider la commande »,
   et la classe « expand » de Flatsome le mettrait sur une ligne à lui seul */
.woocommerce-cart .ux-cart-coupon .coupon .button,.woocommerce-cart .ux-cart-coupon .coupon .button.expand{
	flex:0 1 auto;width:auto!important;max-width:100%;min-height:44px;white-space:nowrap;padding:0 16px!important;font-size:var(--pi-fs-13)!important;
	background:var(--pi-primary-soft)!important;background-image:none!important;color:var(--pi-primary)!important;
	border:1px solid var(--pi-primary-line)!important;box-shadow:none!important;text-shadow:none!important
}
.woocommerce-cart .ux-cart-coupon .coupon .button:hover{background:var(--pi-primary)!important;color:#fff!important;border-color:var(--pi-primary)!important}

/* --------------------------- 8. Commande ------------------------------- */
.woocommerce-checkout .woocommerce{max-width:1180px;margin-inline:auto}
.woocommerce-checkout form.checkout .col-inner.has-border,.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .woocommerce-additional-fields{border:0!important;padding:0!important;background:none!important}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{padding:var(--pi-6);margin-bottom:var(--pi-4)}
.woocommerce-checkout #customer_details{counter-reset:pi-step}
.woocommerce-checkout #customer_details h3{display:flex;align-items:center;gap:12px;font-size:var(--pi-fs-18);font-weight:800;margin:0 0 var(--pi-5)}
.woocommerce-checkout #customer_details h3::before{
	counter-increment:pi-step;content:counter(pi-step);display:grid;place-items:center;flex:0 0 32px;height:32px;
	border-radius:10px;background-image:var(--pi-grad);color:#fff;font-size:var(--pi-fs-14);font-weight:800;box-shadow:var(--pi-sh-cta)
}
.woocommerce-checkout #ship-to-different-address{margin-bottom:var(--pi-4)}
.woocommerce-checkout #ship-to-different-address label{display:flex;align-items:center;gap:8px;font-size:var(--pi-fs-16);font-weight:700;margin:0}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--pi-4)}
.woocommerce-checkout .form-row-wide,.woocommerce-checkout #billing_address_1_field,.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #shipping_address_1_field,.woocommerce-checkout #shipping_address_2_field,.woocommerce-checkout #order_comments_field{grid-column:1/-1}
.woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:auto!important;float:none!important}
.woocommerce-checkout .checkout-breadcrumbs{font-size:var(--pi-fs-14);font-weight:600;margin-bottom:var(--pi-6)}
.woocommerce-checkout .checkout-breadcrumbs a{color:var(--pi-ink-3)}
.woocommerce-checkout .checkout-breadcrumbs .current{color:var(--pi-primary)}
.woocommerce-checkout .checkout-breadcrumbs .divider{color:var(--pi-line)}
/* récapitulatif : carte collante */
.woocommerce-checkout #order_review{padding:var(--pi-6);position:sticky;top:92px;border-top:0;border-radius:var(--pi-r-lg);overflow:hidden}
.woocommerce-checkout #order_review::before{content:"";display:block;height:5px;background:var(--pi-cmyk);margin:calc(-1 * var(--pi-6)) calc(-1 * var(--pi-6)) var(--pi-5)}
.woocommerce-checkout #order_review_heading{margin:0 0 var(--pi-4)}
.woocommerce-checkout #order_review table.shop_table{border:0!important;margin:0;background:none!important;box-shadow:none}
.woocommerce-checkout #order_review table,.woocommerce-checkout #order_review tbody,.woocommerce-checkout #order_review tfoot,.woocommerce-checkout #order_review tr{background:transparent!important}
.woocommerce-checkout #order_review table.shop_table thead{display:none}
.woocommerce-checkout #order_review table.shop_table td,.woocommerce-checkout #order_review table.shop_table th{border:0!important;padding:10px 0!important;background:none;font-size:var(--pi-fs-14);vertical-align:top}
.woocommerce-checkout #order_review .cart_item td{padding:12px 0!important;border-bottom:1px dashed var(--pi-line)!important}
.woocommerce-checkout #order_review .cart_item td.product-name{font-weight:700;line-height:1.35}
.woocommerce-checkout #order_review .cart_item td.product-name .product-quantity{color:var(--pi-ink-3);font-weight:600}
.woocommerce-checkout #order_review .cart_item td.product-name .variation{display:block;margin-top:4px;font-size:var(--pi-fs-12);color:var(--pi-ink-3);font-weight:500}
.woocommerce-checkout #order_review .cart_item td.product-name .variation dt,.woocommerce-checkout #order_review .cart_item td.product-name .variation dd{display:inline;float:none;margin:0;font-weight:500;text-transform:none}
.woocommerce-checkout #order_review .cart_item td.product-name .variation dd::after{content:" · "}
.woocommerce-checkout #order_review .cart_item td.product-name .variation dd:last-child::after,.woocommerce-checkout #order_review .cart_item td.product-name .variation dd:has(.printink-edit)::after{content:""}
.woocommerce-checkout #order_review .cart_item td.product-name .variation dd p{display:inline;margin:0}
.woocommerce-checkout #order_review .cart_item td.product-name .variation img,.woocommerce-checkout #order_review .cart_item td.product-name .variation .printink-edit{display:none!important}
.woocommerce-checkout #order_review td.product-total,.woocommerce-checkout #order_review tfoot td{width:1%;white-space:nowrap;text-align:right;font-weight:700}
.woocommerce-checkout #order_review .woocommerce-shipping-totals td{width:auto;white-space:normal;text-align:left}
.woocommerce-checkout #order_review tfoot th{font-weight:600;color:var(--pi-ink-2);text-align:left}
.woocommerce-checkout #order_review .cart-subtotal th,.woocommerce-checkout #order_review .cart-subtotal td{padding-top:var(--pi-4)!important}
.woocommerce-checkout #order_review .order-total th,.woocommerce-checkout #order_review .order-total td{border-top:var(--pi-border)!important;padding-top:var(--pi-4)!important}
.woocommerce-checkout #order_review .order-total th{font-weight:800;color:var(--pi-ink);font-size:var(--pi-fs-16)}
.woocommerce-checkout #order_review .order-total td{font-size:var(--pi-fs-28);font-weight:800;letter-spacing:-.02em;color:var(--pi-magenta)}
.woocommerce-checkout #order_review .order-total td small{display:block;margin-top:2px;font-size:var(--pi-fs-12);font-weight:600;color:var(--pi-ink-3)}
/* paiement */
.woocommerce-checkout #payment{background:transparent!important;border-radius:0;margin-top:var(--pi-5)}
.woocommerce-checkout #payment ul.payment_methods{background:none;border:0!important;padding:var(--pi-3) 0 0!important;margin:0;list-style:none;border-radius:0!important}
.woocommerce-checkout #payment ul.payment_methods li{
	margin:0 0 var(--pi-2);padding:14px!important;background:#fff!important;border:1px solid var(--pi-line)!important;
	border-radius:var(--pi-r)!important;transition:border-color var(--pi-t),background-color var(--pi-t),box-shadow var(--pi-t)
}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--pi-primary)!important;background:var(--pi-primary-soft)!important;box-shadow:0 0 0 4px var(--pi-ring)}
.woocommerce-checkout #payment ul.payment_methods li label{display:inline;font-size:var(--pi-fs-15);font-weight:700;color:var(--pi-ink);cursor:pointer}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:24px;width:auto;margin-left:8px;vertical-align:middle}
.woocommerce-checkout #payment div.payment_box{background:none!important;border:0!important;margin:var(--pi-3) 0 0 26px!important;padding:0!important;font-size:var(--pi-fs-13);color:var(--pi-ink-2);line-height:1.5}
.woocommerce-checkout #payment div.payment_box::before{display:none!important}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text,.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{font-size:var(--pi-fs-12);color:var(--pi-ink-3);line-height:1.5;font-weight:500}
.woocommerce-checkout #payment div.form-row.place-order{padding:var(--pi-4) 0 0!important;margin:0}
.woocommerce-checkout #place_order{width:100%;min-height:56px;font-size:var(--pi-fs-16)!important;font-weight:700!important;border-radius:var(--pi-r)!important}
.woocommerce-checkout form.checkout .place-order::after{content:"🔒 Paiement chiffré · Aperçu validé avant impression · Service client en France";display:block;margin-top:var(--pi-3);text-align:center;font-size:var(--pi-fs-12);font-weight:600;color:var(--pi-ink-3)}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{background:#fff!important;border:1px dashed var(--pi-primary-line)!important;border-left:1px dashed var(--pi-primary-line)!important;box-shadow:none;font-weight:600}
.woocommerce-checkout .checkout_coupon{background:#fff;border:var(--pi-border)!important;border-radius:var(--pi-r-lg);padding:var(--pi-5)!important;margin-bottom:var(--pi-5);box-shadow:var(--pi-sh-soft)}
.woocommerce-checkout #wc-stripe-express-checkout-element,.woocommerce-checkout .wc-block-components-express-payment{margin:var(--pi-5) 0 0}
.woocommerce-checkout #wc-stripe-express-checkout-button-separator{display:flex;align-items:center;gap:var(--pi-3);margin:var(--pi-5) 0;color:var(--pi-ink-3);font-size:var(--pi-fs-12);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.woocommerce-checkout #wc-stripe-express-checkout-button-separator::before,.woocommerce-checkout #wc-stripe-express-checkout-button-separator::after{content:"";flex:1;height:1px;background:var(--pi-line)}

/* ------------- 9. Commande confirmée & détail d'une commande ----------- */
.woocommerce-order .woocommerce-thankyou-order-received{
	display:flex;align-items:center;gap:14px;font-size:var(--pi-fs-22);font-weight:800;color:#14532d;background:var(--pi-ok-bg);
	border:1px solid #bbf7d0;border-radius:var(--pi-r-lg);padding:var(--pi-5) var(--pi-6);margin:0 0 var(--pi-5)
}
.woocommerce-order .woocommerce-thankyou-order-received::before{content:"✓";display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;background:var(--pi-ok);color:#fff;font-size:20px}
.woocommerce-order ul.woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:var(--pi-3);list-style:none;margin:0 0 var(--pi-8);padding:0;border:0}
.woocommerce-order ul.woocommerce-order-overview li{
	background:#fff;border:var(--pi-border)!important;border-radius:var(--pi-r-lg);padding:var(--pi-4);margin:0;box-shadow:var(--pi-sh-soft);
	font-size:var(--pi-fs-11);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pi-ink-3)
}
.woocommerce-order ul.woocommerce-order-overview li strong{display:block;margin-top:4px;font-size:var(--pi-fs-16);font-weight:800;letter-spacing:0;text-transform:none;color:var(--pi-ink)}
.woocommerce-order ul.woocommerce-order-overview li.woocommerce-order-overview__total strong{color:var(--pi-magenta)}
.woocommerce-order .woocommerce-order-details,.woocommerce-order .woocommerce-customer-details{margin-top:var(--pi-8)}
.woocommerce-order h2,.woocommerce-order-details h2,.woocommerce-customer-details h2{font-size:var(--pi-fs-22);font-weight:800;margin:0 0 var(--pi-4)}
.woocommerce ul.order_details{padding:0}
.woocommerce-customer-details address{font-style:normal;border:var(--pi-border);border-radius:var(--pi-r-lg);padding:var(--pi-5);line-height:1.7;color:var(--pi-ink-2);background:#fff;box-shadow:var(--pi-sh-soft)}

/* -------------------------- 10. Mon compte ----------------------------- */
.woocommerce-account .woocommerce{max-width:1160px;margin-inline:auto}
.woocommerce-account .account-user{
	display:flex;align-items:center;gap:var(--pi-4);padding:var(--pi-5);margin:0 0 var(--pi-5);background:#fff;
	border:var(--pi-border);border-radius:var(--pi-r-lg);box-shadow:var(--pi-sh-soft);background-image:var(--pi-wash)
}
.woocommerce-account .account-user img,.woocommerce-account .account-user .avatar{width:56px!important;height:56px!important;border-radius:50%;border:3px solid #fff;box-shadow:var(--pi-sh-cta)}
.woocommerce-account .account-user-name{font-size:var(--pi-fs-22);font-weight:800;letter-spacing:-.02em}
.woocommerce-account .account-user-name em,.woocommerce-account .account-user-name .op-6{font-style:normal;color:var(--pi-ink-3);font-size:var(--pi-fs-13);font-weight:600;margin-left:8px}
/* navigation : tuiles avec pictogrammes sur dégradé */
.woocommerce-account ul.dashboard-links,.woocommerce-account .woocommerce-MyAccount-navigation ul{
	display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:var(--pi-3);list-style:none;margin:0 0 var(--pi-6);padding:0;border:0
}
.woocommerce-account ul.dashboard-links li,.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0;padding:0;border:0;list-style:none}
.woocommerce-account ul.dashboard-links li a,.woocommerce-account .woocommerce-MyAccount-navigation li a{
	display:flex;align-items:center;flex-wrap:nowrap;gap:12px;min-height:64px;padding:14px 16px;background:#fff;border:var(--pi-border);
	border-radius:var(--pi-r-lg);font-size:var(--pi-fs-15);font-weight:700;color:var(--pi-ink)!important;line-height:1.25;text-transform:none;
	letter-spacing:0;text-decoration:none;box-shadow:var(--pi-sh-soft);transition:transform var(--pi-t),box-shadow var(--pi-t),border-color var(--pi-t)
}
.woocommerce-account ul.dashboard-links li a::before,.woocommerce-account .woocommerce-MyAccount-navigation li a::before{
	content:""!important;position:static!important;inset:auto!important;float:none!important;display:block!important;margin:0!important;
	opacity:1!important;transform:none!important;order:-1;flex:0 0 38px;width:38px!important;height:38px!important;border:0!important;
	border-radius:11px;background-color:var(--pi-primary-soft);background-position:center;background-size:19px;background-repeat:no-repeat
}
.woocommerce-account ul.dashboard-links li a:hover,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
	transform:translateY(-3px);box-shadow:var(--pi-sh-lift);border-color:var(--pi-primary-line);color:var(--pi-primary)!important
}
.woocommerce-account ul.dashboard-links li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
	border-color:transparent;background-image:var(--pi-grad);color:#fff!important;box-shadow:var(--pi-sh-cta)
}
.woocommerce-account ul.dashboard-links li.is-active a::before,.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before{background-color:rgba(255,255,255,.18)}
.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10l9-7 9 7v10a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E")}
.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h12l2 5H4z'/%3E%3Cpath d='M4 7v13h16V7'/%3E%3Cpath d='M9 11h6'/%3E%3C/svg%3E")}
.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='M7 11l5 5 5-5'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E")}
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.3 7-11a7 7 0 1 0-14 0c0 4.7 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
.woocommerce-account .woocommerce-MyAccount-navigation-link--payment-methods a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2.5'/%3E%3Cpath d='M2.5 10h19'/%3E%3C/svg%3E")}
.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6.5 8-6.5s8 2.5 8 6.5'/%3E%3C/svg%3E")}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23101010' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M16 16l4-4-4-4'/%3E%3Cpath d='M20 12H10'/%3E%3C/svg%3E")}
.woocommerce-account ul.dashboard-links li.is-active a::before{filter:brightness(0) invert(1)}
.woocommerce-account .woocommerce-MyAccount-content{padding:var(--pi-6);line-height:1.65}
.woocommerce-account .woocommerce-MyAccount-content>p:first-of-type{margin-top:0;font-size:var(--pi-fs-16)}
.woocommerce-account .woocommerce-MyAccount-content ul.dashboard-links{margin-top:var(--pi-5)}
.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:var(--pi-4)}
.woocommerce-account .woocommerce-Address{width:auto!important;float:none!important;border:var(--pi-border);border-radius:var(--pi-r-lg);padding:var(--pi-5);background:var(--pi-bg-2)}
.woocommerce-account .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:var(--pi-3)}
.woocommerce-account .woocommerce-Address-title h2,.woocommerce-account .woocommerce-Address-title h3{font-size:var(--pi-fs-16);font-weight:800;margin:0}
.woocommerce-account .woocommerce-Address address{font-style:normal;color:var(--pi-ink-2);margin:var(--pi-3) 0 0;line-height:1.7;font-weight:500}
.woocommerce-account fieldset{border:var(--pi-border);border-radius:var(--pi-r-lg);padding:var(--pi-5);margin-top:var(--pi-5);background:var(--pi-bg-2)}
.woocommerce-account fieldset legend{font-weight:800;padding:0 8px;font-size:var(--pi-fs-15);background:#fff;border-radius:6px}
/* connexion, inscription, mot de passe oublié */
.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register,.woocommerce-account .woocommerce-ResetPassword,
.woocommerce-account .u-column1.col-1,.woocommerce-account .u-column2.col-2{
	max-width:460px;margin-inline:auto;background:#fff;border:var(--pi-border)!important;border-radius:var(--pi-r-xl);padding:var(--pi-8)!important;box-shadow:var(--pi-sh-lift);width:auto!important
}
.woocommerce-account .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--pi-6)}
.woocommerce-account .u-columns h2{font-size:var(--pi-fs-22);font-weight:800;margin:0 0 var(--pi-5)}
.woocommerce-account .u-columns .woocommerce-form-login,.woocommerce-account .u-columns .woocommerce-form-register{max-width:none;border:0!important;padding:0!important;box-shadow:none}
.woocommerce-account .woocommerce-form-login__submit,.woocommerce-account .woocommerce-form-register__submit,.woocommerce-account .woocommerce-ResetPassword .button{width:100%;min-height:52px}
.woocommerce-account .woocommerce-form-login__rememberme{margin:var(--pi-2) 0 var(--pi-4)}
.woocommerce-account .lost_password{margin:var(--pi-4) 0 0;font-size:var(--pi-fs-14);text-align:center}
.woocommerce-account .woocommerce-privacy-policy-text{font-size:var(--pi-fs-12);color:var(--pi-ink-3)}

/* ------------- 11. Boutique, fiche produit, mini-panier ---------------- */
.woocommerce ul.products li.product .box{border:var(--pi-border);border-radius:var(--pi-r-lg);overflow:hidden;background:#fff;box-shadow:var(--pi-sh-soft);transition:transform var(--pi-t),box-shadow var(--pi-t),border-color var(--pi-t)}
.woocommerce ul.products li.product .box{position:relative}
.woocommerce ul.products li.product .box::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--pi-cmyk);opacity:0;transition:opacity var(--pi-t)}
.woocommerce ul.products li.product .box:hover{transform:translateY(-3px);box-shadow:var(--pi-sh-lift);border-color:var(--pi-ink)}
.woocommerce ul.products li.product .box:hover::after{opacity:1}
.woocommerce ul.products li.product .box-image{background:var(--pi-paper)}
.woocommerce ul.products li.product .box-text{padding:var(--pi-4);text-align:left}
.woocommerce ul.products li.product .product-title{font-size:var(--pi-fs-15);font-weight:700}
.woocommerce ul.products li.product .price{font-weight:800;color:var(--pi-ink)}
.woocommerce span.onsale{background-image:var(--pi-grad-warm)!important;background-color:var(--pi-magenta)!important;color:var(--pi-ink);border-radius:var(--pi-r-full);font-weight:800;font-size:var(--pi-fs-11);letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;min-height:0;line-height:1.3}
.woocommerce div.product .product_title{font-size:var(--pi-fs-36);font-weight:800;line-height:1.1}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:var(--pi-fs-22);font-weight:800;color:var(--pi-ink)}
.woocommerce div.product form.cart .button{min-height:52px;min-width:220px}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;border-radius:var(--pi-r-full);background:none;margin-right:6px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--pi-primary-soft)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:700;text-transform:none;letter-spacing:0;color:var(--pi-ink)}
.woocommerce .widget_shopping_cart .cart_list li,.woocommerce ul.cart_list li{padding:var(--pi-3) 0;border-bottom:1px solid var(--pi-line-2);position:relative}
.woocommerce .widget_shopping_cart .cart_list li img,.woocommerce ul.cart_list li img{width:56px!important;border-radius:var(--pi-r-sm);border:var(--pi-border)}
.woocommerce .widget_shopping_cart .cart_list li a{font-size:var(--pi-fs-14);font-weight:700;color:var(--pi-ink)}
.woocommerce .widget_shopping_cart .total{display:flex;justify-content:space-between;border-top:var(--pi-border);padding-top:var(--pi-3);font-size:var(--pi-fs-16);font-weight:800}
.woocommerce .widget_shopping_cart .buttons{display:grid;gap:var(--pi-2)}
.woocommerce .widget_shopping_cart .buttons a{width:100%;margin:0}
.header-cart-title,.cart-item-count{font-weight:700}

/* ----------------- 12. Accessibilité & préférences --------------------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--pi-ring-strong)!important;outline-offset:2px!important}
.woocommerce .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;transform:none!important}}

/* ---------------------------- responsive ------------------------------- */
@media (max-width:849px){
	.woocommerce-cart .cart-sidebar,.woocommerce-checkout #order_review{position:static}
	.woocommerce-account .woocommerce-Addresses,.woocommerce-account .u-columns{grid-template-columns:1fr}
}
@media (max-width:640px){
	:root{--pi-fs-36:28px;--pi-fs-28:24px;--pi-fs-22:20px}
	.page-title-inner{padding-top:var(--pi-6)!important;padding-bottom:var(--pi-5)!important}
	.woocommerce-cart table.cart tbody tr.cart_item{grid-template-columns:84px minmax(0,1fr);padding:var(--pi-4) var(--pi-4) var(--pi-4) 44px;gap:0 var(--pi-3)}
	.woocommerce-cart td.product-remove{left:6px}
	.pi-thumb{width:84px}
	.woocommerce-cart td.product-thumbnail{grid-row:1/span 2}
	.woocommerce-cart td.product-price{grid-column:2;grid-row:2}
	.woocommerce-cart td.product-quantity{grid-column:1/-1;grid-row:3;justify-self:start;margin-top:var(--pi-4)!important}
	.woocommerce-cart td.product-subtotal{grid-column:1/-1;grid-row:3;justify-self:end;align-self:center;margin-top:var(--pi-4)!important}
	.woocommerce-cart td.actions>*{width:100%}
	.woocommerce-cart .ux-cart-coupon .coupon input,.woocommerce-cart .ux-cart-coupon .coupon .button{flex:1 0 100%}
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
	.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2,.woocommerce-checkout #order_review{padding:var(--pi-4)}
	/* tableaux → fiches */
	.woocommerce table.shop_table_responsive:not(.cart),.woocommerce table.shop_table_responsive:not(.cart) tbody{display:block;border:0!important;background:none;box-shadow:none}
	.woocommerce table.shop_table_responsive:not(.cart) thead{display:none}
	.woocommerce table.shop_table_responsive:not(.cart) tr{display:block;background:#fff;border:var(--pi-border);border-radius:var(--pi-r-lg);padding:var(--pi-4);margin-bottom:var(--pi-3);box-shadow:var(--pi-sh-soft)}
	.woocommerce table.shop_table_responsive:not(.cart) td{display:flex!important;justify-content:space-between;align-items:center;gap:var(--pi-4);border:0!important;border-top:1px dashed var(--pi-line-2)!important;padding:8px 0!important;text-align:right;font-size:var(--pi-fs-14)}
	.woocommerce table.shop_table_responsive:not(.cart) tr td:first-child{border-top:0!important}
	.woocommerce table.shop_table_responsive:not(.cart) td::before{content:attr(data-title);float:none!important;font-size:var(--pi-fs-12);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--pi-ink-3);text-align:left;flex:0 0 auto}
	.woocommerce table.shop_table_responsive:not(.cart) td.woocommerce-orders-table__cell-order-actions{display:grid!important;grid-auto-flow:column;gap:var(--pi-2);margin-top:var(--pi-3)}
	.woocommerce table.shop_table_responsive:not(.cart) td.woocommerce-orders-table__cell-order-actions::before{display:none}
	.woocommerce table.shop_table_responsive:not(.cart) td .button{width:100%}
	.woocommerce-account ul.dashboard-links,.woocommerce-account .woocommerce-MyAccount-navigation ul{grid-template-columns:1fr 1fr;gap:10px}
	.woocommerce-account ul.dashboard-links li a,.woocommerce-account .woocommerce-MyAccount-navigation li a{min-height:58px;padding:12px;font-size:var(--pi-fs-14);gap:10px}
	.woocommerce-account .woocommerce-MyAccount-content{padding:var(--pi-4)}
	.woocommerce-order ul.woocommerce-order-overview{grid-template-columns:1fr 1fr}
}
@media (max-width:380px){
	.woocommerce-account ul.dashboard-links,.woocommerce-account .woocommerce-MyAccount-navigation ul{grid-template-columns:1fr}
	.woocommerce-order ul.woocommerce-order-overview{grid-template-columns:1fr}
}
.woocommerce table.shop_table:not(.shop_table_responsive){display:block;overflow-x:auto}
img,table{max-width:100%}

/* ------------------------ 10. Studio intégré ---------------------------- */
.printink-cta{margin:var(--pi-5) 0}
.printink-cta .printink-studio-cta{display:inline-flex;min-height:52px;padding:0 var(--pi-8)!important;font-size:var(--pi-fs-16)!important}
.printink-cta-note{margin:var(--pi-3) 0 0;font-size:var(--pi-fs-13);font-weight:600;color:var(--pi-ink-3)}

/* ------------------------ 11. Pages du site (Flatsome) ------------------ */
/* Vocabulaire commun : .pi-tag (étiquette), .pi-h1, .pi-lead, .pi-actions,
   .pi-card, .pi-cmyk-bar, .pi-crop (repères de coupe), .pi-halftone. */
.pi-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border:1px solid var(--pi-ink);border-radius:var(--pi-r-sm);background:var(--pi-paper);color:var(--pi-ink);font-weight:700;font-size:var(--pi-fs-12);letter-spacing:.08em;text-transform:uppercase}
.pi-dots{display:inline-flex;gap:3px}
.pi-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.pi-dot.c{background:var(--pi-cyan)}.pi-dot.m{background:var(--pi-magenta)}.pi-dot.y{background:var(--pi-yellow)}.pi-dot.k{background:var(--pi-ink)}
.pi-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--pi-r-sm);background:var(--pi-paper);border:1px solid var(--pi-ink);color:var(--pi-ink);font-weight:700;font-size:var(--pi-fs-12);letter-spacing:.08em;text-transform:uppercase}
.pi-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pi-magenta)}
.pi-pill.is-orange::before{background:var(--pi-yellow)}
.pi-h1{font-size:clamp(40px,6vw,72px)!important;line-height:.98!important;letter-spacing:-.035em;margin:22px 0 0;font-weight:900}
.pi-h1 .pi-h1-ink{display:inline-block;position:relative;color:var(--pi-ink)}
.pi-h1 .pi-h1-ink::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.16em;background:var(--pi-cmyk-soft);z-index:-1;border-radius:2px}
.pi-grad-text{color:var(--pi-ink)}
.pi-lead{font-size:var(--pi-fs-18);line-height:1.6;color:var(--pi-ink-2);max-width:560px;margin:20px 0 0;font-weight:500}
.pi-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0}
.pi-actions .button{margin:0}
.pi-btn-soft,.woocommerce a.button.pi-btn-soft,a.button.pi-btn-soft{background-image:none!important;background-color:var(--pi-paper)!important;color:var(--pi-ink)!important;border:1px solid var(--pi-ink)!important;box-shadow:none!important}
.pi-btn-soft:hover{background-color:var(--pi-yellow)!important;color:var(--pi-ink)!important;box-shadow:var(--pi-sh-hard)!important;transform:translate(-2px,-2px)}
.printink-studio-cta,a.button.printink-studio-cta{margin:0}
.pi-hero .printink-studio-cta:hover{box-shadow:var(--pi-sh-hard)!important;background-image:var(--pi-grad-hover)!important;transform:translate(-2px,-2px)}
/* chiffres clés sous le héros */
.pi-specs{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:36px 0 0;padding:0;border-top:1px solid var(--pi-ink)}
.pi-specs li{flex:1 1 140px;padding:16px 18px 0 0;font-size:var(--pi-fs-13);font-weight:600;color:var(--pi-ink-2);line-height:1.3}
.pi-specs li+li{padding-left:18px;border-left:1px solid var(--pi-line)}
.pi-specs b{display:block;font-size:var(--pi-fs-28);font-weight:900;letter-spacing:-.03em;color:var(--pi-ink);line-height:1;margin-bottom:6px}
/* héros : papier + trame demi-teinte à droite */
.pi-hero{position:relative;overflow:hidden;background:var(--pi-bg)}
.pi-hero .section-content{position:relative}
.pi-hero-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center;padding:72px 0 64px}
.pi-hero-art{position:relative;display:grid;place-items:center;min-height:420px}
.pi-hero-art::before{content:"";position:absolute;inset:-40px -60px -40px 10px;background-image:var(--pi-halftone);background-size:14px 14px;-webkit-mask-image:radial-gradient(closest-side,#000 40%,transparent 100%);mask-image:radial-gradient(closest-side,#000 40%,transparent 100%);opacity:.9}
/* la feuille « bon à tirer » */
.pi-sheet{position:relative;width:min(100%,420px);background:var(--pi-paper);border:1px solid var(--pi-ink);border-radius:var(--pi-r-sm);box-shadow:8px 8px 0 var(--pi-ink);transform:rotate(-1.5deg)}
.pi-sheet-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px dashed var(--pi-line);font-size:var(--pi-fs-11);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--pi-ink-3)}
.pi-sheet-ok{color:var(--pi-ok);letter-spacing:.04em}
.pi-sheet-body{position:relative;margin:18px;aspect-ratio:1;display:grid;place-items:center;background:var(--pi-bg-2);border-radius:2px}
.pi-sheet-body img{max-width:82%;max-height:82%;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(17,17,17,.14))}
.pi-sheet-zone{position:absolute;left:24%;top:16%;width:52%;height:62%;border:1.5px dashed var(--pi-cyan);border-radius:2px;pointer-events:none}
.pi-sheet-zone::after{content:"zone d'impression";position:absolute;left:0;bottom:-20px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pi-cyan-ink);white-space:nowrap}
.pi-crop{position:absolute;width:14px;height:14px;pointer-events:none}
.pi-crop::before,.pi-crop::after{content:"";position:absolute;background:var(--pi-ink)}
.pi-crop::before{width:14px;height:1.5px;top:0}.pi-crop::after{width:1.5px;height:14px;left:0}
.pi-crop.tl{left:-1px;top:-1px}.pi-crop.tr{right:-1px;top:-1px;transform:scaleX(-1)}.pi-crop.bl{left:-1px;bottom:-1px;transform:scaleY(-1)}.pi-crop.br{right:-1px;bottom:-1px;transform:scale(-1)}
.pi-sheet-meta{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 16px}
.pi-sheet-meta span{padding:4px 9px;border:1px solid var(--pi-line);border-radius:var(--pi-r-sm);font-size:var(--pi-fs-11);font-weight:700;color:var(--pi-ink-2);background:var(--pi-paper)}
.pi-cmyk-bar{height:8px;background:var(--pi-cmyk)}
.pi-sheet .pi-cmyk-bar{border-radius:0 0 3px 3px}
/* étiquettes flottantes autour de la feuille */
.pi-float{position:absolute;padding:8px 12px;background:var(--pi-paper);border:1px solid var(--pi-ink);border-radius:var(--pi-r-sm);box-shadow:3px 3px 0 var(--pi-ink);font-size:var(--pi-fs-12);font-weight:800;letter-spacing:.04em;white-space:nowrap}
.pi-float i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:-1px}
.pi-float-1{left:-8px;top:9%;transform:rotate(-4deg)}.pi-float-1 i{background:var(--pi-cyan)}
.pi-float-2{right:-10px;top:40%;transform:rotate(3deg)}.pi-float-2 i{background:var(--pi-magenta)}
.pi-float-3{left:-10px;bottom:24%;transform:rotate(2deg)}.pi-float-3 i{background:var(--pi-yellow)}
/* titres de section : petit intitulé + grand titre */
.pi-kicker{display:block;font-size:var(--pi-fs-12);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--pi-ink-3);margin:0 0 10px}
.pi-kicker::before{content:"";display:inline-block;width:22px;height:3px;background:var(--pi-cmyk-soft);margin-right:10px;vertical-align:3px}
.pi-h2{font-size:clamp(28px,3.6vw,44px)!important;line-height:1.04!important;letter-spacing:-.03em;margin:0 0 12px;font-weight:900}
.pi-center{text-align:center}
.pi-center .pi-kicker::before{display:none}
.pi-muted{color:var(--pi-ink-2)}
p.pi-center.pi-muted,p.pi-intro{max-width:620px;margin:0 auto 32px;font-size:var(--pi-fs-16);line-height:1.6}
p.pi-intro{margin-left:0}
.pi-section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 28px}
.pi-section-head p{margin:0;max-width:520px;color:var(--pi-ink-2);font-size:var(--pi-fs-15)}
.pi-section-head .pi-link{white-space:nowrap}
.pi-link{font-weight:800;color:var(--pi-ink);border-bottom:2px solid var(--pi-yellow);padding-bottom:1px}
.pi-link:hover{color:var(--pi-cyan-ink);border-color:var(--pi-cyan)}
/* cartes */
.pi-cards{display:grid;gap:20px;margin:8px 0 24px}
.pi-cards-3{grid-template-columns:repeat(3,1fr)}
.pi-cards-4{grid-template-columns:repeat(4,1fr)}
.pi-card{position:relative;background:var(--pi-paper);border:1px solid var(--pi-line);border-radius:var(--pi-r-lg);box-shadow:var(--pi-sh-soft);transition:transform var(--pi-t),box-shadow var(--pi-t),border-color var(--pi-t)}
.pi-card:hover{transform:translate(-2px,-2px);box-shadow:var(--pi-sh-hard);border-color:var(--pi-ink)}
.pi-card h3{font-size:var(--pi-fs-18);margin:0 0 8px;font-weight:800;letter-spacing:-.01em}
.pi-card p{margin:0;font-size:var(--pi-fs-14);line-height:1.6;color:var(--pi-ink-2)}
/* savoir-faire : tuile illustrée avec barre de couleur */
.pi-know{overflow:hidden;display:flex;flex-direction:column}
/* tuile en aplat process (cyan / magenta / jaune), trame blanche discrète */
.pi-know-tile{position:relative;display:grid;place-items:center;height:172px;border-bottom:1px solid var(--pi-ink);color:var(--pi-ink)!important}
.pi-know-tile::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.35) 1px,transparent 1.6px);background-size:12px 12px;-webkit-mask-image:linear-gradient(180deg,transparent,#000);mask-image:linear-gradient(180deg,transparent,#000)}
.pi-know-tile.is-violet,.pi-know-tile.is-cyan{background:var(--pi-cyan)}
.pi-know-tile.is-blue,.pi-know-tile.is-magenta{background:var(--pi-magenta)}
.pi-know-tile.is-orange,.pi-know-tile.is-yellow{background:var(--pi-yellow)}
.pi-know-ico{display:grid;place-items:center;width:104px;height:104px;border-radius:var(--pi-r-lg);background:var(--pi-paper);border:1px solid var(--pi-ink);box-shadow:4px 4px 0 var(--pi-ink)}
.pi-know-ico svg{width:60px;height:60px}
.pi-know-body{padding:22px 22px 24px;flex:1}
.pi-know-body .pi-link{display:inline-block;margin-top:14px;font-size:var(--pi-fs-13)}
.pi-know-tag{position:absolute;right:12px;top:12px;padding:3px 8px;background:var(--pi-paper);border:1px solid var(--pi-ink);border-radius:var(--pi-r-sm);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--pi-ink)!important}
.pi-know-ico{position:relative}
/* étapes : grand numéro en couleur process */
.pi-step,.pi-tech,.pi-contact{padding:26px 24px 28px}
.pi-tech{margin:0 0 16px}
.pi-step-badge{display:block;width:auto;height:auto;border-radius:0;background:none;box-shadow:none;margin:0 0 10px;font-size:52px;font-weight:900;letter-spacing:-.05em;line-height:1;color:var(--pi-cyan)}
.pi-step:nth-child(2) .pi-step-badge{color:var(--pi-magenta)}
.pi-step:nth-child(3) .pi-step-badge{color:#e6c800}
.pi-step:nth-child(4) .pi-step-badge{color:var(--pi-ink)}
.pi-step-badge::before{content:"0"}
.pi-step::after{content:"";position:absolute;left:24px;right:24px;bottom:0;height:3px;background:var(--pi-cmyk);opacity:0;transition:opacity var(--pi-t)}
.pi-step:hover::after{opacity:1}
/* bande « atelier » : encre, trame, promesses */
.pi-band{position:relative;overflow:hidden;background:var(--pi-ink);color:#fff;border-radius:var(--pi-r-xl);padding:40px 44px}
.pi-band::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.12) 1px,transparent 1.6px);background-size:16px 16px;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000);mask-image:linear-gradient(90deg,transparent 30%,#000)}
.pi-band>*{position:relative}
.pi-band .pi-kicker{color:rgba(255,255,255,.6)}
.pi-band .pi-h2{color:#fff;margin-bottom:26px}
.pi-promises{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0}
.pi-promise{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--pi-r-lg);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);font-size:var(--pi-fs-14);font-weight:700;color:#fff;line-height:1.3}
.pi-promise-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--pi-r);flex:0 0 auto;color:var(--pi-ink)}
.pi-promise-ico.is-violet,.pi-promise-ico.is-cyan{background:var(--pi-cyan)}.pi-promise-ico.is-blue,.pi-promise-ico.is-magenta{background:var(--pi-magenta);color:#fff}.pi-promise-ico.is-orange,.pi-promise-ico.is-yellow{background:var(--pi-yellow)}.pi-promise-ico.is-white{background:#fff}
.pi-hero .pi-promises{grid-template-columns:repeat(3,1fr);margin-top:34px}
.pi-hero .pi-promise{background:var(--pi-paper);border-color:var(--pi-line);color:var(--pi-ink);font-size:var(--pi-fs-13)}
/* appel à l'action final : feuille papier à ombre dure, barre CMJN */
.pi-cta-band{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:40px 44px 46px;border-radius:var(--pi-r-lg);background:var(--pi-paper);border:1px solid var(--pi-ink);box-shadow:8px 8px 0 var(--pi-ink);color:var(--pi-ink)}
.pi-cta-band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--pi-cmyk)}
.pi-cta-band h2{color:var(--pi-ink);font-size:clamp(26px,3vw,36px);margin:0 0 6px;font-weight:900;letter-spacing:-.03em}
.pi-cta-band p{margin:0;color:var(--pi-ink-2);max-width:520px;font-size:var(--pi-fs-16)}
.pi-btn-white,a.button.pi-btn-white{position:relative;z-index:1;background-image:var(--pi-grad)!important;background-color:var(--pi-ink)!important;color:#fff!important;box-shadow:none!important;margin:0}
.pi-btn-white:hover,a.button.pi-btn-white:hover{background-image:var(--pi-grad-hover)!important}
/* liste « tags » statique (matières & supports) */
.pi-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.pi-tags li{padding:7px 12px;border:1px solid var(--pi-line);border-radius:var(--pi-r-sm);background:var(--pi-paper);font-size:var(--pi-fs-13);font-weight:700;color:var(--pi-ink-2)}
.pi-tags li::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pi-cyan);margin-right:8px;vertical-align:1px}
.pi-tags li:nth-child(3n+2)::before{background:var(--pi-magenta)}.pi-tags li:nth-child(3n)::before{background:var(--pi-yellow)}
/* accordéon (FAQ) */
.accordion .accordion-title{border-color:var(--pi-line)!important;font-weight:800;font-size:var(--pi-fs-16);color:var(--pi-ink);padding:16px 44px 16px 0}
.accordion .accordion-title.active{color:var(--pi-cyan-ink)}
.accordion .accordion-title .toggle{color:var(--pi-ink);right:0;left:auto}
.accordion .accordion-inner{padding:0 0 18px;color:var(--pi-ink-2);line-height:1.65}
/* contact */
.pi-contact p{font-size:var(--pi-fs-15);line-height:1.7}
.pi-contact strong{font-size:var(--pi-fs-16)}
.page-template-page-blank .pi-hero{margin-top:0}
.pi-section-alt{background:var(--pi-paper);border-top:1px solid var(--pi-line);border-bottom:1px solid var(--pi-line)}
@media (max-width:849px){
	.pi-cards-3,.pi-cards-4{grid-template-columns:1fr 1fr}
	.pi-promises,.pi-hero .pi-promises{grid-template-columns:1fr 1fr}
	.pi-hero-inner{grid-template-columns:1fr;gap:44px;padding:44px 0 40px}
	.pi-hero-art{min-height:0}
	.pi-band{padding:30px 24px}
}
@media (max-width:549px){
	.pi-cards-3,.pi-cards-4,.pi-promises,.pi-hero .pi-promises{grid-template-columns:1fr}
	.pi-cta-band{padding:28px 22px 34px}
	.pi-sheet{transform:none}
	.pi-float{display:none}
	.pi-specs li{flex:1 1 100%;padding-left:0;border-left:0;padding-top:12px}
	.pi-specs b{font-size:var(--pi-fs-22);display:inline-block;margin:0 8px 0 0}
}
