/* =========================================================================
   DEV PRO - Boutique WooCommerce logiciels
   Interface sombre, sobre et orientee catalogue logiciel.
   ========================================================================= */

:root {
	--shop-bg: #08090b;
	--shop-surface: #101113;
	--shop-surface-2: #15171a;
	--shop-surface-3: #1b1e22;
	--shop-border: rgba(255, 255, 255, 0.1);
	--shop-border-strong: rgba(255, 255, 255, 0.18);
	--shop-text: #f8fafc;
	--shop-muted: #9aa4b2;
	--shop-soft: #cbd5e1;
	--shop-accent: #38bdf8;
	--shop-accent-2: #22c55e;
	--shop-warn: #facc15;
	--shop-danger: #fb7185;
	--shop-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.woo-wrap {
	padding-top: 130px;
	padding-bottom: 90px;
	min-height: 65vh;
}

.shop-wrap {
	position: relative;
	padding-top: 118px;
	padding-bottom: 96px;
}

/* ============================ HERO ====================================== */
.shop-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
	gap: 34px;
	align-items: end;
	margin-bottom: 34px;
	padding-bottom: 34px;
	border-bottom: 1px solid var(--shop-border);
	background-image:
		linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
	background-size: 34px 34px;
	background-position: -1px -1px;
}

.shop-hero__content {
	max-width: 760px;
}

.shop-hero__eyebrow,
.shop-toolbar__title span,
.filter-card__head span {
	color: var(--shop-accent);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shop-hero__title {
	margin-top: 10px;
	color: var(--shop-text);
	font-size: 4.1rem;
	font-weight: 850;
	line-height: 0.98;
	letter-spacing: 0;
	max-width: 820px;
}

.shop-hero__subtitle {
	max-width: 650px;
	margin-top: 18px;
	color: var(--shop-soft);
	font-size: 1.08rem;
	line-height: 1.7;
}

.shop-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 26px;
}

.shop-hero__metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	max-width: 560px;
	margin-top: 28px;
}

.shop-hero__metrics div {
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	padding: 12px;
}

.shop-hero__metrics strong {
	display: block;
	color: var(--shop-text);
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1.2;
}

.shop-hero__metrics span {
	color: var(--shop-muted);
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.shop-hero__button,
.shop-hero__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border-radius: 8px;
	padding: 0 18px;
	font-weight: 800;
	transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.shop-hero__button {
	background: var(--shop-text);
	color: #0a0c10;
}

.shop-hero__link {
	border: 1px solid var(--shop-border-strong);
	color: var(--shop-text);
	background: rgba(255, 255, 255, 0.04);
}

.shop-hero__button:hover,
.shop-hero__link:hover {
	transform: translateY(-2px);
}

.shop-hero__link:hover {
	border-color: var(--shop-accent);
	color: var(--shop-accent);
}

.shop-hero__panel {
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: rgba(16, 17, 19, 0.9);
	box-shadow: var(--shop-shadow);
	overflow: hidden;
}

.shop-hero__panel-head {
	padding: 18px;
	border-bottom: 1px solid var(--shop-border);
	background: rgba(255, 255, 255, 0.03);
}

.shop-hero__panel-head span {
	display: block;
	color: var(--shop-accent);
	font-size: 0.76rem;
	font-weight: 850;
	text-transform: uppercase;
}

.shop-hero__panel-head strong {
	display: block;
	margin-top: 3px;
	color: var(--shop-text);
	font-size: 1.05rem;
}

.shop-hero__panel-row {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 14px;
	padding: 18px;
	border-bottom: 1px solid var(--shop-border);
}

.shop-hero__panel-row:last-child {
	border-bottom: 0;
}

.shop-hero__panel-row strong {
	color: var(--shop-accent);
	font-size: 0.82rem;
}

.shop-hero__panel-row span {
	color: var(--shop-soft);
	font-size: 0.92rem;
	line-height: 1.5;
}

.shop-quick-cats {
	display: flex;
	gap: 8px;
	margin: -12px 0 28px;
	overflow-x: auto;
	padding-bottom: 4px;
	scrollbar-width: thin;
}

.quick-cat {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
	max-inline-size: min(20rem, calc(100vw - 40px));
	min-height: 38px;
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: var(--shop-surface);
	color: var(--shop-soft);
	padding: 0 13px;
	font-size: 0.84rem;
	font-weight: 850;
	white-space: nowrap;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.quick-cat:hover,
.quick-cat.is-active {
	border-color: rgba(56, 189, 248, 0.5);
	background: rgba(56, 189, 248, 0.12);
	color: var(--shop-accent);
}

/* ============================ LAYOUT ==================================== */
.shop-layout {
	display: grid;
	grid-template-columns: 292px minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

.shop-sidebar {
	position: sticky;
	top: 104px;
}

.filter-card {
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: var(--shop-surface);
	overflow: hidden;
}

.filter-card__head {
	padding: 20px 20px 16px;
	border-bottom: 1px solid var(--shop-border);
}

.filter-title {
	margin-top: 4px;
	color: var(--shop-text);
	font-size: 1.35rem;
	font-weight: 850;
}

.filter-group {
	padding: 20px;
	border-bottom: 1px solid var(--shop-border);
}

.filter-group:last-child {
	border-bottom: 0;
}

.filter-group h3 {
	margin-bottom: 14px;
	color: var(--shop-soft);
	font-size: 0.86rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.filter-cats {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.filter-cat a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 40px;
	padding: 8px 10px;
	border-radius: 8px;
	color: var(--shop-soft);
	font-size: 0.92rem;
	transition: background 0.2s ease, color 0.2s ease;
}

.filter-cat a:hover,
.filter-cat.is-active a {
	background: var(--shop-surface-3);
	color: var(--shop-text);
}

.filter-cat a em {
	min-width: 28px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.06);
	color: var(--shop-muted);
	font-size: 0.72rem;
	font-style: normal;
	text-align: center;
}

.filter-cat.is-active a em {
	background: rgba(56, 189, 248, 0.14);
	color: var(--shop-accent);
}

.filter-empty {
	color: var(--shop-muted);
	font-size: 0.9rem;
}

.price-inputs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 12px;
}

.price-inputs label {
	display: grid;
	gap: 6px;
	color: var(--shop-muted);
	font-size: 0.76rem;
	font-weight: 800;
	text-transform: uppercase;
}

.price-inputs input,
.shop-search input[type="search"],
.woocommerce-product-search input[type="search"],
.shop-ordering select,
.woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input.input-text,
.select2-container .select2-selection {
	width: 100%;
	border: 1px solid var(--shop-border);
	border-radius: 8px !important;
	background: #0b0c0f !important;
	color: var(--shop-text) !important;
	font-family: inherit;
}

.price-inputs input {
	min-height: 42px;
	padding: 10px 11px;
	font-size: 0.92rem;
}

.price-inputs input:focus,
.shop-search input[type="search"]:focus,
.woocommerce-product-search input[type="search"]:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
	outline: none;
	border-color: var(--shop-accent) !important;
	box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.16);
}

.btn-apply {
	width: 100%;
	min-height: 42px;
	border: 0;
	border-radius: 8px;
	background: var(--shop-accent);
	color: #06121f;
	font-weight: 850;
	cursor: pointer;
	transition: transform 0.2s ease, filter 0.2s ease;
}

.btn-apply:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.license-chip {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.04);
	color: var(--shop-soft);
	padding: 7px 10px;
	font-size: 0.82rem;
	font-weight: 800;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.license-chip:hover,
.license-chip.is-sel {
	border-color: rgba(56, 189, 248, 0.5);
	background: rgba(56, 189, 248, 0.12);
	color: var(--shop-accent);
}

.filter-reset {
	display: block;
	margin: 18px 20px 20px;
	color: var(--shop-danger);
	font-size: 0.86rem;
	font-weight: 800;
}

.filter-help {
	margin: 0;
	border-top: 1px solid var(--shop-border);
	padding: 18px 20px 20px;
}

.filter-help strong,
.filter-help span,
.filter-help a {
	display: block;
}

.filter-help strong {
	color: var(--shop-text);
	font-size: 0.94rem;
	line-height: 1.35;
	text-wrap: balance;
}

.filter-help span {
	margin-top: 5px;
	color: var(--shop-muted);
	font-size: 0.82rem;
	line-height: 1.45;
}

.filter-help a {
	margin-top: 11px;
	color: var(--shop-accent);
	font-size: 0.82rem;
	font-weight: 900;
}

/* ============================ TOOLBAR =================================== */
.shop-main {
	min-width: 0;
}

.shop-toolbar {
	display: grid;
	grid-template-columns: minmax(160px, 190px) minmax(0, 1fr);
	gap: 18px;
	align-items: end;
	margin-bottom: 12px;
	padding: 18px;
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: var(--shop-surface);
}

.shop-toolbar__title h2 {
	margin-top: 4px;
	color: var(--shop-text);
	font-size: 1.3rem;
	font-weight: 850;
}

.shop-toolbar__controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(210px, 22vw, 260px);
	gap: 12px;
	align-items: center;
}

.shop-toolbar .woocommerce-ordering,
.shop-toolbar .woocommerce-product-search,
.shop-resultcount .woocommerce-result-count {
	float: none;
	margin: 0;
}

.shop-search form,
.woocommerce-product-search {
	display: grid;
	grid-template-columns: minmax(0, 1fr) max-content;
	align-items: stretch;
	gap: 8px;
	width: 100%;
	min-width: 0;
}

.shop-search input[type="search"],
.woocommerce-product-search input[type="search"] {
	min-height: 44px;
	padding: 0 14px;
	font-size: 0.94rem;
}

.shop-search button,
.woocommerce-product-search button {
	min-height: 44px;
	border: 0;
	border-radius: 8px;
	background: var(--shop-text);
	color: #08090b;
	padding: 0 16px;
	font-weight: 850;
	cursor: pointer;
}

.shop-toolbar .woocommerce-product-search > button[type="submit"] {
	flex: 0 0 auto;
	min-inline-size: 7rem;
	padding-inline: 14px;
	white-space: nowrap;
	overflow-wrap: normal;
	hyphens: none;
}

.shop-ordering select,
.woocommerce-ordering select {
	width: 100%;
	min-width: 0;
	min-height: 44px;
	padding: 0 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
	cursor: pointer;
}

.shop-resultcount {
	margin: 0 0 18px;
	color: var(--shop-muted);
	font-size: 0.9rem;
}

.shop-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 12px;
}

.shop-active-filters span,
.shop-active-filters em,
.shop-active-filters a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	border-radius: 8px;
	padding: 0 10px;
	font-size: 0.8rem;
	font-weight: 850;
	font-style: normal;
}

.shop-active-filters span {
	color: var(--shop-muted);
	padding-left: 0;
	text-transform: uppercase;
}

.shop-active-filters em {
	border: 1px solid var(--shop-border);
	background: rgba(255, 255, 255, 0.04);
	color: var(--shop-soft);
}

.shop-active-filters a {
	background: rgba(251, 113, 133, 0.12);
	color: var(--shop-danger);
}

/* ============================ PRODUITS ================================== */
.woocommerce .shop-main ul.products,
.shop-main ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.shop-main ul.products::before,
.shop-main ul.products::after {
	display: none !important;
	content: none !important;
}

.woocommerce ul.products li.product.product-card,
li.product.product-card {
	display: flex;
	float: none !important;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: var(--shop-surface);
	overflow: hidden;
	transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

li.product.product-card:hover {
	transform: translateY(-4px);
	border-color: rgba(56, 189, 248, 0.46);
	box-shadow: var(--shop-shadow);
}

.product-card__media {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 10;
	background:
		linear-gradient(135deg, rgba(255,255,255,0.08), transparent 36%),
		linear-gradient(180deg, #181b1f, #0d0f12);
	overflow: hidden;
}

.product-card__media::after {
	position: absolute;
	inset: auto 16px 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(56,189,248,0.65), transparent);
	content: "";
}

.product-card__media img {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 18px;
	object-fit: contain;
	transition: transform 0.25s ease;
}

.product-card:hover .product-card__media img {
	transform: scale(1.035);
}

.pc-badge-sale,
.pc-badge-digital {
	position: absolute;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	border-radius: 8px;
	padding: 0 10px;
	font-size: 0.72rem;
	font-weight: 850;
}

.pc-badge-sale {
	top: 12px;
	left: 12px;
	background: var(--shop-warn);
	color: #111;
}

.pc-badge-digital {
	right: 12px;
	bottom: 12px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	background: rgba(8, 9, 11, 0.82);
	color: var(--shop-text);
	backdrop-filter: blur(10px);
}

.product-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 16px;
}

.pc-meta,
.pc-rating-row,
.pc-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.pc-meta {
	margin-bottom: 9px;
}

.pc-category {
	min-width: 0;
	overflow: hidden;
	color: var(--shop-accent);
	font-size: 0.76rem;
	font-weight: 850;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.pc-stock {
	flex: 0 0 auto;
	border-radius: 6px;
	padding: 3px 8px;
	font-size: 0.72rem;
	font-weight: 850;
}

.pc-stock.in {
	background: rgba(34, 197, 94, 0.12);
	color: #86efac;
}

.pc-stock.out {
	background: rgba(251, 113, 133, 0.12);
	color: #fda4af;
}

.pc-rating-row {
	justify-content: space-between;
	min-height: 24px;
	margin-bottom: 6px;
}

.pc-stars {
	color: #4b5563;
	font-size: 0.88rem;
	letter-spacing: 0;
}

.pc-stars .on {
	color: var(--shop-warn);
}

.pc-license {
	color: var(--shop-muted);
	font-size: 0.82rem;
	font-weight: 800;
}

.pc-license-chip {
	flex: 0 0 auto;
	border: 1px solid rgba(56, 189, 248, 0.24);
	border-radius: 6px;
	background: rgba(56, 189, 248, 0.08);
	color: var(--shop-accent);
	padding: 3px 7px;
	font-size: 0.72rem;
	font-weight: 900;
}

.pc-title {
	margin: 0 0 8px;
	color: var(--shop-text);
	font-size: 1.02rem;
	font-weight: 850;
	line-height: 1.35;
}

.pc-title a {
	color: inherit;
}

.pc-title a:hover {
	color: var(--shop-accent);
}

.pc-desc {
	display: -webkit-box;
	min-height: 44px;
	margin-bottom: 14px;
	overflow: hidden;
	color: var(--shop-muted);
	font-size: 0.86rem;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.pc-includes {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: auto 0 14px;
}

.pc-includes span {
	border: 1px solid var(--shop-border);
	border-radius: 6px;
	color: var(--shop-soft);
	padding: 4px 7px;
	font-size: 0.72rem;
	font-weight: 750;
}

.pc-footer {
	align-items: end;
	margin-top: auto;
}

.pc-price {
	display: grid;
	color: var(--shop-text);
	font-size: 1.12rem;
	font-weight: 900;
	line-height: 1.1;
}

.pc-price del {
	color: var(--shop-muted);
	font-size: 0.82rem;
	font-weight: 500;
	opacity: 0.72;
}

.pc-price ins {
	text-decoration: none;
}

.pc-actions {
	display: flex;
	flex: 0 0 auto;
	gap: 7px;
	align-items: center;
}

.pc-details {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	color: var(--shop-soft);
	padding: 0 11px;
	font-size: 0.82rem;
	font-weight: 900;
	white-space: nowrap;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.pc-details:hover {
	border-color: var(--shop-border-strong);
	background: var(--shop-surface-3);
	color: var(--shop-text);
}

li.product.product-card .button,
li.product.product-card .added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	border: 1px solid rgba(56, 189, 248, 0.42);
	border-radius: 8px;
	background: rgba(56, 189, 248, 0.12);
	color: var(--shop-accent);
	padding: 0 12px;
	font-size: 0.82rem;
	font-weight: 900;
	white-space: nowrap;
	transition: background 0.2s ease, color 0.2s ease;
}

li.product.product-card .button:hover,
li.product.product-card .added_to_cart:hover {
	background: var(--shop-accent);
	color: #06121f;
}

/* ============================ PAGINATION ================================ */
.woocommerce nav.woocommerce-pagination {
	margin-top: 34px;
}

.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	gap: 8px;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	margin: 0;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 40px;
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: var(--shop-surface);
	color: var(--shop-text);
	padding: 10px 13px;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
	border-color: var(--shop-accent);
	background: var(--shop-accent);
	color: #06121f;
}

/* ============================ FICHE PRODUIT ============================= */
.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(380px, 0.9fr);
	gap: clamp(24px, 3vw, 40px);
	align-items: start;
}

.woocommerce div.product div.woocommerce-product-gallery,
.woocommerce div.product div.summary {
	float: none !important;
	width: 100% !important;
	min-width: 0;
	max-width: none;
	clear: none !important;
	margin: 0;
}

.woocommerce div.product .woocommerce-product-gallery {
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: var(--shop-surface);
	overflow: hidden;
}

.woocommerce div.product .woocommerce-product-gallery__image {
	display: grid;
	place-items: center;
	aspect-ratio: 3 / 2;
	background: var(--shop-surface-2);
	overflow: hidden;
}

.woocommerce div.product .woocommerce-product-gallery__image > a {
	display: block;
	width: 100%;
	height: 100%;
}

.woocommerce div.product .woocommerce-product-gallery img,
.woocommerce div.product .woocommerce-product-gallery__wrapper {
	border-radius: 0;
}

.woocommerce div.product .woocommerce-product-gallery__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.woocommerce div.product .summary {
	margin: 0;
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: var(--shop-surface);
	padding: 24px;
}

.woocommerce div.product .product_title {
	margin: 0 0 12px;
	color: var(--shop-text);
	font-size: clamp(2rem, 2.5vw, 2.55rem);
	font-weight: 900;
	line-height: 1.05;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	margin-bottom: 20px;
	color: var(--shop-accent);
	font-size: 1.55rem;
	font-weight: 900;
	font-variant-numeric: tabular-nums;
}

.woocommerce div.product :is(p.price, span.price) .woocommerce-Price-amount bdi {
	display: inline-flex;
	flex-direction: row;
	align-items: baseline;
	gap: 0.25em;
	direction: ltr;
	unicode-bidi: isolate;
	white-space: nowrap;
}

.woocommerce div.product :is(p.price, span.price) .woocommerce-Price-currencySymbol {
	direction: rtl;
	unicode-bidi: isolate;
}

.woocommerce div.product .woocommerce-product-details__short-description {
	margin-bottom: 22px;
	color: var(--shop-soft);
	line-height: 1.7;
}

.woocommerce .quantity input.qty {
	min-height: 46px;
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: #0b0c0f;
	color: var(--shop-text);
}

.woocommerce div.product form.cart .button.single_add_to_cart_button,
.woocommerce div.product form.cart .button {
	min-height: 46px;
	border: 0;
	border-radius: 8px;
	background: var(--shop-accent);
	color: #06121f;
	padding: 0 24px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	transition: transform 0.2s ease, filter 0.2s ease;
}

.woocommerce div.product form.cart .button:hover {
	filter: brightness(1.08);
	transform: translateY(-2px);
}

.product-software-specs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 22px;
}

.product-software-specs div {
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	padding: 12px;
}

.product-software-specs span {
	display: block;
	color: var(--shop-muted);
	font-size: 0.72rem;
	font-weight: 850;
	text-transform: uppercase;
}

.product-software-specs strong {
	display: block;
	margin-top: 5px;
	color: var(--shop-text);
	font-size: 0.92rem;
	line-height: 1.35;
}

.product-badges {
	display: grid;
	gap: 8px;
	margin-top: 24px;
}

.product-badge {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.035);
	padding: 12px;
}

.product-badge > div,
.woocommerce div.product .product_meta {
	min-width: 0;
	overflow-wrap: anywhere;
}

.product-badge .pb-ico {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 8px;
	background: rgba(56, 189, 248, 0.12);
	color: var(--shop-accent);
	font-size: 0.9rem;
	font-weight: 900;
}

.product-badge strong {
	display: block;
	color: var(--shop-text);
	font-size: 0.92rem;
}

.product-badge small {
	color: var(--shop-muted);
	font-size: 0.8rem;
}

.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: 12px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	border: 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
	border-color: var(--shop-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: 1px solid var(--shop-border);
	border-radius: 8px 8px 0 0;
	background: var(--shop-surface);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--shop-muted);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--shop-accent);
}

.woocommerce div.product .woocommerce-tabs .panel {
	color: var(--shop-soft);
	line-height: 1.7;
}

.woocommerce .related.products,
.woocommerce .up-sells {
	grid-column: 1 / -1;
	margin-top: 38px;
}

.woocommerce .related.products > h2,
.woocommerce .up-sells > h2 {
	margin-bottom: 20px;
	color: var(--shop-text);
	font-weight: 900;
}

/* ========================= PANIER / CHECKOUT ============================ */
.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 26px;
	align-items: start;
}

.woocommerce-cart .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading,
.woocommerce-cart .cart-collaterals .cart_totals {
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: var(--shop-surface);
	color: var(--shop-soft);
}

.woocommerce-cart table.shop_table {
	border-collapse: separate;
	overflow: hidden;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout h3 {
	color: var(--shop-text);
	font-weight: 900;
}

.woocommerce-cart table.shop_table td,
.woocommerce-cart table.shop_table th {
	border-top-color: var(--shop-border);
	padding: 15px;
}

.woocommerce-cart table.cart img {
	width: 64px;
	border-radius: 8px;
}

.woocommerce-cart table.cart a {
	color: var(--shop-text);
}

.woocommerce-cart .product-remove a.remove {
	color: var(--shop-danger) !important;
}

.woocommerce a.remove:hover {
	background: var(--shop-danger) !important;
	color: #fff !important;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	width: 100% !important;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
	padding: 22px;
}

.woocommerce form .form-row label,
.woocommerce-checkout label {
	color: var(--shop-text);
	font-weight: 800;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout input.input-text,
.select2-container .select2-selection {
	min-height: 46px;
	padding: 12px 14px;
}

.woocommerce-checkout #payment,
.woocommerce-checkout #payment ul.payment_methods {
	border: 0;
	background: transparent;
}

.woocommerce-checkout #payment div.payment_box {
	border-radius: 8px;
	background: #0b0c0f;
	color: var(--shop-muted);
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #0b0c0f;
}

.woocommerce-checkout.devpro-checkout-contact-only #customer_details .col-1 {
	float: none;
	width: 100%;
}

.woocommerce-checkout.devpro-checkout-contact-only #customer_details .col-2 {
	display: none;
}

.woocommerce-checkout.devpro-checkout-contact-only #billing_country_field {
	display: none !important;
}

.woocommerce-checkout.devpro-checkout-contact-only .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.woocommerce-checkout.devpro-checkout-contact-only .woocommerce-billing-fields__field-wrapper .form-row {
	float: none;
	width: 100%;
	margin: 0;
}

.woocommerce-checkout.devpro-checkout-contact-only :is(#billing_phone_field, #billing_email_field, #billing_address_1_field) {
	grid-column: 1 / -1;
}

.woocommerce-checkout.devpro-checkout-contact-only .woocommerce-billing-fields__field-wrapper .input-text {
	width: 100%;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	border: 0;
	border-radius: 8px;
	background: var(--shop-accent);
	color: #06121f;
	padding: 12px 20px;
	font-weight: 900;
	transition: transform 0.2s ease, filter 0.2s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	filter: brightness(1.08);
	color: #06121f;
	transform: translateY(-1px);
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	text-align: center;
	font-size: 1rem;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
	border-top: 3px solid var(--shop-accent);
	border-radius: 8px;
	background: var(--shop-surface);
	color: var(--shop-soft);
	list-style: none;
}

.woocommerce-error {
	border-top-color: var(--shop-danger);
}

.woocommerce-message .button,
.woocommerce-info .button {
	border: 1px solid var(--shop-accent);
	background: transparent;
	color: var(--shop-accent);
}

.woocommerce span.onsale {
	min-width: 0;
	min-height: 0;
	border-radius: 8px;
	background: var(--shop-warn);
	color: #111;
	padding: 4px 10px;
	font-weight: 900;
	line-height: 1.4;
}

/* ========================= RESPONSIVE =================================== */
@media (max-width: 1100px) {
	.woocommerce .shop-main ul.products,
	.shop-main ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 940px) {
	.shop-hero,
	.shop-layout,
	.woocommerce div.product,
	.woocommerce-cart .woocommerce {
		grid-template-columns: 1fr;
	}

	.shop-sidebar {
		position: static;
	}

	.shop-toolbar {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.shop-hero__title {
		font-size: 3rem;
	}

	.woocommerce div.product .product_title {
		font-size: 2rem;
	}

	.shop-hero__metrics {
		max-width: none;
	}
}

@media (max-width: 680px) {
	.shop-wrap,
	.woo-wrap {
		padding-top: 108px;
	}

	.shop-hero {
		gap: 22px;
		margin-bottom: 24px;
		padding-bottom: 24px;
		background-size: 28px 28px;
	}

	.shop-hero__title {
		font-size: 2.15rem;
	}

	.shop-hero__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.shop-search form,
	.woocommerce-product-search {
		grid-template-columns: minmax(0, 1fr);
	}

	.shop-hero__button,
	.shop-hero__link,
	.shop-search button,
	.woocommerce-product-search button {
		width: 100%;
	}

	.shop-hero__metrics,
	.product-software-specs {
		grid-template-columns: 1fr;
	}

	.shop-toolbar__controls,
	.price-inputs,
	.woocommerce .shop-main ul.products,
	.shop-main ul.products {
		grid-template-columns: 1fr;
	}

	.pc-footer {
		align-items: stretch;
		flex-direction: column;
	}

	.pc-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	li.product.product-card .button,
	li.product.product-card .added_to_cart,
	.pc-details {
		width: 100%;
	}
}

/* ===================== CATALOGUE : PALETTE COLORÉE ===================== */
.shop-catalog-shell {
	--shop-purple: #8b5cf6;
	--shop-orange: #f97316;
	--shop-pink: #ec4899;
	--shop-blue: #3b82f6;
	--shop-teal: #14b8a6;
	--shop-green: #22c55e;
}

.shop-catalog-shell .shop-hero__button,
.shop-catalog-shell .shop-search button,
.shop-catalog-shell .btn-apply {
	border: 0;
	background: linear-gradient(135deg, #00a76f 0%, #22c55e 52%, #84cc16 100%);
	color: #fff;
	box-shadow: 0 12px 28px rgba(0, 167, 111, 0.24);
}

.shop-catalog-shell .shop-hero__button:hover,
.shop-catalog-shell .shop-search button:hover,
.shop-catalog-shell .btn-apply:hover {
	background: linear-gradient(135deg, #00875a 0%, #16a34a 52%, #65a30d 100%);
	color: #fff;
	box-shadow: 0 16px 34px rgba(0, 167, 111, 0.3);
}

.shop-catalog-shell .shop-hero__link {
	border-color: rgba(139, 92, 246, 0.34);
	background: rgba(139, 92, 246, 0.1);
	color: #a78bfa;
}

.shop-catalog-shell .shop-hero__link:hover {
	border-color: var(--shop-purple);
	background: var(--shop-purple);
	color: #fff;
}

.shop-catalog-shell .shop-hero__metrics div:nth-child(1) {
	border-color: rgba(59, 130, 246, 0.24);
	background: rgba(59, 130, 246, 0.1);
}

.shop-catalog-shell .shop-hero__metrics div:nth-child(1) strong { color: #60a5fa; }

.shop-catalog-shell .shop-hero__metrics div:nth-child(2) {
	border-color: rgba(249, 115, 22, 0.24);
	background: rgba(249, 115, 22, 0.1);
}

.shop-catalog-shell .shop-hero__metrics div:nth-child(2) strong { color: #fb923c; }

.shop-catalog-shell .shop-hero__metrics div:nth-child(3) {
	border-color: rgba(34, 197, 94, 0.24);
	background: rgba(34, 197, 94, 0.1);
}

.shop-catalog-shell .shop-hero__metrics div:nth-child(3) strong { color: #4ade80; }

.shop-catalog-shell .shop-hero__panel-row:nth-child(2) strong {
	background: rgba(59, 130, 246, 0.14);
	color: #60a5fa;
}

.shop-catalog-shell .shop-hero__panel-row:nth-child(3) strong {
	background: rgba(139, 92, 246, 0.14);
	color: #a78bfa;
}

.shop-catalog-shell .shop-hero__panel-row:nth-child(4) strong {
	background: rgba(249, 115, 22, 0.14);
	color: #fb923c;
}

.shop-catalog-shell .quick-cat {
	--category-color: 56, 189, 248;
	border-color: rgba(var(--category-color), 0.24);
	background: rgba(var(--category-color), 0.08);
	color: rgb(var(--category-color));
}

.shop-catalog-shell .quick-cat:nth-child(2) { --category-color: 59, 130, 246; }
.shop-catalog-shell .quick-cat:nth-child(3) { --category-color: 139, 92, 246; }
.shop-catalog-shell .quick-cat:nth-child(4) { --category-color: 236, 72, 153; }
.shop-catalog-shell .quick-cat:nth-child(5) { --category-color: 249, 115, 22; }
.shop-catalog-shell .quick-cat:nth-child(6) { --category-color: 20, 184, 166; }
.shop-catalog-shell .quick-cat:nth-child(7) { --category-color: 34, 197, 94; }
.shop-catalog-shell .quick-cat:nth-child(8) { --category-color: 234, 179, 8; }
.shop-catalog-shell .quick-cat:nth-child(9) { --category-color: 239, 68, 68; }

.shop-catalog-shell .quick-cat:hover,
.shop-catalog-shell .quick-cat.is-active {
	border-color: rgb(var(--category-color));
	background: rgb(var(--category-color));
	color: #fff;
	box-shadow: 0 10px 26px rgba(var(--category-color), 0.24);
}

.shop-catalog-shell .quick-cat > span {
	background: rgba(var(--category-color), 0.14);
	color: inherit;
}

.shop-catalog-shell .quick-cat:hover > span,
.shop-catalog-shell .quick-cat.is-active > span {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}

.shop-catalog-shell .filter-cat {
	--filter-color: 56, 189, 248;
}

.shop-catalog-shell .filter-cat:nth-child(2) { --filter-color: 59, 130, 246; }
.shop-catalog-shell .filter-cat:nth-child(3) { --filter-color: 139, 92, 246; }
.shop-catalog-shell .filter-cat:nth-child(4) { --filter-color: 236, 72, 153; }
.shop-catalog-shell .filter-cat:nth-child(5) { --filter-color: 249, 115, 22; }
.shop-catalog-shell .filter-cat:nth-child(6) { --filter-color: 20, 184, 166; }
.shop-catalog-shell .filter-cat:nth-child(7) { --filter-color: 34, 197, 94; }
.shop-catalog-shell .filter-cat:nth-child(8) { --filter-color: 234, 179, 8; }
.shop-catalog-shell .filter-cat:nth-child(9) { --filter-color: 239, 68, 68; }

.shop-catalog-shell .filter-cat a::before {
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgb(var(--filter-color));
	box-shadow: 0 0 0 4px rgba(var(--filter-color), 0.1);
	content: '';
}

.shop-catalog-shell .filter-cat a:hover,
.shop-catalog-shell .filter-cat.is-active a {
	background: rgba(var(--filter-color), 0.12);
	color: rgb(var(--filter-color));
}

.shop-catalog-shell .filter-cat.is-active a {
	box-shadow: inset 3px 0 rgb(var(--filter-color));
}

.shop-catalog-shell .filter-cat.is-active a em {
	background: rgba(var(--filter-color), 0.14);
	color: rgb(var(--filter-color));
}

.shop-catalog-shell .license-chip:nth-child(4n+1) {
	border-color: rgba(59, 130, 246, 0.28);
	background: rgba(59, 130, 246, 0.09);
	color: #60a5fa;
}

.shop-catalog-shell .license-chip:nth-child(4n+2) {
	border-color: rgba(139, 92, 246, 0.28);
	background: rgba(139, 92, 246, 0.09);
	color: #a78bfa;
}

.shop-catalog-shell .license-chip:nth-child(4n+3) {
	border-color: rgba(249, 115, 22, 0.28);
	background: rgba(249, 115, 22, 0.09);
	color: #fb923c;
}

.shop-catalog-shell .license-chip:nth-child(4n+4) {
	border-color: rgba(20, 184, 166, 0.28);
	background: rgba(20, 184, 166, 0.09);
	color: #2dd4bf;
}

.shop-catalog-shell .license-chip:hover,
.shop-catalog-shell .license-chip.is-sel {
	filter: saturate(1.2) brightness(1.08);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.shop-catalog-shell li.product.product-card:nth-child(6n+1) { --card-accent: 59, 130, 246; }
.shop-catalog-shell li.product.product-card:nth-child(6n+2) { --card-accent: 139, 92, 246; }
.shop-catalog-shell li.product.product-card:nth-child(6n+3) { --card-accent: 249, 115, 22; }
.shop-catalog-shell li.product.product-card:nth-child(6n+4) { --card-accent: 20, 184, 166; }
.shop-catalog-shell li.product.product-card:nth-child(6n+5) { --card-accent: 236, 72, 153; }
.shop-catalog-shell li.product.product-card:nth-child(6n+6) { --card-accent: 34, 197, 94; }

.shop-catalog-shell li.product.product-card {
	--card-accent: 56, 189, 248;
}

.shop-catalog-shell li.product.product-card:hover {
	border-color: rgba(var(--card-accent), 0.54);
	box-shadow: 0 28px 65px rgba(var(--card-accent), 0.12);
}

.shop-catalog-shell li.product.product-card .pc-category,
.shop-catalog-shell li.product.product-card .pc-title a:hover {
	color: rgb(var(--card-accent));
}

.shop-catalog-shell li.product.product-card .product-card__media::after {
	background: linear-gradient(90deg, transparent, rgba(var(--card-accent), 0.82), transparent);
}

.shop-catalog-shell li.product.product-card .pc-actions .button {
	background: linear-gradient(135deg, rgba(var(--card-accent), 1), rgba(var(--card-accent), 0.72));
	color: #fff;
	box-shadow: 0 9px 22px rgba(var(--card-accent), 0.2);
}

.shop-catalog-shell li.product.product-card .pc-actions .button:hover {
	filter: saturate(1.15) brightness(0.92);
	color: #fff;
}

[data-color-theme="light"] .shop-catalog-shell .shop-hero__link {
	color: #7c3aed;
}

[data-color-theme="light"] .shop-catalog-shell .shop-hero__metrics div:nth-child(1) strong { color: #2563eb; }
[data-color-theme="light"] .shop-catalog-shell .shop-hero__metrics div:nth-child(2) strong { color: #ea580c; }
[data-color-theme="light"] .shop-catalog-shell .shop-hero__metrics div:nth-child(3) strong { color: #16a34a; }

[data-color-theme="light"] .shop-catalog-shell .quick-cat {
	background: rgba(var(--category-color), 0.08);
	color: rgb(var(--category-color));
}

[data-color-theme="light"] .shop-catalog-shell .quick-cat:hover,
[data-color-theme="light"] .shop-catalog-shell .quick-cat.is-active {
	background: rgb(var(--category-color));
	color: #fff;
}

/* ===================== BOUTIQUE : PALETTE MODE JOUR ===================== */
html[data-color-theme="light"] {
	--shop-bg: #f6f8fb;
	--shop-surface: #ffffff;
	--shop-surface-2: #f8fafc;
	--shop-surface-3: #edf2f7;
	--shop-border: rgba(15, 23, 42, 0.12);
	--shop-border-strong: rgba(15, 23, 42, 0.22);
	--shop-text: #0f172a;
	--shop-muted: #64748b;
	--shop-soft: #334155;
	--shop-accent: #0369a1;
	--shop-accent-2: #15803d;
	--shop-danger: #be123c;
	--shop-shadow: 0 16px 42px rgba(15, 23, 42, 0.12);
}

html[data-color-theme="light"] .shop-hero {
	background-image:
		linear-gradient(rgba(15, 23, 42, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(15, 23, 42, 0.045) 1px, transparent 1px);
}

html[data-color-theme="light"] .shop-hero__metrics div,
html[data-color-theme="light"] .shop-hero__link,
html[data-color-theme="light"] .shop-hero__panel-head,
html[data-color-theme="light"] .filter-cat a em,
html[data-color-theme="light"] .license-chip,
html[data-color-theme="light"] .shop-active-filters em,
html[data-color-theme="light"] .product-software-specs div,
html[data-color-theme="light"] .product-badge,
html[data-color-theme="light"] .pc-details,
html[data-color-theme="light"] .shop-empty {
	background: rgba(15, 23, 42, 0.035);
}

html[data-color-theme="light"] .shop-hero__panel {
	background: rgba(255, 255, 255, 0.94);
}

html[data-color-theme="light"] .shop-hero__button,
html[data-color-theme="light"] .shop-search button,
html[data-color-theme="light"] .woocommerce-product-search button {
	background: #0f172a;
	color: #ffffff;
}

html[data-color-theme="light"] .price-inputs input,
html[data-color-theme="light"] .shop-search input[type="search"],
html[data-color-theme="light"] .woocommerce-product-search input[type="search"],
html[data-color-theme="light"] .shop-ordering select,
html[data-color-theme="light"] .woocommerce-ordering select,
html[data-color-theme="light"] .woocommerce form .form-row input.input-text,
html[data-color-theme="light"] .woocommerce form .form-row textarea,
html[data-color-theme="light"] .woocommerce form .form-row select,
html[data-color-theme="light"] .woocommerce-checkout input.input-text,
html[data-color-theme="light"] .select2-container .select2-selection,
html[data-color-theme="light"] .woocommerce .quantity input.qty {
	border-color: var(--shop-border-strong) !important;
	background: #ffffff !important;
	color: var(--shop-text) !important;
}

html[data-color-theme="light"] .price-inputs input::placeholder,
html[data-color-theme="light"] .shop-search input::placeholder,
html[data-color-theme="light"] .woocommerce-product-search input::placeholder,
html[data-color-theme="light"] .woocommerce form input::placeholder,
html[data-color-theme="light"] .woocommerce form textarea::placeholder {
	color: #7b8798;
}

html[data-color-theme="light"] .product-card__media {
	background:
		linear-gradient(135deg, rgba(15, 23, 42, 0.05), transparent 38%),
		linear-gradient(180deg, #f8fafc, #e8eef5);
}

html[data-color-theme="light"] .pc-badge-digital {
	border-color: rgba(15, 23, 42, 0.14);
	background: rgba(255, 255, 255, 0.88);
	color: var(--shop-text);
}

html[data-color-theme="light"] .pc-stock.in,
html[data-color-theme="light"] li.product.product-card .button.is-added,
html[data-color-theme="light"] li.product.product-card .button.added {
	background: rgba(22, 163, 74, 0.11);
	border-color: rgba(22, 101, 52, 0.3);
	color: #166534;
}

html[data-color-theme="light"] .pc-stock.out,
html[data-color-theme="light"] .search-suggestions__message.is-error {
	background: rgba(190, 18, 60, 0.09);
	color: #be123c;
}

html[data-color-theme="light"] .btn-apply,
html[data-color-theme="light"] li.product.product-card .button:hover,
html[data-color-theme="light"] li.product.product-card .added_to_cart:hover,
html[data-color-theme="light"] .woocommerce nav.woocommerce-pagination ul li span.current,
html[data-color-theme="light"] .woocommerce nav.woocommerce-pagination ul li a:hover,
html[data-color-theme="light"] .woocommerce div.product form.cart .button.single_add_to_cart_button,
html[data-color-theme="light"] .woocommerce div.product form.cart .button,
html[data-color-theme="light"] .woocommerce a.button:not(.is-link),
html[data-color-theme="light"] .woocommerce button.button,
html[data-color-theme="light"] .woocommerce input.button,
html[data-color-theme="light"] .woocommerce #respond input#submit,
html[data-color-theme="light"] .woocommerce a.button.alt,
html[data-color-theme="light"] .woocommerce button.button.alt,
html[data-color-theme="light"] .wc-block-components-button:not(.is-link),
html[data-color-theme="light"] .shop-empty > div .shop-empty__primary {
	background: #0369a1;
	color: #ffffff;
}

html[data-color-theme="light"] .woocommerce a.button:hover,
html[data-color-theme="light"] .woocommerce button.button:hover,
html[data-color-theme="light"] .woocommerce input.button:hover,
html[data-color-theme="light"] .woocommerce a.button.alt:hover,
html[data-color-theme="light"] .woocommerce button.button.alt:hover {
	color: #ffffff;
}

html[data-color-theme="light"] .woocommerce-message .button,
html[data-color-theme="light"] .woocommerce-info .button {
	background: transparent;
	color: var(--shop-accent);
}

html[data-color-theme="light"] .woocommerce-checkout #payment div.payment_box {
	background: var(--shop-surface-2);
	color: var(--shop-muted);
}

html[data-color-theme="light"] .woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--shop-surface-2);
}

html[data-color-theme="light"] .devpro-search-suggestions {
	background: #ffffff;
	box-shadow: 0 22px 56px rgba(15, 23, 42, 0.16);
}

html[data-color-theme="light"] .search-suggestion:hover,
html[data-color-theme="light"] .search-suggestion.is-active,
html[data-color-theme="light"] .search-suggestion[aria-selected="true"] {
	background: rgba(2, 132, 199, 0.09);
}

html[data-color-theme="light"] .shop-catalog-shell::after {
	border-color: rgba(15, 23, 42, 0.14);
	border-top-color: var(--shop-accent);
	box-shadow: 0 14px 36px rgba(15, 23, 42, 0.16);
}

html[data-color-theme="light"] .wc-block-components-text-input input,
html[data-color-theme="light"] .wc-block-components-combobox .wc-block-components-combobox-control input,
html[data-color-theme="light"] .wc-block-components-address-form select,
html[data-color-theme="light"] .wc-block-components-quantity-selector,
html[data-color-theme="light"] .wc-block-components-totals-coupon__form input {
	border-color: var(--shop-border-strong) !important;
	background: #ffffff !important;
	color: var(--shop-text) !important;
}

html[data-color-theme="light"] .select2-dropdown,
html[data-color-theme="light"] .select2-container--default .select2-results__option {
	border-color: var(--shop-border-strong);
	background: #ffffff;
	color: var(--shop-soft);
}

html[data-color-theme="light"] .select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: rgba(2, 132, 199, 0.12);
	color: var(--shop-text);
}

html[data-color-theme="light"] .wc-block-components-notice-banner {
	background: var(--shop-surface-2) !important;
}

/* ================= AUDIT COMPLET : REFLOW ET ACTIONS WOO ================ */
.price-inputs {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.price-inputs > *,
.price-inputs input,
.shop-toolbar__controls,
.shop-toolbar__controls > *,
.shop-ordering,
.woocommerce-ordering,
.shop-ordering select,
.woocommerce-ordering select {
	min-width: 0;
}

.filter-cat a,
.license-chip,
.quick-cat,
.shop-active-filters > * {
	max-width: 100%;
	min-width: 0;
	overflow-wrap: anywhere;
}

.filter-cat a em,
.quick-cat > span,
.license-chip > span {
	flex: 0 0 auto;
}

.license-chip,
.shop-active-filters em,
.shop-active-filters a {
	white-space: normal;
}

.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	max-width: 100%;
}

.woocommerce nav.woocommerce-pagination ul li {
	flex: 0 0 auto;
}

.woocommerce ul.products li.product.product-card,
li.product.product-card {
	min-width: 0;
	overflow: visible;
}

.product-card__media {
	border-radius: 7px 7px 0 0;
}

.product-card__body,
.pc-meta,
.pc-rating-row,
.pc-title,
.pc-title a,
.pc-desc,
.pc-includes,
.pc-includes span {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.pc-license-chip {
	max-width: 100%;
	min-width: 0;
	white-space: normal;
	overflow-wrap: anywhere;
}

.woocommerce ul.products li.product.product-card .pc-actions > .button,
.woocommerce ul.products li.product.product-card .pc-actions > .added_to_cart {
	display: inline-flex;
	float: none;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 44px;
	margin: 0 !important;
	padding: 8px 10px;
	line-height: 1.2;
	text-align: center;
	white-space: normal;
	overflow-wrap: anywhere;
}

.woocommerce ul.products li.product.product-card .pc-actions > .button.loading,
.woocommerce ul.products li.product.product-card .pc-actions > .button.is-adding {
	position: relative;
	padding: 8px 10px !important;
}

.woocommerce ul.products li.product.product-card .pc-actions > .button.loading::after,
.woocommerce ul.products li.product.product-card .pc-actions > .button.is-adding::after {
	position: static !important;
	inset: auto !important;
	flex: 0 0 12px;
	margin: 0;
	margin-inline-start: 7px;
	opacity: 1;
	vertical-align: middle;
}

.woocommerce div.product .summary,
.woocommerce div.product form.cart,
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
	min-width: 0;
	max-width: 100%;
}

.woocommerce div.product form.cart .variations,
.woocommerce div.product form.grouped_form .group_table {
	width: 100%;
	table-layout: fixed;
}

.woocommerce div.product form.cart .variations select {
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
}

.woocommerce div.product form.grouped_form .group_table td,
.woocommerce div.product form.grouped_form .group_table th {
	overflow-wrap: anywhere;
}

.woocommerce-checkout #place_order {
	float: none;
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
}

.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout #payment .payment_method_paypal label,
.woocommerce-checkout #payment ul.payment_methods li label {
	max-width: 100%;
	overflow-wrap: anywhere;
}

.woocommerce-checkout #payment ul.payment_methods li label img {
	max-width: min(100%, 180px);
	height: auto;
}

.wc-block-components-sidebar-layout,
.wc-block-components-sidebar-layout > *,
.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.wc-block-components-totals-coupon__form,
.wc-block-components-totals-coupon__form > * {
	min-width: 0;
}

.wc-block-components-totals-coupon__form {
	display: flex;
	flex-wrap: wrap;
}

.wc-block-components-totals-coupon__form .wc-block-components-text-input {
	flex: 1 1 180px;
}

@media (max-width: 1180px) {
	.shop-toolbar {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
	}
}

@media (max-width: 680px) {
	.shop-toolbar__controls {
		grid-template-columns: minmax(0, 1fr);
	}

	.shop-toolbar__controls .woocommerce-ordering,
	.shop-toolbar__controls .shop-ordering,
	.shop-toolbar__controls select {
		width: 100%;
	}

	.woocommerce div.product form.cart .variations,
	.woocommerce div.product form.cart .variations tbody,
	.woocommerce div.product form.cart .variations tr,
	.woocommerce div.product form.cart .variations th,
	.woocommerce div.product form.cart .variations td {
		display: block;
		width: 100%;
	}

	.woocommerce div.product form.cart .variations th {
		padding-bottom: 4px;
	}

	.woocommerce div.product form.cart .variations td {
		padding: 0 0 12px;
	}

	.wc-block-components-totals-coupon__form {
		align-items: stretch;
		flex-direction: column;
	}

	.wc-block-components-totals-coupon__form > *,
	.wc-block-components-totals-coupon__form .wc-block-components-button {
		width: 100%;
	}
}

/* ==================== DYNAMIC CATALOGUE / ACCESSIBILITÉ ================= */
.shop-breadcrumb .woocommerce-breadcrumb {
	margin: 0 0 24px;
	color: var(--shop-muted);
}

.woo-archive-main .shop-wrap {
	padding-top: 112px;
}

.shop-hero__title {
	font-size: clamp(2.35rem, 6vw, 4.6rem);
	letter-spacing: -0.055em;
}

.shop-quick-cats .quick-cat {
	min-height: 44px;
}

.quick-cat > span,
.license-chip > span {
	color: var(--shop-muted);
	font-size: 0.72rem;
}

.quick-cat > span {
	display: inline-grid;
	place-items: center;
	min-inline-size: 1.5rem;
	min-height: 1.5rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.07);
	padding-inline: 0.4rem;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

html[data-color-theme="light"] .quick-cat > span {
	background: rgba(15, 23, 42, 0.07);
}

.quick-cat.is-active > span {
	background: rgba(56, 189, 248, 0.16);
}

.quick-cat.is-active > span,
.license-chip.is-sel > span {
	color: currentColor;
}

.shop-catalog-shell {
	position: relative;
}

.shop-catalog-shell::after {
	position: fixed;
	top: 96px;
	left: 50%;
	z-index: 1900;
	width: 42px;
	height: 42px;
	margin-left: -21px;
	border: 3px solid rgba(255, 255, 255, 0.14);
	border-top-color: var(--shop-accent);
	border-radius: 50%;
	background: var(--shop-surface);
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.38);
	opacity: 0;
	pointer-events: none;
	content: "";
	transition: opacity 0.16s ease;
	animation: devpro-spin 0.72s linear infinite;
}

.shop-catalog-shell.is-loading::after {
	opacity: 1;
}

.shop-catalog-shell.is-loading .shop-layout,
.shop-catalog-shell.is-loading .shop-quick-cats,
.shop-catalog-shell.is-loading .shop-mobile-tools {
	opacity: 0.48;
	pointer-events: none;
}

@keyframes devpro-spin {
	to { transform: rotate(360deg); }
}

.shop-mobile-tools,
.filter-close,
.shop-filter-overlay {
	display: none;
}

.filter-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.shop-toolbar__controls {
	min-width: 0;
}

.devpro-product-search__field {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}

.devpro-product-search__field .search-field {
	width: 100%;
}

.devpro-search-suggestions {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 120;
	width: min(520px, calc(100vw - 40px));
	max-height: 390px;
	border: 1px solid var(--shop-border-strong);
	border-radius: 12px;
	background: #101419;
	box-shadow: 0 22px 56px rgba(0, 0, 0, 0.48);
	padding: 7px;
	overflow-y: auto;
}

.devpro-search-suggestions[hidden] {
	display: none;
}

.search-suggestion {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 11px;
	align-items: center;
	min-height: 66px;
	border-radius: 9px;
	color: var(--shop-text);
	padding: 7px;
	transition: background 0.16s ease;
}

.search-suggestion:hover,
.search-suggestion.is-active,
.search-suggestion[aria-selected="true"] {
	background: rgba(56, 189, 248, 0.1);
}

.search-suggestion__image {
	width: 54px;
	height: 50px;
	border-radius: 7px;
	background: var(--shop-surface-3);
	object-fit: contain;
}

.search-suggestion__content,
.search-suggestion__meta {
	display: flex;
}

.search-suggestion__content {
	min-width: 0;
	flex-direction: column;
	gap: 4px;
}

.search-suggestion__name {
	overflow: hidden;
	font-size: 0.87rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.search-suggestion__meta {
	justify-content: space-between;
	gap: 10px;
	color: var(--shop-muted);
	font-size: 0.74rem;
}

.search-suggestion__price {
	color: var(--shop-accent);
	font-weight: 850;
}

.search-suggestions__message {
	color: var(--shop-muted);
	padding: 16px;
	font-size: 0.84rem;
	text-align: center;
}

.search-suggestions__message.is-error {
	color: #fda4af;
}

.pc-rating {
	color: var(--shop-text);
	font-size: 0.8rem;
	font-weight: 800;
}

.pc-rating b {
	color: var(--shop-warn);
}

.pc-rating > span {
	color: var(--shop-muted);
	font-weight: 600;
}

li.product.product-card .button.is-adding,
li.product.product-card .button.loading {
	opacity: 0.7;
	pointer-events: none;
}

li.product.product-card .button.is-adding::after,
li.product.product-card .button.loading::after {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 7px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	content: "";
	animation: devpro-spin 0.7s linear infinite;
}

li.product.product-card .button.is-added,
li.product.product-card .button.added {
	background: rgba(34, 197, 94, 0.16);
	border-color: rgba(34, 197, 94, 0.44);
	color: #86efac;
}

.shop-empty {
	display: grid;
	justify-items: center;
	min-height: 420px;
	border: 1px dashed var(--shop-border-strong);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.025);
	padding: 58px 24px;
	text-align: center;
}

.shop-empty__icon {
	display: grid;
	place-items: center;
	width: 68px;
	height: 68px;
	border: 1px solid rgba(56, 189, 248, 0.28);
	border-radius: 18px;
	background: rgba(56, 189, 248, 0.08);
	color: var(--shop-accent);
}

.shop-empty__icon svg { width: 32px; height: 32px; }
.shop-empty__eyebrow { margin-top: 22px; color: var(--shop-accent); font-size: 0.74rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.shop-empty h2 { max-width: 560px; margin-top: 7px; color: var(--shop-text); font-size: clamp(1.5rem, 4vw, 2.2rem); line-height: 1.12; }
.shop-empty > p:not(.shop-empty__eyebrow) { max-width: 500px; margin-top: 12px; color: var(--shop-muted); }
.shop-empty > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 22px; }
.shop-empty > div a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 1px solid var(--shop-border-strong); border-radius: 9px; color: var(--shop-soft); padding: 0 16px; font-weight: 800; }
.shop-empty > div .shop-empty__primary { border-color: var(--shop-accent); background: var(--shop-accent); color: #06121f; }

.woocommerce .related.products ul.products,
.woocommerce .up-sells ul.products,
.woocommerce .home-shop__products ul.products,
.home-shop__products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

/* Mon compte et blocs WooCommerce modernes. */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.wc-block-cart,
.wc-block-checkout {
	border: 1px solid var(--shop-border);
	border-radius: 14px;
	background: var(--shop-surface);
	color: var(--shop-soft);
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 28%;
	padding: 14px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; border-radius: 8px; color: var(--shop-soft); padding: 10px 12px; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: rgba(56, 189, 248, 0.1); color: var(--shop-accent); }
.woocommerce-account .woocommerce-MyAccount-content { width: 69%; padding: 24px; }

.wc-block-cart,
.wc-block-checkout { padding: clamp(14px, 3vw, 28px); }
.wc-block-components-main,
.wc-block-components-sidebar { color: var(--shop-soft); }
.wc-block-components-title,
.wc-block-components-product-name,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value { color: var(--shop-text) !important; }
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-address-form select { border-color: var(--shop-border-strong) !important; background: #0b0c0f !important; color: var(--shop-text) !important; }
.wc-block-components-button:not(.is-link) { border-radius: 9px; background: var(--shop-accent); color: #06121f; font-weight: 900; }
.wc-block-components-sidebar-layout .wc-block-components-main { padding-right: clamp(12px, 3vw, 32px); }
.wc-block-components-text-input label,
.wc-block-components-checkbox .wc-block-components-checkbox__label,
.wc-block-components-radio-control__label,
.wc-block-components-radio-control-accordion-option label,
.wc-block-checkout__terms,
.wc-block-checkout__terms a { color: var(--shop-soft) !important; }
.wc-block-components-checkbox input,
.wc-block-components-radio-control input { accent-color: var(--shop-accent); }
.wc-block-components-notice-banner {
	border: 1px solid var(--shop-border-strong) !important;
	border-left: 4px solid var(--shop-accent) !important;
	border-radius: 9px !important;
	background: var(--shop-surface-2) !important;
	color: var(--shop-soft) !important;
}
.wc-block-components-notice-banner.is-error { border-left-color: var(--shop-danger) !important; }
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-checkout__payment-method,
.wc-block-components-panel,
.wc-block-components-totals-coupon__form {
	border-color: var(--shop-border) !important;
	background: transparent !important;
	color: var(--shop-soft) !important;
}
.wc-block-components-quantity-selector {
	border-color: var(--shop-border-strong) !important;
	background: #0b0c0f !important;
	color: var(--shop-text) !important;
}
.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector button { color: var(--shop-text) !important; }
.wc-block-components-totals-coupon__form input { background: #0b0c0f !important; color: var(--shop-text) !important; }

.select2-dropdown,
.select2-container--default .select2-results__option {
	border-color: var(--shop-border-strong);
	background: #0b0c0f;
	color: var(--shop-soft);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: rgba(56, 189, 248, 0.18); color: var(--shop-text); }
.woocommerce div.product form.cart .variations { color: var(--shop-soft); }
.woocommerce div.product form.cart .variations label { color: var(--shop-text); }
.woocommerce div.product form.cart .reset_variations { color: var(--shop-danger); }
.woocommerce table.my_account_orders,
.woocommerce table.woocommerce-table--order-details,
.woocommerce .woocommerce-customer-details address {
	border-color: var(--shop-border);
	border-radius: 10px;
	background: var(--shop-surface);
	color: var(--shop-soft);
}

@media (max-width: 1100px) {
	.woocommerce .related.products ul.products,
	.woocommerce .up-sells ul.products,
	.woocommerce .home-shop__products ul.products,
	.home-shop__products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 940px) {
	.has-devpro-store .shop-mobile-tools {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
		margin-bottom: 14px;
	}

	.shop-mobile-tools > span {
		color: var(--shop-muted);
		font-size: 0.84rem;
	}

	.has-devpro-store .shop-filter-toggle,
	.has-devpro-store .filter-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		border: 1px solid var(--shop-border-strong);
		border-radius: 9px;
		background: var(--shop-surface);
		color: var(--shop-text);
		font-weight: 850;
		cursor: pointer;
	}

	.has-devpro-store .shop-filter-toggle { gap: 8px; padding: 0 14px; }
	.has-devpro-store .shop-filter-toggle svg { width: 19px; height: 19px; }
	.has-devpro-store .filter-close { width: 44px; flex: 0 0 auto; font-size: 1.35rem; }

	.has-devpro-store .shop-sidebar {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 2300;
		width: min(390px, 100%);
		height: 100vh;
		height: 100dvh;
		background: var(--shop-surface);
		padding: 14px;
		overflow-y: auto;
		visibility: hidden;
		transform: translateX(104%);
		transition: transform 0.22s ease, visibility 0.22s step-end;
	}

	.has-devpro-store .shop-sidebar.is-open {
		visibility: visible;
		transform: translateX(0);
		transition: transform 0.22s ease, visibility 0s;
	}

	.has-devpro-store .shop-sidebar .filter-card { border: 0; }
	.shop-filter-overlay {
		position: fixed;
		inset: 0;
		z-index: 2200;
		border: 0;
		background: rgba(2, 5, 9, 0.72);
		backdrop-filter: blur(3px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease, visibility 0.2s step-end;
	}

	body.is-filter-drawer-open { overflow: hidden; }
	body.is-filter-drawer-open .shop-filter-overlay {
		display: block;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transition: opacity 0.2s ease, visibility 0s;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-content { margin-top: 16px; }
}

@media (max-width: 680px) {
	.woocommerce .related.products ul.products,
	.woocommerce .up-sells ul.products,
	.woocommerce .home-shop__products ul.products,
	.home-shop__products ul.products { grid-template-columns: 1fr; }
	.devpro-search-suggestions { right: 0; left: auto; width: calc(100vw - 40px); }
	.shop-empty { min-height: 360px; padding: 42px 18px; }
}

/* ===================== BOUTONS : LARGEURS RÉSILIENTES =================== */
.woocommerce .shop-main ul.products,
.shop-main ul.products {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 245px), 1fr));
}

.pc-footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	align-items: stretch;
	width: 100%;
	min-width: 0;
}

.pc-price {
	min-width: 0;
	max-width: 100%;
	font-size: clamp(1rem, 1.7vw, 1.12rem);
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.pc-price .woocommerce-Price-amount,
.pc-price bdi {
	max-width: 100%;
}

.pc-price bdi {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.22em;
	unicode-bidi: isolate;
}

.pc-actions {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: 8px;
	align-items: stretch;
	width: 100%;
	min-width: 0;
	flex: none;
}

.pc-details,
li.product.product-card .button,
li.product.product-card .added_to_cart {
	width: 100%;
	min-width: 0;
	min-height: 44px;
	max-width: 100%;
	padding: 8px 10px;
	line-height: 1.2;
	text-align: center;
	white-space: normal;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.pc-actions .added_to_cart {
	grid-column: 1 / -1;
}

.btn-apply,
.shop-search button,
.woocommerce-product-search button,
.shop-hero__button,
.shop-hero__link,
.shop-filter-toggle,
.shop-empty > div a {
	max-width: 100%;
	min-width: 0;
	min-height: 44px;
	line-height: 1.25;
	text-align: center;
	white-space: normal;
	overflow-wrap: anywhere;
}

.woocommerce :where(a.button, button.button, input.button, #respond input#submit) {
	max-width: 100%;
	min-height: 44px;
	line-height: 1.25;
	text-align: center;
	white-space: normal;
	overflow-wrap: anywhere;
}

.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form),
.woocommerce div.product .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}

.woocommerce div.product form.cart .quantity,
.woocommerce div.product .woocommerce-variation-add-to-cart .quantity {
	float: none;
	flex: 0 0 80px;
	margin: 0;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button,
.woocommerce div.product .woocommerce-variation-add-to-cart .button {
	flex: 1 1 190px;
	max-width: 100%;
	min-height: 46px;
	white-space: nowrap;
	overflow-wrap: normal;
	line-height: 1.2;
}

.woocommerce div.product form.grouped_form .single_add_to_cart_button {
	width: 100%;
}

.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button {
	min-width: 0;
	min-height: 48px;
	max-width: 100%;
	padding-inline: clamp(14px, 3vw, 24px);
	line-height: 1.25;
	white-space: normal !important;
	overflow-wrap: anywhere;
}

:where(.woocommerce, .wc-block-cart, .wc-block-checkout) button:disabled,
:where(.woocommerce, .wc-block-cart, .wc-block-checkout) .button.disabled,
:where(.woocommerce, .wc-block-cart, .wc-block-checkout) [aria-disabled="true"] {
	cursor: not-allowed;
	opacity: 0.55;
	transform: none !important;
}

@media (max-width: 1100px) {
	.woocommerce .shop-main ul.products,
	.shop-main ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.woocommerce .shop-main ul.products,
	.shop-main ul.products {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-checkout.devpro-checkout-contact-only .woocommerce-billing-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-checkout.devpro-checkout-contact-only :is(#billing_phone_field, #billing_email_field, #billing_address_1_field) {
		grid-column: auto;
	}

	.woocommerce-cart table.cart td.actions .coupon {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
		width: 100%;
	}

	.woocommerce-cart table.cart td.actions .coupon .input-text,
	.woocommerce-cart table.cart td.actions .coupon .button,
	.woocommerce-cart table.cart td.actions > .button {
		float: none;
		width: 100% !important;
		margin: 0;
	}
}

@media (max-width: 480px) {
	.woocommerce div.product form.cart .button.single_add_to_cart_button,
	.woocommerce div.product .woocommerce-variation-add-to-cart .button {
		flex: 1 0 100%;
		width: 100%;
	}
}

/* ===================== CATALOGUE : FINITION PREMIUM ==================== */
.shop-catalog-shell {
	--shop-radius-sm: 12px;
	--shop-radius-md: 18px;
	--shop-radius-lg: 28px;
}

.shop-catalog-shell .shop-hero {
	position: relative;
	isolation: isolate;
	align-items: center;
	overflow: hidden;
	margin-bottom: 26px;
	padding: clamp(32px, 5vw, 62px);
	border: 1px solid var(--shop-border);
	border-radius: var(--shop-radius-lg);
	background:
		radial-gradient(circle at 9% 18%, rgba(56, 189, 248, 0.19), transparent 33%),
		radial-gradient(circle at 82% 20%, rgba(99, 102, 241, 0.16), transparent 28%),
		linear-gradient(135deg, var(--shop-surface-2), var(--shop-surface));
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.18), inset 0 1px rgba(255, 255, 255, 0.05);
}

.shop-catalog-shell .shop-hero::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 38px 38px;
	content: '';
	mask-image: linear-gradient(90deg, #000, transparent 76%);
}

.shop-catalog-shell .shop-hero__title {
	font-size: clamp(2.45rem, 5vw, 4.75rem);
	line-height: 0.98;
	letter-spacing: -0.055em;
}

.shop-catalog-shell .shop-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 11px;
	border: 1px solid rgba(56, 189, 248, 0.2);
	border-radius: 999px;
	background: rgba(56, 189, 248, 0.08);
}

.shop-catalog-shell .shop-hero__eyebrow::before {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--shop-accent-2);
	box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.1);
	content: '';
}

.shop-catalog-shell .shop-hero__button {
	background: linear-gradient(135deg, #38bdf8, #60a5fa);
	color: #06121f;
	box-shadow: 0 14px 30px rgba(56, 189, 248, 0.2);
}

.shop-catalog-shell .shop-hero__metrics div {
	border-radius: var(--shop-radius-sm);
	background: rgba(255, 255, 255, 0.035);
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.04);
}

.shop-catalog-shell .shop-hero__panel {
	overflow: hidden;
	border-radius: var(--shop-radius-md);
	background: rgba(8, 9, 11, 0.64);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(16px);
}

.shop-catalog-shell .shop-hero__panel-row strong {
	display: grid;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	place-items: center;
	border-radius: 10px;
	background: rgba(56, 189, 248, 0.1);
}

.shop-catalog-shell .shop-quick-cats {
	padding-block: 8px;
	scrollbar-width: thin;
}

.shop-catalog-shell .quick-cat {
	border-radius: 999px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.shop-catalog-shell .quick-cat.is-active {
	box-shadow: 0 8px 24px rgba(56, 189, 248, 0.17);
}

.shop-catalog-shell .filter-card,
.shop-catalog-shell .shop-toolbar {
	border-radius: var(--shop-radius-md);
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.08), inset 0 1px rgba(255, 255, 255, 0.04);
}

.shop-catalog-shell .filter-card {
	overflow: hidden;
}

.shop-catalog-shell .shop-toolbar {
	padding: 18px;
}

.shop-catalog-shell .shop-search input[type="search"],
.shop-catalog-shell .shop-ordering select,
.shop-catalog-shell .woocommerce-ordering select {
	border-radius: var(--shop-radius-sm);
}

.shop-catalog-shell li.product.product-card {
	border-radius: var(--shop-radius-md);
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.09), inset 0 1px rgba(255, 255, 255, 0.04);
}

.shop-catalog-shell li.product.product-card:hover {
	transform: translateY(-7px);
	border-color: rgba(56, 189, 248, 0.5);
	box-shadow: 0 26px 65px rgba(0, 0, 0, 0.2);
}

.shop-catalog-shell .product-card__media {
	aspect-ratio: 4 / 3;
	background:
		radial-gradient(circle at 50% 10%, rgba(56, 189, 248, 0.12), transparent 48%),
		linear-gradient(155deg, var(--shop-surface-3), var(--shop-surface));
}

.shop-catalog-shell .product-card__media::after {
	inset-inline: 24px;
}

.shop-catalog-shell .product-card__body {
	padding: 20px;
}

.shop-catalog-shell .pc-title {
	font-size: 1.08rem;
	letter-spacing: -0.02em;
}

.shop-catalog-shell .pc-includes span,
.shop-catalog-shell .pc-license-chip,
.shop-catalog-shell .pc-stock {
	border-radius: 999px;
}

.shop-catalog-shell .pc-actions .button {
	border-color: transparent;
	background: var(--shop-text);
	color: var(--shop-bg);
}

.shop-catalog-shell .pc-actions .button:hover {
	background: var(--shop-accent);
	color: #06121f;
}

.shop-catalog-shell :is(a, button, input, select):focus-visible {
	outline: 3px solid rgba(56, 189, 248, 0.28);
	outline-offset: 3px;
}

@media (max-width: 940px) {
	.shop-catalog-shell .shop-hero { padding: 34px; }
	.shop-catalog-shell .shop-hero__panel { max-width: none; }
}

@media (max-width: 680px) {
	.shop-wrap { padding-top: 96px; }
	.shop-catalog-shell .shop-hero { padding: 26px 20px; border-radius: 20px; }
	.shop-catalog-shell .shop-hero__title { font-size: clamp(2.15rem, 11vw, 3rem); }
	.shop-catalog-shell .shop-hero__metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.shop-catalog-shell .shop-hero__metrics div { padding: 12px 8px; }
	.shop-catalog-shell .shop-hero__metrics strong { font-size: 1.05rem; }
	.shop-catalog-shell .shop-hero__metrics span { font-size: 0.62rem; }
	.shop-catalog-shell .shop-toolbar { padding: 15px; }
	.shop-catalog-shell .product-card__body { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.shop-catalog-shell li.product.product-card:hover,
	.shop-catalog-shell .product-card:hover .product-card__media img { transform: none; }
}

/* ===================== CATALOGUE : INSPIRATION ZONE ==================== */
.shop-wrap:has(.shop-catalog-shell) {
	max-width: 1380px;
}

.shop-catalog-shell {
	position: relative;
}

.shop-catalog-shell::before,
.shop-catalog-shell::after {
	position: absolute;
	z-index: -1;
	width: 340px;
	height: 340px;
	border-radius: 50%;
	content: '';
	filter: blur(90px);
	opacity: 0.12;
	pointer-events: none;
}

.shop-catalog-shell::before {
	top: 60px;
	left: -180px;
	background: #22c55e;
}

.shop-catalog-shell::after {
	top: 420px;
	right: -180px;
	background: #6366f1;
}

.shop-catalog-shell .shop-breadcrumb {
	margin-bottom: 18px;
	font-size: 0.82rem;
}

.shop-catalog-shell .shop-hero {
	min-height: 560px;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
	gap: clamp(36px, 6vw, 86px);
	padding: clamp(42px, 6vw, 82px);
	border-radius: 36px;
}

.shop-catalog-shell .shop-hero__content {
	position: relative;
	z-index: 2;
}

.shop-catalog-shell .shop-hero__title {
	max-width: 760px;
	font-size: clamp(3rem, 5.5vw, 5.8rem);
	font-weight: 900;
	line-height: 0.94;
}

.shop-catalog-shell .shop-hero__subtitle {
	max-width: 590px;
	font-size: clamp(1rem, 1.5vw, 1.15rem);
	line-height: 1.75;
}

.shop-catalog-shell .shop-hero__actions {
	margin-top: 30px;
}

.shop-catalog-shell .shop-hero__button,
.shop-catalog-shell .shop-hero__link {
	min-height: 52px;
	padding-inline: 24px;
	border-radius: 999px;
}

.shop-catalog-shell .shop-hero__metrics {
	gap: 10px;
	margin-top: 40px;
}

.shop-catalog-shell .shop-hero__metrics div {
	padding: 15px 16px;
	border-radius: 16px;
}

.shop-catalog-shell .shop-hero__panel {
	position: relative;
	overflow: visible;
	transform: rotate(2deg);
	border-radius: 24px;
}

.shop-catalog-shell .shop-hero__panel::before,
.shop-catalog-shell .shop-hero__panel::after {
	position: absolute;
	z-index: -1;
	border: 1px solid var(--shop-border);
	border-radius: 22px;
	background: var(--shop-surface-2);
	box-shadow: var(--shop-shadow);
	content: '';
}

.shop-catalog-shell .shop-hero__panel::before {
	inset: 28px -28px -28px 28px;
	transform: rotate(4deg);
	opacity: 0.62;
}

.shop-catalog-shell .shop-hero__panel::after {
	inset: -20px 42px 42px -20px;
	transform: rotate(-5deg);
	opacity: 0.34;
}

.shop-catalog-shell .shop-hero__panel-head,
.shop-catalog-shell .shop-hero__panel-row {
	position: relative;
	z-index: 1;
	background: inherit;
}

.shop-catalog-shell .shop-hero__panel-head {
	border-radius: 24px 24px 0 0;
}

.shop-catalog-shell .shop-hero__panel-row:last-child {
	border-radius: 0 0 24px 24px;
}

.shop-catalog-shell .shop-quick-cats {
	gap: 10px;
	margin-bottom: 32px;
}

.shop-catalog-shell .quick-cat {
	min-height: 46px;
	padding-inline: 18px;
}

.shop-catalog-shell .shop-layout {
	gap: 28px;
}

.shop-catalog-shell .filter-card,
.shop-catalog-shell .shop-toolbar,
.shop-catalog-shell li.product.product-card {
	border-radius: 24px;
}

.shop-catalog-shell .shop-toolbar {
	padding: 22px 24px;
}

.shop-catalog-shell .shop-toolbar__title h2 {
	font-size: 1.65rem;
	letter-spacing: -0.04em;
}

.shop-catalog-shell .shop-search input[type="search"],
.shop-catalog-shell .shop-ordering select,
.shop-catalog-shell .woocommerce-ordering select {
	min-height: 48px;
	border-radius: 14px;
}

.shop-catalog-shell .shop-search button {
	min-height: 48px;
	border-radius: 14px;
}

.shop-catalog-shell .product-card__media {
	margin: 10px 10px 0;
	border-radius: 18px;
}

.shop-catalog-shell .product-card__media img {
	padding: 12px;
}

.shop-catalog-shell .product-card__body {
	padding: 22px;
}

.shop-catalog-shell .pc-title {
	font-size: 1.12rem;
	line-height: 1.3;
}

.shop-catalog-shell .pc-details,
.shop-catalog-shell li.product.product-card .button,
.shop-catalog-shell li.product.product-card .added_to_cart {
	border-radius: 999px;
}

[data-color-theme="light"] .shop-wrap:has(.shop-catalog-shell) {
	--shop-bg: #f8fafc;
	--shop-surface: #ffffff;
	--shop-surface-2: #f4f6f8;
	--shop-surface-3: #eef1f5;
	--shop-border: rgba(17, 24, 39, 0.1);
	--shop-border-strong: rgba(17, 24, 39, 0.18);
	--shop-text: #141a21;
	--shop-muted: #637381;
	--shop-soft: #454f5b;
	--shop-accent: #00a76f;
	--shop-accent-2: #22c55e;
	--shop-shadow: 0 24px 64px rgba(145, 158, 171, 0.22);
}

[data-color-theme="light"] .shop-catalog-shell .shop-hero {
	border-color: rgba(145, 158, 171, 0.16);
	background:
		radial-gradient(circle at 12% 20%, rgba(0, 167, 111, 0.14), transparent 34%),
		radial-gradient(circle at 82% 18%, rgba(255, 171, 0, 0.16), transparent 30%),
		linear-gradient(135deg, #f7fbf9, #ffffff 56%, #fffaf0);
	box-shadow: 0 30px 90px rgba(145, 158, 171, 0.18);
}

[data-color-theme="light"] .shop-catalog-shell .shop-hero::before {
	background-image:
		linear-gradient(rgba(20, 26, 33, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(20, 26, 33, 0.035) 1px, transparent 1px);
}

[data-color-theme="light"] .shop-catalog-shell .shop-hero__eyebrow {
	border-color: rgba(0, 167, 111, 0.18);
	background: rgba(0, 167, 111, 0.08);
}

[data-color-theme="light"] .shop-catalog-shell .shop-hero__button {
	background: #141a21;
	color: #fff;
	box-shadow: 0 14px 30px rgba(20, 26, 33, 0.18);
}

[data-color-theme="light"] .shop-catalog-shell .shop-hero__panel {
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 30px 70px rgba(145, 158, 171, 0.28);
}

[data-color-theme="light"] .shop-catalog-shell .shop-hero__panel::before,
[data-color-theme="light"] .shop-catalog-shell .shop-hero__panel::after {
	background: rgba(255, 255, 255, 0.82);
}

[data-color-theme="light"] .shop-catalog-shell .shop-hero__panel-head,
[data-color-theme="light"] .shop-catalog-shell .shop-hero__panel-row {
	background: rgba(255, 255, 255, 0.94);
}

[data-color-theme="light"] .shop-catalog-shell .quick-cat.is-active {
	border-color: rgba(0, 167, 111, 0.26);
	background: rgba(0, 167, 111, 0.09);
	color: #007867;
	box-shadow: 0 8px 24px rgba(0, 167, 111, 0.12);
}

[data-color-theme="light"] .shop-catalog-shell li.product.product-card {
	box-shadow: 0 14px 40px rgba(145, 158, 171, 0.14);
}

[data-color-theme="light"] .shop-catalog-shell li.product.product-card:hover {
	border-color: rgba(0, 167, 111, 0.32);
	box-shadow: 0 28px 65px rgba(145, 158, 171, 0.28);
}

[data-color-theme="light"] .shop-catalog-shell .product-card__media {
	background:
		radial-gradient(circle at 50% 0%, rgba(0, 167, 111, 0.1), transparent 48%),
		linear-gradient(145deg, #f4f6f8, #ffffff);
}

[data-color-theme="light"] .shop-catalog-shell .pc-actions .button {
	background: #141a21;
	color: #fff;
}

@media (max-width: 1100px) {
	.shop-catalog-shell .shop-hero {
		min-height: auto;
		grid-template-columns: 1fr;
	}

	.shop-catalog-shell .shop-hero__panel {
		max-width: 680px;
		transform: none;
	}
}

@media (max-width: 680px) {
	.shop-catalog-shell .shop-hero {
		padding: 34px 22px;
		border-radius: 24px;
	}

	.shop-catalog-shell .shop-hero__title {
		font-size: clamp(2.45rem, 12vw, 3.4rem);
	}

	.shop-catalog-shell .shop-hero__panel::before,
	.shop-catalog-shell .shop-hero__panel::after {
		display: none;
	}

	.shop-catalog-shell .shop-hero__actions {
		align-items: stretch;
	}

	.shop-catalog-shell .shop-hero__button,
	.shop-catalog-shell .shop-hero__link {
		width: 100%;
	}

	.shop-catalog-shell .filter-card,
	.shop-catalog-shell .shop-toolbar,
	.shop-catalog-shell li.product.product-card {
		border-radius: 18px;
	}
}

/* Priorité finale de la palette sur les finitions Zone. */
.shop-catalog-shell .shop-hero__button,
.shop-catalog-shell .shop-search button,
.shop-catalog-shell .btn-apply,
[data-color-theme="light"] .shop-catalog-shell .shop-hero__button {
	border: 0;
	background: linear-gradient(135deg, #00a76f 0%, #22c55e 52%, #84cc16 100%);
	color: #fff;
	box-shadow: 0 12px 28px rgba(0, 167, 111, 0.24);
}

.shop-catalog-shell .shop-hero__button:hover,
.shop-catalog-shell .shop-search button:hover,
.shop-catalog-shell .btn-apply:hover {
	background: linear-gradient(135deg, #00875a 0%, #16a34a 52%, #65a30d 100%);
	color: #fff;
}

.shop-catalog-shell .quick-cat:hover,
.shop-catalog-shell .quick-cat.is-active,
[data-color-theme="light"] .shop-catalog-shell .quick-cat:hover,
[data-color-theme="light"] .shop-catalog-shell .quick-cat.is-active {
	border-color: rgb(var(--category-color));
	background: rgb(var(--category-color));
	color: #fff;
	box-shadow: 0 10px 26px rgba(var(--category-color), 0.24);
}

.shop-catalog-shell li.product.product-card .pc-actions .button,
[data-color-theme="light"] .shop-catalog-shell li.product.product-card .pc-actions .button {
	background: linear-gradient(135deg, rgba(var(--card-accent), 1), rgba(var(--card-accent), 0.72));
	color: #fff;
	box-shadow: 0 9px 22px rgba(var(--card-accent), 0.2);
}

/* ===================== FICHE PRODUIT : INSPIRATION ZONE ================ */
.single-product .woo-wrap { max-width: 1380px; }

.single-product .woocommerce div.product {
	position: relative;
	grid-template-columns: minmax(0, 1.12fr) minmax(400px, 0.88fr);
	gap: clamp(30px, 4vw, 58px);
}

.single-product .woocommerce div.product .woocommerce-product-gallery {
	position: sticky;
	top: 106px;
	border-radius: 30px;
	background: radial-gradient(circle at 50% 0%, rgba(59, 130, 246, 0.16), transparent 48%), linear-gradient(145deg, var(--shop-surface-2), var(--shop-surface));
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.18), inset 0 1px rgba(255, 255, 255, 0.05);
}

.single-product .woocommerce div.product .woocommerce-product-gallery::after {
	position: absolute;
	inset: auto 12% 0;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, #3b82f6, #8b5cf6, #ec4899);
	content: '';
}

.single-product .woocommerce div.product .woocommerce-product-gallery__image { aspect-ratio: 4 / 3; background: transparent; }
.single-product .woocommerce div.product .woocommerce-product-gallery__image img { padding: clamp(8px, 1.5vw, 18px); transition: transform 0.35s ease; }
.single-product .woocommerce div.product .woocommerce-product-gallery:hover img { transform: scale(1.025); }

.single-product .woocommerce div.product .summary {
	position: relative;
	overflow: hidden;
	border-radius: 30px;
	background: color-mix(in srgb, var(--shop-surface) 94%, transparent);
	padding: clamp(28px, 3.4vw, 46px);
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.16), inset 0 1px rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(18px);
}

.single-product .woocommerce div.product .summary::before {
	position: absolute;
	top: 0;
	right: 0;
	width: 180px;
	height: 180px;
	border-radius: 0 0 0 100%;
	background: radial-gradient(circle at 100% 0, rgba(139, 92, 246, 0.16), transparent 70%);
	content: '';
	pointer-events: none;
}

.product-zone-kicker { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.product-zone-kicker span,
.product-zone-kicker em { display: inline-flex; align-items: center; min-height: 30px; border-radius: 999px; padding: 5px 11px; font-size: 0.72rem; font-style: normal; font-weight: 850; letter-spacing: 0.05em; text-transform: uppercase; }
.product-zone-kicker span { border: 1px solid rgba(139, 92, 246, 0.24); background: rgba(139, 92, 246, 0.1); color: #a78bfa; }
.product-zone-kicker em.is-available { border: 1px solid rgba(34, 197, 94, 0.24); background: rgba(34, 197, 94, 0.1); color: #4ade80; }
.product-zone-kicker em.is-unavailable { border: 1px solid rgba(239, 68, 68, 0.24); background: rgba(239, 68, 68, 0.1); color: #f87171; }

.single-product .woocommerce div.product .product_title { position: relative; z-index: 1; margin-bottom: 16px; font-size: clamp(2.3rem, 3.7vw, 4rem); line-height: 0.98; letter-spacing: -0.055em; }
.single-product .woocommerce div.product :is(p.price, span.price) { display: inline-flex; margin-bottom: 24px; border-radius: 14px; background: linear-gradient(135deg, rgba(59, 130, 246, 0.12), rgba(139, 92, 246, 0.12)); color: #60a5fa; padding: 10px 14px; font-size: clamp(1.35rem, 2.2vw, 1.8rem); }

.single-product .product-software-specs { gap: 10px; margin-bottom: 24px; }
.single-product .product-software-specs div { position: relative; overflow: hidden; border-radius: 16px; padding: 15px; }
.single-product .product-software-specs div::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--spec-accent); content: ''; }
.single-product .product-software-specs div:nth-child(1) { --spec-accent: #3b82f6; background: rgba(59, 130, 246, 0.08); }
.single-product .product-software-specs div:nth-child(2) { --spec-accent: #8b5cf6; background: rgba(139, 92, 246, 0.08); }
.single-product .product-software-specs div:nth-child(3) { --spec-accent: #f97316; background: rgba(249, 115, 22, 0.08); }
.single-product .product-software-specs div:nth-child(4) { --spec-accent: #22c55e; background: rgba(34, 197, 94, 0.08); }

.single-product .woocommerce div.product form.cart { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 10px; margin: 8px 0 0; padding: 18px 0 4px; border-top: 1px solid var(--shop-border); }
.single-product .woocommerce div.product form.cart .quantity { width: 100%; margin: 0; }
.single-product .woocommerce .quantity input.qty { width: 100%; min-height: 54px; border-radius: 14px; }
.single-product .woocommerce div.product form.cart .button.single_add_to_cart_button,
.single-product .woocommerce div.product form.cart .button,
[data-color-theme="light"] .single-product .woocommerce div.product form.cart .button.single_add_to_cart_button { min-height: 54px; border-radius: 14px; background: linear-gradient(135deg, #00a76f, #22c55e 55%, #84cc16); color: #fff; box-shadow: 0 14px 30px rgba(0, 167, 111, 0.24); }
.single-product .woocommerce div.product form.cart .button:hover { background: linear-gradient(135deg, #00875a, #16a34a 55%, #65a30d); color: #fff; box-shadow: 0 18px 36px rgba(0, 167, 111, 0.3); }

.single-product .product-badges { gap: 10px; }
.single-product .product-badge { --badge-color: 59, 130, 246; grid-template-columns: 44px minmax(0, 1fr); border-color: rgba(var(--badge-color), 0.2); border-radius: 16px; background: rgba(var(--badge-color), 0.07); padding: 14px; }
.single-product .product-badge:nth-child(2) { --badge-color: 139, 92, 246; }
.single-product .product-badge:nth-child(3) { --badge-color: 249, 115, 22; }
.single-product .product-badge .pb-ico { width: 44px; height: 44px; border-radius: 13px; background: rgba(var(--badge-color), 0.14); color: rgb(var(--badge-color)); }

.single-product .woocommerce div.product .woocommerce-tabs { overflow: hidden; margin-top: 46px; border: 1px solid var(--shop-border); border-radius: 24px; background: var(--shop-surface); padding: clamp(22px, 3vw, 36px); box-shadow: 0 22px 60px rgba(0, 0, 0, 0.1); }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; border-radius: 999px; background: var(--shop-surface-2); }
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-color: rgba(139, 92, 246, 0.3); background: rgba(139, 92, 246, 0.12); }
.single-product .woocommerce .related.products > h2,
.single-product .woocommerce .up-sells > h2 { font-size: clamp(2rem, 3vw, 3.2rem); letter-spacing: -0.045em; }

[data-color-theme="light"] .single-product .woocommerce div.product .woocommerce-product-gallery { background: radial-gradient(circle at 50% 0%, rgba(59, 130, 246, 0.12), transparent 48%), linear-gradient(145deg, #f4f6f8, #fff); box-shadow: 0 28px 80px rgba(145, 158, 171, 0.22); }
[data-color-theme="light"] .single-product .woocommerce div.product .summary,
[data-color-theme="light"] .single-product .woocommerce div.product .woocommerce-tabs { background: rgba(255, 255, 255, 0.94); box-shadow: 0 28px 80px rgba(145, 158, 171, 0.2); }
[data-color-theme="light"] .product-zone-kicker span { color: #7c3aed; }
[data-color-theme="light"] .product-zone-kicker em.is-available { color: #15803d; }
[data-color-theme="light"] .single-product .woocommerce div.product :is(p.price, span.price) { color: #2563eb; }

@media (max-width: 940px) {
	.single-product .woocommerce div.product { grid-template-columns: 1fr; }
	.single-product .woocommerce div.product .woocommerce-product-gallery { position: relative; top: auto; }
}

@media (max-width: 600px) {
	.single-product .woocommerce div.product .woocommerce-product-gallery,
	.single-product .woocommerce div.product .summary { border-radius: 20px; }
	.single-product .woocommerce div.product .summary { padding: 24px 18px; }
	.single-product .woocommerce div.product .product_title { font-size: clamp(2.15rem, 11vw, 3rem); }
	.single-product .product-software-specs { grid-template-columns: 1fr; }
	.single-product .woocommerce div.product form.cart { grid-template-columns: 64px minmax(0, 1fr); }
	.single-product .woocommerce div.product .woocommerce-tabs { border-radius: 18px; padding: 20px 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.single-product .woocommerce div.product .woocommerce-product-gallery:hover img,
	.single-product .woocommerce div.product form.cart .button:hover { transform: none; }
}

/* ===================== FICHE PRODUIT : AQUARIUM ======================== */
.single-product .woo-wrap {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	max-width: none;
	padding-inline: max(20px, calc((100vw - 1340px) / 2));
	background: linear-gradient(180deg, rgba(1, 40, 72, 0.94), rgba(2, 82, 108, 0.86) 44%, rgba(1, 31, 53, 0.98));
}

.single-product .woo-wrap::before {
	position: absolute;
	inset: 0;
	z-index: -2;
	background: repeating-linear-gradient(112deg, transparent 0 90px, rgba(186, 230, 253, 0.055) 92px 122px, transparent 124px 210px), radial-gradient(ellipse at 50% 0, rgba(186, 230, 253, 0.32), transparent 42%);
	content: '';
	pointer-events: none;
}

.single-product .woocommerce-breadcrumb,
.single-product .woocommerce-notices-wrapper,
.single-product .woocommerce div.product { position: relative; z-index: 2; }
.single-product .woocommerce-breadcrumb,
.single-product .woocommerce-breadcrumb a { color: rgba(224, 242, 254, 0.78); }

.product-aquarium { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.product-aquarium__rays { position: absolute; top: -8%; left: 12%; width: 72%; height: 55%; background: conic-gradient(from 168deg at 50% 0, transparent 0 12deg, rgba(186,230,253,.1) 14deg 22deg, transparent 24deg 38deg, rgba(186,230,253,.08) 40deg 48deg, transparent 50deg); filter: blur(7px); }

.product-aquarium__fish { position: absolute; left: -150px; width: 92px; height: 46px; animation: product-fish-swim 24s linear infinite; }
.product-aquarium__fish span { position: absolute; inset: 5px 13px 5px 7px; border-radius: 55% 48% 48% 55%; background: linear-gradient(145deg, #fbbf24, #f97316 62%, #ea580c); box-shadow: inset 0 7px rgba(255,255,255,.18), 0 8px 20px rgba(1,25,45,.2); }
.product-aquarium__fish span::before { position: absolute; top: 5px; right: 9px; width: 6px; height: 6px; border: 2px solid #fff; border-radius: 50%; background: #071521; content: ''; }
.product-aquarium__fish span::after { position: absolute; top: 8px; left: -24px; width: 28px; height: 28px; background: #fb923c; clip-path: polygon(100% 50%, 0 0, 18% 50%, 0 100%); content: ''; }
.product-aquarium__fish--one { top: 17%; animation-delay: -4s; }
.product-aquarium__fish--two { top: 39%; animation-delay: -14s; animation-duration: 31s; scale: .72; }
.product-aquarium__fish--three { top: 64%; animation-delay: -20s; animation-duration: 28s; scale: .9; }
.product-aquarium__fish--four { top: 81%; animation-delay: -9s; animation-duration: 35s; scale: .58; }
.product-aquarium__fish--two span { background: linear-gradient(145deg, #a78bfa, #6366f1 62%, #4338ca); }
.product-aquarium__fish--two span::after { background: #818cf8; }
.product-aquarium__fish--three span { background: linear-gradient(145deg, #5eead4, #14b8a6 62%, #0f766e); }
.product-aquarium__fish--three span::after { background: #2dd4bf; }
.product-aquarium__fish--four span { background: linear-gradient(145deg, #f9a8d4, #ec4899 62%, #be185d); }
.product-aquarium__fish--four span::after { background: #f472b6; }

.product-aquarium__bubbles { position: absolute; bottom: -80px; width: 13px; height: 13px; border: 2px solid rgba(224,242,254,.45); border-radius: 50%; box-shadow: 28px -46px 0 -3px rgba(224,242,254,.28), -13px -92px 0 2px rgba(224,242,254,.22), 22px -142px 0 -1px rgba(224,242,254,.3); animation: product-bubbles-rise 13s ease-in infinite; }
.product-aquarium__bubbles--one { left: 8%; }
.product-aquarium__bubbles--two { left: 52%; animation-delay: -7s; animation-duration: 16s; }
.product-aquarium__bubbles--three { right: 10%; animation-delay: -11s; animation-duration: 18s; }

.product-aquarium__floor { position: absolute; inset: auto 0 0; height: 150px; background: radial-gradient(ellipse at 20% 100%, #0f766e 0 12%, transparent 13%), radial-gradient(ellipse at 72% 110%, #115e59 0 18%, transparent 19%), linear-gradient(transparent, rgba(1,22,38,.9)); }
.product-aquarium__floor i { position: absolute; bottom: -18px; width: 16px; height: 125px; border-radius: 50% 50% 0 0; background: linear-gradient(#34d399, #047857); transform-origin: bottom; animation: product-plant-sway 5s ease-in-out infinite alternate; }
.product-aquarium__floor i:nth-child(1) { left: 5%; }
.product-aquarium__floor i:nth-child(2) { left: 12%; height: 86px; animation-delay: -2s; }
.product-aquarium__floor i:nth-child(3) { left: 31%; height: 105px; animation-delay: -3s; }
.product-aquarium__floor i:nth-child(4) { right: 28%; height: 92px; animation-delay: -1s; }
.product-aquarium__floor i:nth-child(5) { right: 12%; height: 132px; animation-delay: -4s; }
.product-aquarium__floor i:nth-child(6) { right: 5%; height: 78px; }

.single-product .woocommerce div.product .summary,
.single-product .woocommerce div.product .woocommerce-tabs { background: rgba(4,30,50,.78); border-color: rgba(186,230,253,.16); box-shadow: 0 28px 80px rgba(1,18,32,.3), inset 0 1px rgba(255,255,255,.06); backdrop-filter: blur(18px); }

/* La galerie reste opaque : l'image de couverture n'est jamais teintée. */
.single-product .woocommerce div.product .woocommerce-product-gallery { z-index: 3; background: var(--shop-surface); box-shadow: 0 28px 80px rgba(1,18,32,.34); }
.single-product .woocommerce div.product .woocommerce-product-gallery__image { background: var(--shop-surface-2); }

[data-color-theme="light"] .single-product .woo-wrap { background: linear-gradient(180deg, rgba(186,230,253,.96), rgba(103,232,249,.76) 44%, rgba(14,116,144,.86)); }
[data-color-theme="light"] .single-product .woocommerce-breadcrumb,
[data-color-theme="light"] .single-product .woocommerce-breadcrumb a { color: #164e63; }
[data-color-theme="light"] .single-product .woocommerce div.product .summary,
[data-color-theme="light"] .single-product .woocommerce div.product .woocommerce-tabs { background: rgba(255,255,255,.84); border-color: rgba(14,116,144,.18); box-shadow: 0 28px 80px rgba(14,116,144,.18); }
[data-color-theme="light"] .single-product .woocommerce div.product .woocommerce-product-gallery { background: #fff; }

@keyframes product-fish-swim { 0% { left: -150px; } 48% { transform: translateY(-20px) rotate(-2deg); } 100% { left: calc(100% + 150px); transform: translateY(12px) rotate(2deg); } }
@keyframes product-bubbles-rise { 0% { transform: translateY(0) scale(.6); opacity: 0; } 14% { opacity: 1; } 100% { transform: translateY(-110vh) scale(1.2); opacity: 0; } }
@keyframes product-plant-sway { from { transform: rotate(-8deg); } to { transform: rotate(9deg); } }

@media (max-width: 680px) {
	.single-product .woo-wrap { padding-inline: 16px; }
	.product-aquarium__fish { opacity: .72; scale: .62; }
	.product-aquarium__floor { height: 105px; }
}

@media (prefers-reduced-motion: reduce) {
	.product-aquarium__fish,
	.product-aquarium__bubbles,
	.product-aquarium__floor i { animation: none; }
	.product-aquarium__fish { display: none; }
}

/* ===================== ACCUEIL : AQUARIUM LOGICIELS ==================== */
.home-shop:has(.home-shop__aquarium) {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(2, 66, 94, 0.97), rgba(5, 112, 128, 0.91) 48%, rgba(1, 44, 70, 0.98)),
		radial-gradient(circle at 50% 0, rgba(186, 230, 253, 0.46), transparent 44%);
}

.home-shop:has(.home-shop__aquarium)::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		repeating-linear-gradient(112deg, transparent 0 100px, rgba(224, 242, 254, 0.05) 102px 136px, transparent 138px 230px),
		radial-gradient(ellipse at 12% 22%, rgba(56, 189, 248, 0.2), transparent 28%),
		radial-gradient(ellipse at 86% 34%, rgba(45, 212, 191, 0.18), transparent 30%);
	content: '';
	pointer-events: none;
}

.home-shop:has(.home-shop__aquarium) > .container {
	position: relative;
	z-index: 2;
}

.home-shop__aquarium {
	z-index: 1;
}

.home-shop__aquarium .product-aquarium__fish--one { top: 14%; }
.home-shop__aquarium .product-aquarium__fish--two { top: 43%; }
.home-shop__aquarium .product-aquarium__fish--three { top: 69%; }
.home-shop__aquarium .product-aquarium__fish--four { top: 84%; }

.home-shop:has(.home-shop__aquarium) .home-shop__header {
	position: relative;
	z-index: 3;
	margin-bottom: 34px;
	border: 1px solid rgba(186, 230, 253, 0.18);
	border-radius: 24px;
	background: rgba(3, 39, 62, 0.58);
	padding: clamp(22px, 3vw, 32px);
	box-shadow: 0 24px 70px rgba(1, 22, 38, 0.24), inset 0 1px rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(16px);
}

.home-shop:has(.home-shop__aquarium) .section-eyebrow {
	color: #67e8f9;
}

.home-shop:has(.home-shop__aquarium) .home-shop__header h2 {
	color: #f0f9ff;
}

.home-shop:has(.home-shop__aquarium) .home-shop__header p:not(.section-eyebrow) {
	color: rgba(224, 242, 254, 0.76);
}

.home-shop:has(.home-shop__aquarium) .home-shop__all {
	border-color: rgba(103, 232, 249, 0.34);
	background: linear-gradient(135deg, rgba(6, 182, 212, 0.2), rgba(20, 184, 166, 0.2));
	color: #cffafe;
	box-shadow: 0 12px 28px rgba(1, 22, 38, 0.2);
}

.home-shop:has(.home-shop__aquarium) .home-shop__all:hover {
	border-color: #67e8f9;
	background: linear-gradient(135deg, #06b6d4, #14b8a6);
	color: #fff;
}

.home-shop:has(.home-shop__aquarium) .home-shop__products {
	position: relative;
	z-index: 3;
}

.home-shop:has(.home-shop__aquarium) li.product.product-card {
	border-color: rgba(186, 230, 253, 0.2);
	background: rgba(3, 35, 57, 0.8);
	box-shadow: 0 24px 60px rgba(1, 22, 38, 0.28), inset 0 1px rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(15px);
}

.home-shop:has(.home-shop__aquarium) li.product.product-card:hover {
	border-color: rgba(var(--card-accent, 56, 189, 248), 0.62);
	box-shadow: 0 30px 70px rgba(1, 22, 38, 0.38);
}

/* Les visuels produits restent opaques et ne prennent pas la teinte de l'eau. */
.home-shop:has(.home-shop__aquarium) .product-card__media {
	background: #f8fafc;
	isolation: isolate;
}

.home-shop:has(.home-shop__aquarium) .product-card__media img {
	position: relative;
	z-index: 1;
}

.home-shop:has(.home-shop__aquarium) .pc-title,
.home-shop:has(.home-shop__aquarium) .pc-price {
	color: #f0f9ff;
}

.home-shop:has(.home-shop__aquarium) .pc-desc,
.home-shop:has(.home-shop__aquarium) .pc-license {
	color: rgba(224, 242, 254, 0.7);
}

.home-shop:has(.home-shop__aquarium) .pc-details {
	border-color: rgba(186, 230, 253, 0.22);
	background: rgba(255, 255, 255, 0.06);
	color: #e0f2fe;
}

.home-shop:has(.home-shop__aquarium) .home-shop__empty {
	position: relative;
	z-index: 3;
	border-color: rgba(186, 230, 253, 0.2);
	background: rgba(3, 35, 57, 0.78);
	color: #f0f9ff;
	backdrop-filter: blur(14px);
}

[data-color-theme="light"] .home-shop:has(.home-shop__aquarium) {
	background: linear-gradient(180deg, rgba(186, 230, 253, 0.98), rgba(103, 232, 249, 0.82) 48%, rgba(14, 116, 144, 0.9));
}

[data-color-theme="light"] .home-shop:has(.home-shop__aquarium) .home-shop__header {
	background: rgba(255, 255, 255, 0.74);
	border-color: rgba(14, 116, 144, 0.18);
}

[data-color-theme="light"] .home-shop:has(.home-shop__aquarium) .home-shop__header h2 { color: #083344; }
[data-color-theme="light"] .home-shop:has(.home-shop__aquarium) .home-shop__header p:not(.section-eyebrow) { color: #155e75; }
[data-color-theme="light"] .home-shop:has(.home-shop__aquarium) .section-eyebrow { color: #0e7490; }

@media (max-width: 680px) {
	.home-shop:has(.home-shop__aquarium) .home-shop__header {
		border-radius: 18px;
		padding: 22px 18px;
	}

	.home-shop__aquarium .product-aquarium__fish {
		opacity: 0.62;
	}
}

/* Un aquarium continu partagé entre les sections Logiciels et Contact. */
.home-aquarium-zone {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		linear-gradient(180deg, rgba(2, 66, 94, 0.97), rgba(5, 112, 128, 0.91) 52%, rgba(1, 44, 70, 0.98)),
		radial-gradient(circle at 50% 0, rgba(186, 230, 253, 0.46), transparent 44%);
}

.home-aquarium-zone::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		repeating-linear-gradient(112deg, transparent 0 100px, rgba(224, 242, 254, 0.05) 102px 136px, transparent 138px 230px),
		radial-gradient(ellipse at 12% 22%, rgba(56, 189, 248, 0.2), transparent 28%),
		radial-gradient(ellipse at 86% 58%, rgba(45, 212, 191, 0.18), transparent 30%);
	content: '';
	pointer-events: none;
}

.home-aquarium-zone__decor { z-index: 1; }
.home-aquarium-zone__decor .product-aquarium__fish--one { top: 12%; }
.home-aquarium-zone__decor .product-aquarium__fish--two { top: 38%; }
.home-aquarium-zone__decor .product-aquarium__fish--three { top: 66%; }
.home-aquarium-zone__decor .product-aquarium__fish--four { top: 84%; }

.home-aquarium-zone .home-shop,
.home-aquarium-zone .pricing-section,
.home-aquarium-zone .contact-section {
	position: relative;
	z-index: 2;
	background: transparent !important;
}

.home-aquarium-zone .home-shop::before,
.home-aquarium-zone .home-shop::after,
.home-aquarium-zone .pricing-section::before,
.home-aquarium-zone .pricing-section::after,
.home-aquarium-zone .contact-section::before,
.home-aquarium-zone .contact-section::after {
	display: none;
}

.home-aquarium-zone .pricing-aquarium,
.home-aquarium-zone .pricing-aquarium-toggle {
	display: none !important;
}

.home-aquarium-zone .pricing-section > .container {
	position: relative;
	z-index: 3;
}

.home-aquarium-zone .pricing-section .section-header {
	position: relative;
	z-index: 3;
}

.home-aquarium-zone .pricing-section .section-header h2 {
	color: #f0f9ff;
}

.home-aquarium-zone .pricing-section .section-intro {
	color: rgba(224, 242, 254, 0.76);
}

[data-color-theme="light"] .home-aquarium-zone .pricing-section .section-header h2 { color: #083344; }
[data-color-theme="light"] .home-aquarium-zone .pricing-section .section-intro { color: #155e75; }

.home-aquarium-zone :is(.home-shop, .contact-section) > .container {
	position: relative;
	z-index: 3;
}

.home-aquarium-zone .home-shop__header,
.home-aquarium-zone .contact-box {
	border: 1px solid rgba(186, 230, 253, 0.2);
	border-radius: 24px;
	background: rgba(3, 39, 62, 0.62);
	box-shadow: 0 24px 70px rgba(1, 22, 38, 0.26), inset 0 1px rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(17px);
}

.home-aquarium-zone .home-shop__header {
	padding: clamp(22px, 3vw, 32px);
}

.home-aquarium-zone .home-shop__header h2,
.home-aquarium-zone .contact-box h2 {
	color: #f0f9ff;
}

.home-aquarium-zone .section-eyebrow { color: #67e8f9; }

.home-aquarium-zone .home-shop__header p:not(.section-eyebrow),
.home-aquarium-zone .contact-box__intro {
	color: rgba(224, 242, 254, 0.78);
}

.home-aquarium-zone .home-shop__all {
	border-color: rgba(103, 232, 249, 0.34);
	background: linear-gradient(135deg, rgba(6, 182, 212, 0.22), rgba(20, 184, 166, 0.22));
	color: #cffafe;
}

.home-aquarium-zone .home-shop__all:hover {
	border-color: #67e8f9;
	background: linear-gradient(135deg, #06b6d4, #14b8a6);
	color: #fff;
}

.home-aquarium-zone .home-shop__products,
.home-aquarium-zone .home-shop__empty { position: relative; z-index: 3; }

.home-aquarium-zone li.product.product-card {
	border-color: rgba(186, 230, 253, 0.2);
	background: rgba(3, 35, 57, 0.82);
	box-shadow: 0 24px 60px rgba(1, 22, 38, 0.3), inset 0 1px rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(15px);
}

.home-aquarium-zone .product-card__media { background: #f8fafc; isolation: isolate; }
.home-aquarium-zone .product-card__media img { position: relative; z-index: 1; }
.home-aquarium-zone :is(.pc-title, .pc-price) { color: #f0f9ff; }
.home-aquarium-zone :is(.pc-desc, .pc-license) { color: rgba(224, 242, 254, 0.7); }

.home-aquarium-zone .contact-section {
	padding-top: clamp(22px, 3vw, 40px);
}

.home-aquarium-zone .contact-box {
	position: relative;
	z-index: 3;
}

.home-aquarium-zone .contact-item {
	border-color: rgba(186, 230, 253, 0.18);
	background: rgba(255, 255, 255, 0.055);
}

.home-aquarium-zone .contact-item a { color: #e0f2fe; }

[data-color-theme="light"] .home-aquarium-zone {
	background: linear-gradient(180deg, rgba(186, 230, 253, 0.98), rgba(103, 232, 249, 0.82) 52%, rgba(14, 116, 144, 0.9));
}

[data-color-theme="light"] .home-aquarium-zone .home-shop__header,
[data-color-theme="light"] .home-aquarium-zone .contact-box {
	border-color: rgba(14, 116, 144, 0.18);
	background: rgba(255, 255, 255, 0.76);
}

[data-color-theme="light"] .home-aquarium-zone :is(.home-shop__header h2, .contact-box h2) { color: #083344; }
[data-color-theme="light"] .home-aquarium-zone :is(.home-shop__header p:not(.section-eyebrow), .contact-box__intro) { color: #155e75; }
[data-color-theme="light"] .home-aquarium-zone .section-eyebrow { color: #0e7490; }
[data-color-theme="light"] .home-aquarium-zone .contact-item a { color: #164e63; }

@media (max-width: 680px) {
	.home-aquarium-zone :is(.home-shop__header, .contact-box) { border-radius: 18px; }
	.home-aquarium-zone__decor .product-aquarium__fish { opacity: 0.62; }
}

/* ===================== IDENTITÉ DEV PRO : RÉSEAU DIGITAL =============== */
.digital-network {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.digital-network__map {
	width: 100%;
	height: 100%;
	opacity: 0.5;
}

.digital-network__lines {
	stroke-width: 2;
	stroke-dasharray: 8 13;
	animation: digital-network-flow 16s linear infinite;
}

.digital-network__nodes circle {
	fill: #071521;
	stroke: #38bdf8;
	stroke-width: 4;
	filter: drop-shadow(0 0 9px #38bdf8);
	animation: digital-node-pulse 3.6s ease-in-out infinite;
}

.digital-network__nodes circle:nth-child(3n+2) { stroke: #8b5cf6; filter: drop-shadow(0 0 9px #8b5cf6); animation-delay: -1.2s; }
.digital-network__nodes circle:nth-child(3n+3) { stroke: #22c55e; filter: drop-shadow(0 0 9px #22c55e); animation-delay: -2.4s; }

.digital-network__pulse {
	position: absolute;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 10px #fff, 0 0 28px #38bdf8;
	animation: digital-pulse-travel 12s linear infinite;
}

.digital-network__pulse--one { top: 18%; left: -20px; }
.digital-network__pulse--two { top: 49%; left: -20px; animation-delay: -4s; box-shadow: 0 0 10px #fff, 0 0 28px #8b5cf6; }
.digital-network__pulse--three { top: 75%; left: -20px; animation-delay: -8s; box-shadow: 0 0 10px #fff, 0 0 28px #22c55e; }

.digital-network__module {
	position: absolute;
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	border: 1px solid rgba(148, 163, 184, 0.2);
	border-radius: 12px;
	background: rgba(8, 20, 35, 0.72);
	color: #e2e8f0;
	padding: 8px 12px;
	font-size: 0.72rem;
	font-weight: 800;
	box-shadow: 0 14px 38px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(12px);
	animation: digital-module-float 6s ease-in-out infinite alternate;
}

.digital-network__module i { width: 9px; height: 9px; border-radius: 3px; background: var(--module-color); box-shadow: 0 0 12px var(--module-color); }
.digital-network__module--web { --module-color: #38bdf8; top: 12%; left: 5%; }
.digital-network__module--app { --module-color: #8b5cf6; top: 35%; right: 4%; animation-delay: -2s; }
.digital-network__module--shop { --module-color: #f97316; top: 63%; left: 4%; animation-delay: -4s; }
.digital-network__module--cloud { --module-color: #22c55e; top: 82%; right: 7%; animation-delay: -1s; }

.home-digital-zone {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 12% 18%, rgba(56, 189, 248, 0.16), transparent 28%),
		radial-gradient(circle at 84% 52%, rgba(139, 92, 246, 0.15), transparent 30%),
		linear-gradient(180deg, #07111f, #0a1729 52%, #07101c);
}

.home-digital-zone::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: linear-gradient(rgba(148, 163, 184, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(148, 163, 184, 0.045) 1px, transparent 1px);
	background-size: 52px 52px;
	content: '';
	pointer-events: none;
}

.home-digital-zone__decor { z-index: 1; }
.home-digital-zone :is(.pricing-section, .home-shop, .contact-section) { position: relative; z-index: 2; background: transparent !important; }
.home-digital-zone :is(.pricing-section, .home-shop, .contact-section)::before,
.home-digital-zone :is(.pricing-section, .home-shop, .contact-section)::after { display: none; }
.home-digital-zone :is(.pricing-section, .home-shop, .contact-section) > .container { position: relative; z-index: 3; }
.home-digital-zone .pricing-aquarium,
.home-digital-zone .pricing-aquarium-toggle { display: none !important; }

.home-digital-zone :is(.home-shop__header, .contact-box) {
	border: 1px solid rgba(148, 163, 184, 0.16);
	border-radius: 24px;
	background: rgba(10, 23, 41, 0.78);
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28), inset 0 1px rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(18px);
}

.home-digital-zone .home-shop__header { padding: clamp(22px, 3vw, 32px); }
.home-digital-zone :is(.section-header h2, .home-shop__header h2, .contact-box h2) { color: #f8fafc; }
.home-digital-zone :is(.section-intro, .home-shop__header p:not(.section-eyebrow), .contact-box__intro) { color: #94a3b8; }
.home-digital-zone .section-eyebrow { color: #38bdf8; }
.home-digital-zone .home-shop__all { border-color: rgba(56, 189, 248, 0.3); background: rgba(56, 189, 248, 0.1); color: #7dd3fc; }
.home-digital-zone .home-shop__all:hover { background: linear-gradient(135deg, #0284c7, #8b5cf6); color: #fff; }
.home-digital-zone .home-shop__products { position: relative; z-index: 3; }

.home-digital-zone li.product.product-card {
	border-color: rgba(148, 163, 184, 0.16);
	background: rgba(10, 23, 41, 0.86);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3), inset 0 1px rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(16px);
}

.home-digital-zone .product-card__media { background: #f8fafc; isolation: isolate; }
.home-digital-zone :is(.pc-title, .pc-price) { color: #f8fafc; }
.home-digital-zone :is(.pc-desc, .pc-license) { color: #94a3b8; }
.home-digital-zone .contact-section { padding-top: clamp(22px, 3vw, 40px); }
.home-digital-zone .contact-item { border-color: rgba(148, 163, 184, 0.16); background: rgba(255, 255, 255, 0.04); }
.home-digital-zone .contact-item a { color: #e2e8f0; }

.single-product .woo-wrap {
	background:
		radial-gradient(circle at 12% 18%, rgba(56, 189, 248, 0.15), transparent 28%),
		radial-gradient(circle at 84% 52%, rgba(139, 92, 246, 0.14), transparent 30%),
		linear-gradient(180deg, #07111f, #0a1729 52%, #07101c);
}

.single-product .woo-wrap::before {
	background-image: linear-gradient(rgba(148, 163, 184, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(148, 163, 184, 0.045) 1px, transparent 1px);
	background-size: 52px 52px;
}

.single-product .digital-network { z-index: 0; }
.single-product .woocommerce div.product .summary,
.single-product .woocommerce div.product .woocommerce-tabs { background: rgba(10, 23, 41, 0.84); border-color: rgba(148, 163, 184, 0.16); }

[data-color-theme="light"] .home-digital-zone,
[data-color-theme="light"] .single-product .woo-wrap {
	background:
		radial-gradient(circle at 12% 18%, rgba(56, 189, 248, 0.13), transparent 28%),
		radial-gradient(circle at 84% 52%, rgba(139, 92, 246, 0.11), transparent 30%),
		linear-gradient(180deg, #f8fafc, #eef4fb 52%, #f8fafc);
}

[data-color-theme="light"] .home-digital-zone :is(.home-shop__header, .contact-box),
[data-color-theme="light"] .single-product .woocommerce div.product .summary,
[data-color-theme="light"] .single-product .woocommerce div.product .woocommerce-tabs { background: rgba(255, 255, 255, 0.86); border-color: rgba(15, 23, 42, 0.1); }
[data-color-theme="light"] .home-digital-zone :is(.section-header h2, .home-shop__header h2, .contact-box h2) { color: #0f172a; }
[data-color-theme="light"] .home-digital-zone :is(.section-intro, .home-shop__header p:not(.section-eyebrow), .contact-box__intro) { color: #64748b; }
[data-color-theme="light"] .home-digital-zone .contact-item a { color: #334155; }

@keyframes digital-network-flow { to { stroke-dashoffset: -168; } }
@keyframes digital-node-pulse { 0%, 100% { opacity: .55; transform: scale(.82); transform-origin: center; } 50% { opacity: 1; transform: scale(1.28); } }
@keyframes digital-pulse-travel { 0% { left: -20px; opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { left: calc(100% + 20px); opacity: 0; } }
@keyframes digital-module-float { from { transform: translateY(-7px); } to { transform: translateY(8px); } }

@media (max-width: 680px) {
	.digital-network__module { opacity: .7; scale: .82; }
	.digital-network__module--app,
	.digital-network__module--cloud { right: -20px; }
	.home-digital-zone :is(.home-shop__header, .contact-box) { border-radius: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.digital-network__lines,
	.digital-network__nodes circle,
	.digital-network__pulse,
	.digital-network__module { animation: none; }
	.digital-network__pulse { display: none; }
}

/* ===================== RÉSEAU DIGITAL + INTERFACE SAAS ================= */
.home-digital-zone,
.single-product .woo-wrap {
	--digital-web: #38bdf8;
	--digital-app: #8b5cf6;
	--digital-commerce: #f97316;
	--digital-productivity: #22c55e;
	--digital-bg: #061421;
	--digital-surface: #0d2235;
	--digital-text: #eaf6ff;
}

.home-digital-zone {
	background:
		radial-gradient(circle at 12% 18%, rgba(56, 189, 248, 0.14), transparent 28%),
		radial-gradient(circle at 84% 52%, rgba(139, 92, 246, 0.13), transparent 30%),
		linear-gradient(180deg, var(--digital-bg), #081827 52%, var(--digital-bg));
}

.single-product .woo-wrap {
	background:
		radial-gradient(circle at 12% 18%, rgba(56, 189, 248, 0.14), transparent 28%),
		radial-gradient(circle at 84% 52%, rgba(139, 92, 246, 0.13), transparent 30%),
		linear-gradient(180deg, var(--digital-bg), #081827 52%, var(--digital-bg));
}

.digital-network__module--web { --module-color: var(--digital-web); }
.digital-network__module--app { --module-color: var(--digital-app); }
.digital-network__module--shop { --module-color: var(--digital-commerce); }
.digital-network__module--cloud { --module-color: var(--digital-productivity); }

.digital-network__ui {
	--ui-accent: var(--digital-web);
	position: absolute;
	width: 170px;
	border: 1px solid color-mix(in srgb, var(--ui-accent) 28%, rgba(148, 163, 184, 0.16));
	border-radius: 16px;
	background: rgba(13, 34, 53, 0.76);
	color: var(--digital-text);
	padding: 13px;
	box-shadow: 0 20px 46px rgba(0, 0, 0, 0.26), inset 0 1px rgba(255, 255, 255, 0.06);
	backdrop-filter: blur(15px);
	opacity: 0.72;
	animation: digital-ui-float 8s ease-in-out infinite alternate;
}

.digital-network__ui--performance { top: 23%; right: 6%; }
.digital-network__ui--commerce { --ui-accent: var(--digital-commerce); top: 53%; left: 5%; animation-delay: -2.6s; }
.digital-network__ui--productivity { --ui-accent: var(--digital-productivity); top: 72%; right: 8%; animation-delay: -5.2s; }

.digital-network__ui-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 12px;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.digital-network__ui-head i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ui-accent);
	box-shadow: 0 0 12px var(--ui-accent);
}

.digital-network__chart {
	display: flex;
	align-items: end;
	gap: 6px;
	height: 56px;
	padding-top: 8px;
	border-bottom: 1px solid rgba(148, 163, 184, 0.16);
}

.digital-network__chart b {
	flex: 1;
	height: 32%;
	border-radius: 4px 4px 1px 1px;
	background: linear-gradient(var(--ui-accent), color-mix(in srgb, var(--ui-accent) 25%, transparent));
}

.digital-network__chart b:nth-child(2) { height: 52%; }
.digital-network__chart b:nth-child(3) { height: 42%; }
.digital-network__chart b:nth-child(4) { height: 76%; }
.digital-network__chart b:nth-child(5) { height: 92%; }

.digital-network__metric {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 11px;
}

.digital-network__metric strong {
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 9px;
	background: color-mix(in srgb, var(--ui-accent) 18%, transparent);
	color: var(--ui-accent);
}

.digital-network__metric span { color: #94a3b8; font-size: 0.68rem; font-weight: 700; }
.digital-network__progress { height: 6px; overflow: hidden; border-radius: 999px; background: rgba(148, 163, 184, 0.14); }
.digital-network__progress i { display: block; width: 72%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ui-accent), #fbbf24); }

.digital-network__sparkline {
	display: flex;
	align-items: center;
	gap: 5px;
	height: 44px;
}

.digital-network__sparkline i {
	flex: 1;
	height: 3px;
	background: var(--ui-accent);
	box-shadow: 0 0 8px color-mix(in srgb, var(--ui-accent) 60%, transparent);
	transform: rotate(var(--spark-angle, 12deg));
}

.digital-network__sparkline i:nth-child(2) { --spark-angle: -24deg; }
.digital-network__sparkline i:nth-child(3) { --spark-angle: 18deg; }
.digital-network__sparkline i:nth-child(4) { --spark-angle: -12deg; }
.digital-network__sparkline i:nth-child(5) { --spark-angle: 26deg; }
.digital-network__sparkline i:nth-child(6) { --spark-angle: -8deg; }

.home-digital-zone :is(.home-shop__header, .contact-box),
.single-product .woocommerce div.product .summary,
.single-product .woocommerce div.product .woocommerce-tabs {
	background: rgba(13, 34, 53, 0.84);
	color: var(--digital-text);
}

@keyframes digital-ui-float {
	from { transform: translate3d(0, -8px, 0) rotate(-1deg); }
	to { transform: translate3d(0, 10px, 0) rotate(1deg); }
}

@media (max-width: 940px) {
	.digital-network__ui { width: 145px; opacity: 0.52; }
}

@media (max-width: 680px) {
	.digital-network__ui { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.digital-network__ui { animation: none; }
}

/* Retour à la direction réseau digital épurée de la version 2.6. */
.digital-network__ui { display: none !important; }

.home-digital-zone {
	background:
		radial-gradient(circle at 12% 18%, rgba(56, 189, 248, 0.16), transparent 28%),
		radial-gradient(circle at 84% 52%, rgba(139, 92, 246, 0.15), transparent 30%),
		linear-gradient(180deg, #07111f, #0a1729 52%, #07101c);
}

.single-product .woo-wrap {
	background:
		radial-gradient(circle at 12% 18%, rgba(56, 189, 248, 0.15), transparent 28%),
		radial-gradient(circle at 84% 52%, rgba(139, 92, 246, 0.14), transparent 30%),
		linear-gradient(180deg, #07111f, #0a1729 52%, #07101c);
}

.home-digital-zone :is(.home-shop__header, .contact-box),
.single-product .woocommerce div.product .summary,
.single-product .woocommerce div.product .woocommerce-tabs {
	background: rgba(10, 23, 41, 0.84);
}

/* Le CTA conseil conserve un contraste blanc sur son fond violet. */
.shop-catalog-shell .shop-hero__link:hover,
.shop-catalog-shell .shop-hero__link:focus-visible,
.shop-catalog-shell .shop-hero__link:active,
[data-color-theme="light"] .shop-catalog-shell .shop-hero__link:hover,
[data-color-theme="light"] .shop-catalog-shell .shop-hero__link:focus-visible,
[data-color-theme="light"] .shop-catalog-shell .shop-hero__link:active {
	border-color: #8b5cf6;
	background: #8b5cf6;
	color: #ffffff !important;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.16);
}

/* Cartes produits d'accueil : contraste complet clair et sombre. */
.home-digital-zone .home-shop li.product.product-card:nth-child(4n+1) { --card-accent: 56, 189, 248; }
.home-digital-zone .home-shop li.product.product-card:nth-child(4n+2) { --card-accent: 139, 92, 246; }
.home-digital-zone .home-shop li.product.product-card:nth-child(4n+3) { --card-accent: 249, 115, 22; }
.home-digital-zone .home-shop li.product.product-card:nth-child(4n+4) { --card-accent: 34, 197, 94; }

.home-digital-zone .home-shop li.product.product-card {
	border-color: rgba(var(--card-accent, 56, 189, 248), 0.34);
	background: #0d2235;
	box-shadow: 0 22px 54px rgba(0, 0, 0, 0.3), inset 0 3px rgba(var(--card-accent, 56, 189, 248), 0.78);
}

.home-digital-zone .home-shop li.product.product-card .pc-title,
.home-digital-zone .home-shop li.product.product-card .pc-title a,
.home-digital-zone .home-shop li.product.product-card .pc-price {
	color: #eaf6ff !important;
	opacity: 1;
}

.home-digital-zone .home-shop li.product.product-card :is(.pc-desc, .pc-license) {
	color: #b8c9d9 !important;
	opacity: 1;
}

.home-digital-zone .home-shop li.product.product-card .pc-category {
	color: rgb(var(--card-accent, 56, 189, 248)) !important;
}

.home-digital-zone .home-shop li.product.product-card .pc-includes span {
	border-color: rgba(var(--card-accent, 56, 189, 248), 0.3);
	background: rgba(var(--card-accent, 56, 189, 248), 0.1);
	color: #dbeafe !important;
	opacity: 1;
}

.home-digital-zone .home-shop li.product.product-card .pc-details {
	border-color: rgba(148, 163, 184, 0.42);
	border-radius: 999px;
	background: rgba(148, 163, 184, 0.12);
	color: #eaf6ff !important;
	opacity: 1;
}

.home-digital-zone .home-shop li.product.product-card .pc-details:hover,
.home-digital-zone .home-shop li.product.product-card .pc-details:focus-visible {
	border-color: #eaf6ff;
	background: #eaf6ff;
	color: #0d2235 !important;
}

.home-digital-zone .home-shop li.product.product-card .pc-actions .button {
	border-color: transparent;
	border-radius: 999px;
	background: linear-gradient(135deg, rgba(var(--card-accent, 56, 189, 248), 1), rgba(var(--card-accent, 56, 189, 248), 0.72));
	color: #ffffff !important;
	box-shadow: 0 10px 24px rgba(var(--card-accent, 56, 189, 248), 0.24);
	opacity: 1;
}

.home-digital-zone .home-shop li.product.product-card .pc-actions .button:hover,
.home-digital-zone .home-shop li.product.product-card .pc-actions .button:focus-visible {
	filter: saturate(1.18) brightness(1.08);
	color: #ffffff !important;
	transform: translateY(-2px);
}

[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card {
	border-color: rgba(var(--card-accent, 56, 189, 248), 0.4);
	background: #ffffff;
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.13), inset 0 3px rgba(var(--card-accent, 56, 189, 248), 0.82);
}

[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .product-card__body {
	background: #ffffff;
}

[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .pc-title,
[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .pc-title a,
[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .pc-price {
	color: #0f172a !important;
}

[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card :is(.pc-desc, .pc-license) {
	color: #526174 !important;
}

[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .pc-includes span {
	border-color: rgba(var(--card-accent, 56, 189, 248), 0.28);
	background: rgba(var(--card-accent, 56, 189, 248), 0.09);
	color: #334155 !important;
}

[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .pc-stock.in {
	border: 1px solid rgba(22, 163, 74, 0.24);
	background: rgba(34, 197, 94, 0.13);
	color: #15803d !important;
}

[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .pc-details {
	border-color: #cbd5e1;
	background: #f1f5f9;
	color: #334155 !important;
}

[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .pc-details:hover,
[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .pc-details:focus-visible {
	border-color: #334155;
	background: #334155;
	color: #ffffff !important;
}

[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .pc-actions .button,
[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .pc-actions .button:hover,
[data-color-theme="light"] .home-digital-zone .home-shop li.product.product-card .pc-actions .button:focus-visible {
	color: #ffffff !important;
}

/* ---------------------------------------------------------------------------
   Commande directe — formulaire COD sur la fiche produit (façon FB/TikTok).
   Construit sur les tokens --shop-* : s'adapte au mode clair/sombre.
--------------------------------------------------------------------------- */
.devpro-direct-order {
	margin: 10px 0 26px;
	padding: 22px;
	border: 1px solid var(--shop-border);
	border-radius: 14px;
	background: var(--shop-surface-2);
	box-shadow: var(--shop-shadow);
}

.devpro-do__head {
	margin-bottom: 16px;
}

.devpro-do__title {
	margin: 0 0 4px;
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.25;
	color: var(--shop-text);
}

.devpro-do__subtitle {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.5;
	color: var(--shop-muted);
}

.devpro-do__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.devpro-do__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}

.devpro-do__field--wide {
	grid-column: 1 / -1;
}

.devpro-do__field label {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--shop-soft);
}

.devpro-do__field label span {
	color: var(--shop-danger);
}

.devpro-direct-order input {
	width: 100%;
	min-height: 46px;
	padding: 0 14px;
	border: 1px solid var(--shop-border);
	border-radius: 8px;
	background: var(--shop-surface);
	color: var(--shop-text);
	font: inherit;
	font-size: 0.95rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.devpro-direct-order input::placeholder {
	color: var(--shop-muted);
}

.devpro-direct-order input:focus {
	outline: none;
	border-color: var(--shop-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--shop-accent) 25%, transparent);
}

.devpro-do__field--error input {
	border-color: var(--shop-danger);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--shop-danger) 22%, transparent);
}

.devpro-do__summary {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 18px 0 14px;
	padding-top: 14px;
	border-top: 1px dashed var(--shop-border);
}

.devpro-do__summary-label {
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--shop-soft);
}

.devpro-do__summary-total {
	font-size: 1.4rem;
	font-weight: 900;
	color: var(--shop-text);
}

.devpro-do__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	border: 0;
	border-radius: 8px;
	background: var(--shop-accent);
	color: #06121f;
	font: inherit;
	font-size: 1rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: transform 0.2s ease, filter 0.2s ease;
}

.devpro-do__submit:hover:not(:disabled) {
	filter: brightness(1.08);
	transform: translateY(-2px);
}

.devpro-do__submit:disabled {
	opacity: 0.7;
	cursor: progress;
	transform: none;
}

.devpro-do__feedback {
	margin: 12px 0 0;
	padding: 12px 14px;
	border-radius: 8px;
	font-size: 0.9rem;
}

.devpro-do__feedback.is-error {
	border: 1px solid color-mix(in srgb, var(--shop-danger) 35%, transparent);
	background: color-mix(in srgb, var(--shop-danger) 14%, transparent);
	color: var(--shop-danger);
}

.devpro-do__success {
	margin: 10px 0 26px;
	padding: 24px 22px;
	border: 1px solid color-mix(in srgb, var(--shop-accent-2) 45%, var(--shop-border));
	border-radius: 14px;
	background: color-mix(in srgb, var(--shop-accent-2) 12%, var(--shop-surface));
	box-shadow: var(--shop-shadow);
}

.devpro-do__success-title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.5;
	color: var(--shop-text);
}

@media (max-width: 480px) {
	.devpro-do__grid {
		grid-template-columns: 1fr;
	}
}
