/* plus/assets/woo-produit.css — FEUILLE SERVIE, fabriquée par bin/armure.php : ne pas modifier, modifier woo-produit.css puis relancer le script.
   Chaque déclaration porte !important, dans la couche « topcal » : le thème du site ne la recouvre plus (voir bin/armure.php). */
@layer topcal {
	.tcw, .tcw-fiche .tcw-prix {
		--tcw-encre: #131820 !important;
		--tcw-papier: #FFFFFF !important;
		--tcw-surface: #FFFFFF !important;
		--tcw-trait: #DCE2EA !important;
		--tcw-trait-fin: #E7ECF3 !important;
		--tcw-trait-champ: #CED4DC !important;
		--tcw-texte-2: #4E545D !important;
		--tcw-texte-3: #5F6673 !important;
		--tcw-rempli: #EEF2F7 !important;
		--tcw-libre: #0F7A4C !important;
		--tcw-plein: #B42318 !important;
		--tcw-sombre-2: #BBC0C8 !important;
	}
	.tcw-fiche .product_title, .tcw-fiche .wp-block-post-title {
		margin: 0 0 10px 0 !important;
		font-family: 'Bricolage Grotesque', sans-serif !important;
		font-size: 32px !important;
		line-height: 38px !important;
		font-weight: 600 !important;
		letter-spacing: -0.025em !important;
		color: #131820 !important;
	}
	.tcw-fiche .price:has( .tcw-prix ), .tcw-fiche .wc-block-components-product-price:has( .tcw-prix ), .tcw-fiche .wp-block-woocommerce-product-price:has( .tcw-prix ) {
		margin: 0 0 16px 0 !important;
		letter-spacing: normal !important;
		font-size: inherit !important;
		color: inherit !important;
	}
	.tcw-prix {
		letter-spacing: normal !important;
		display: flex !important;
		align-items: baseline !important;
		gap: 10px !important;
		font-family: 'Instrument Sans', system-ui, sans-serif !important;
		color: var( --tcw-encre ) !important;
	}
	.tcw-prix-n {
		font-family: 'JetBrains Mono', monospace !important;
		font-size: 24px !important;
		font-weight: 500 !important;
		white-space: nowrap !important;
	}
	.tcw-prix-selon {
		font-size: 13px !important;
		color: var( --tcw-texte-3 ) !important;
	}
	.tcw-fiche .woocommerce-product-details__short-description, .tcw-fiche .wp-block-post-excerpt__excerpt {
		margin: 0 0 22px 0 !important;
		font-family: 'Instrument Sans', system-ui, sans-serif !important;
		font-size: 14.5px !important;
		line-height: 22px !important;
		letter-spacing: normal !important;
		color: #4E545D !important;
	}
	.tcw-fiche .woocommerce-product-details__short-description p {
		margin: 0 !important;
	}
	.tcw {
		margin: 0 !important;
		padding: 0 !important;
		letter-spacing: normal !important;
		word-spacing: normal !important;
		line-height: normal !important;
		font-size: 16px !important;
		font-family: 'Instrument Sans', system-ui, sans-serif !important;
		-webkit-font-smoothing: antialiased !important;
		color: var( --tcw-encre ) !important;
		box-sizing: border-box !important;
	}
	.tcw *, .tcw *::before, .tcw *::after {
		box-sizing: border-box !important;
	}
	.tcw :where( button, select, input ) {
		all: unset !important;
		box-sizing: border-box !important;
	}
	.tcw :focus-visible {
		outline: 2px solid var( --tcw-encre ) !important;
		outline-offset: 2px !important;
	}
	.tcw-carte {
		background: var( --tcw-surface ) !important;
		border: 1px solid var( --tcw-trait ) !important;
		border-radius: 16px !important;
		padding: 20px !important;
		margin: 0 0 16px 0 !important;
	}
	.tcw-tete {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		margin-bottom: 15px !important;
	}
	.tcw-point {
		width: 7px !important;
		height: 7px !important;
		border-radius: 999px !important;
		background: var( --tcw-libre ) !important;
		flex-shrink: 0 !important;
	}
	.tcw-surtitre {
		font-size: 11px !important;
		line-height: normal !important;
		font-weight: 600 !important;
		letter-spacing: 0.06em !important;
		text-transform: uppercase !important;
		color: var( --tcw-texte-3 ) !important;
	}
	.tcw-rangee {
		display: flex !important;
		gap: 11px !important;
		margin-bottom: 14px !important;
	}
	.tcw-champ-jour {
		flex-grow: 1 !important;
		min-width: 0 !important;
	}
	.tcw-champ-heure {
		width: 180px !important;
		flex-shrink: 0 !important;
	}
	.tcw-champ label, .tcw-durees legend {
		display: block !important;
		font-size: 12.5px !important;
		line-height: normal !important;
		font-weight: 500 !important;
		color: var( --tcw-texte-3 ) !important;
		margin: 0 0 6px 0 !important;
		padding: 0 !important;
	}
	.tcw-boite {
		position: relative !important;
		height: 48px !important;
		border: 1px solid var( --tcw-trait-champ ) !important;
		border-radius: 12px !important;
		padding: 0 14px !important;
		display: flex !important;
		align-items: center !important;
		gap: 9px !important;
		background: var( --tcw-surface ) !important;
	}
	.tcw-boite:focus-within {
		border-color: var( --tcw-encre ) !important;
	}
	.tcw-ico-cal {
		flex-shrink: 0 !important;
	}
	.tcw-boite select {
		flex-grow: 1 !important;
		min-width: 0 !important;
		height: 46px !important;
		font-size: 14.5px !important;
		line-height: 46px !important;
		color: var( --tcw-encre ) !important;
		cursor: pointer !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		-webkit-appearance: none !important;
		appearance: none !important;
		background: transparent !important;
	}
	.tcw-champ-heure select {
		font-family: 'JetBrains Mono', monospace !important;
	}
	.tcw-chevron {
		flex-shrink: 0 !important;
		pointer-events: none !important;
	}
	.tcw-durees {
		margin: 0 0 14px 0 !important;
		padding: 0 !important;
		border: 0 !important;
		min-width: 0 !important;
	}
	.tcw-durees legend {
		margin-bottom: 8px !important;
		float: left !important;
		width: 100% !important;
	}
	.tcw-durees-l {
		clear: both !important;
		display: flex !important;
		gap: 8px !important;
	}
	.tcw-duree {
		position: relative !important;
		cursor: pointer !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		height: 54px !important;
		border-radius: 12px !important;
		border: 1px solid var( --tcw-trait ) !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 2px !important;
		margin: 0 !important;
	}
	.tcw-duree input {
		position: absolute !important;
		inset: 0 !important;
		opacity: 0 !important;
		cursor: pointer !important;
		margin: 0 !important;
	}
	.tcw-duree-nom {
		font-size: 12.5px !important;
		line-height: normal !important;
		color: var( --tcw-texte-2 ) !important;
	}
	.tcw-duree-prix {
		font-family: 'JetBrains Mono', monospace !important;
		font-size: 13px !important;
		line-height: normal !important;
		font-weight: 500 !important;
		color: var( --tcw-encre ) !important;
	}
	.tcw-duree:has( input:checked ) {
		background: var( --tcw-encre ) !important;
		border: 0 !important;
		height: 52px !important;
	}
	.tcw-duree:has( input:checked ) .tcw-duree-nom {
		color: var( --tcw-sombre-2 ) !important;
	}
	.tcw-duree:has( input:checked ) .tcw-duree-prix {
		color: var( --tcw-papier ) !important;
	}
	.tcw-duree:has( input:disabled ) {
		cursor: default !important;
		opacity: 0.42 !important;
	}
	.tcw-duree:has( input:focus-visible ) {
		outline: 2px solid var( --tcw-encre ) !important;
		outline-offset: 2px !important;
	}
	.tcw-libres {
		display: flex !important;
		align-items: center !important;
		gap: 9px !important;
		padding-top: 14px !important;
		border-top: 1px solid var( --tcw-trait-fin ) !important;
		color: var( --tcw-libre ) !important;
	}
	.tcw-ico-ok {
		flex-shrink: 0 !important;
	}
	.tcw-libres-n {
		font-size: 13px !important;
		line-height: normal !important;
		color: var( --tcw-libre ) !important;
		font-weight: 500 !important;
		flex-grow: 1 !important;
	}
	.tcw-libres-v {
		font-size: 12px !important;
		line-height: normal !important;
		color: var( --tcw-texte-3 ) !important;
	}
	.tcw-libres-plein, .tcw-libres-plein .tcw-libres-n {
		color: var( --tcw-plein ) !important;
	}
	.tcw-libres-plein .tcw-ico-ok {
		visibility: hidden !important;
	}
	.tcw-achat {
		display: flex !important;
		align-items: center !important;
		gap: 12px !important;
		margin-bottom: 16px !important;
	}
	.tcw-qte {
		display: flex !important;
		align-items: center !important;
		border: 1px solid var( --tcw-trait-champ ) !important;
		border-radius: 12px !important;
		height: 52px !important;
		background: var( --tcw-surface ) !important;
		overflow: hidden !important;
		flex-shrink: 0 !important;
	}
	.tcw-qte button {
		cursor: pointer !important;
		width: 46px !important;
		height: 52px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	.tcw-qte input {
		width: 46px !important;
		height: 50px !important;
		text-align: center !important;
		font-family: 'JetBrains Mono', monospace !important;
		font-size: 16px !important;
		font-weight: 500 !important;
		color: var( --tcw-encre ) !important;
		-moz-appearance: textfield !important;
	}
	.tcw-qte input::-webkit-outer-spin-button, .tcw-qte input::-webkit-inner-spin-button {
		-webkit-appearance: none !important;
		margin: 0 !important;
	}
	.tcw .tcw-ajouter {
		cursor: pointer !important;
		flex-grow: 1 !important;
		min-width: 0 !important;
		height: 52px !important;
		border-radius: 12px !important;
		background: var( --tcw-encre ) !important;
		color: var( --tcw-papier ) !important;
		font-size: 15.5px !important;
		line-height: normal !important;
		font-weight: 600 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 9px !important;
		text-align: center !important;
	}
	.tcw .tcw-ajouter svg {
		flex-shrink: 0 !important;
	}
	.tcw .tcw-ajouter:disabled {
		cursor: default !important;
		opacity: 0.45 !important;
	}
	.tcw-note {
		display: flex !important;
		gap: 11px !important;
		background: var( --tcw-rempli ) !important;
		border-radius: 13px !important;
		padding: 14px 16px !important;
	}
	.tcw-ico-info {
		flex-shrink: 0 !important;
		margin-top: 1px !important;
	}
	.tcw-note p {
		margin: 0 !important;
		font-size: 12.5px !important;
		line-height: 18px !important;
		color: var( --tcw-texte-2 ) !important;
	}
	.tcw-note strong {
		font-weight: 600 !important;
		color: var( --tcw-encre ) !important;
	}
	.tcw-rien {
		margin: 0 !important;
		font-size: 14.5px !important;
		line-height: 22px !important;
		color: var( --tcw-texte-2 ) !important;
	}
	@media ( max-width: 560px ) {
		.tcw-rangee {
			flex-wrap: wrap !important;
		}
		.tcw-champ-jour, .tcw-champ-heure {
			width: 100% !important;
			flex: 1 1 100% !important;
		}
		.tcw-durees-l {
			flex-wrap: wrap !important;
		}
		.tcw-duree {
			flex: 1 1 calc( 50% - 4px ) !important;
		}
		.tcw-libres {
			flex-wrap: wrap !important;
			row-gap: 4px !important;
		}
		.tcw-libres-v {
			flex-basis: 100% !important;
			padding-left: 24px !important;
		}
		.tcw-ajouter {
			font-size: 14.5px !important;
		}
	}
	.tcw-nb-jours {
		display: flex !important;
		align-items: center !important;
		gap: 12px !important;
		margin-top: 10px !important;
	}
	.tcw:has( .tcw-duree-jours input:not( :checked ) ) .tcw-nb-jours {
		display: none !important;
	}
	.tcw-nb-jours label {
		font-size: 12.5px !important;
		font-weight: 500 !important;
		color: var( --tcw-texte-3 ) !important;
		margin: 0 !important;
		flex-shrink: 0 !important;
	}
	.tcw-nb-jours .tcw-boite {
		width: 180px !important;
		flex-shrink: 0 !important;
		height: 44px !important;
	}
	.tcw-nb-jours .tcw-boite select {
		height: 42px !important;
		line-height: 42px !important;
	}
	.tcw-fiche .tcw-fil {
		display: flex !important;
		align-items: center !important;
		gap: 12px !important;
		flex-wrap: wrap !important;
	}
	.tcw-fiche .tcw-fil > .woocommerce-breadcrumb, .tcw-fiche .tcw-fil > :first-child {
		flex-grow: 1 !important;
		min-width: 0 !important;
		margin-bottom: 0 !important;
	}
	.tcw-fiche .tcw-pastille {
		display: inline-flex !important;
		align-items: center !important;
		gap: 7px !important;
		font-size: 11.5px !important;
		line-height: normal !important;
		font-weight: 600 !important;
		color: var( --tcw-texte-2, #4E545D ) !important;
		background: var( --tcw-sourd, #E7ECF3 ) !important;
		border-radius: 999px !important;
		padding: 5px 11px !important;
		flex-shrink: 0 !important;
	}
	.tcw-fiche .tcw-pastille svg {
		flex-shrink: 0 !important;
	}
}
