/* ==========================================================================
   WC Multi-Packs — Front-end styles
   ========================================================================== */

.wc-multi-packs {
	--wcmp-navy: #1e3548;
	--wcmp-navy-light: #4a6178;
	--wcmp-accent: #870a10;
	--wcmp-accent-dark: #690509;
	--wcmp-border: #e3e5e8;
	--wcmp-bg-alt: #f8f8fa;
	--wcmp-radius: 10px;

	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--wcmp-border);
}

.wc-multi-packs__title {
	margin: 0 0 1.25rem;
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--wcmp-navy);
}

.wc-multi-packs__group {
	margin-bottom: 1.5rem;
	border: none;
	border-radius: var(--wcmp-radius);
	overflow: hidden;
	background: #fff;
	box-shadow: 0 1px 4px rgba(30, 53, 72, 0.08);
	transition: box-shadow 0.2s ease;
}

.wc-multi-packs__group:hover {
	box-shadow: 0 4px 16px rgba(30, 53, 72, 0.12);
}

.wc-multi-packs__group + .wc-multi-packs__group {
	margin-top: 1.25rem;
}

.wc-multi-packs__group-title {
	margin: 0;
	padding: 0.9rem 1.25rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--wcmp-navy);
	background: var(--wcmp-bg-alt);
	border-left: 4px solid var(--wcmp-accent);
	border-bottom: none;
}

/* Neutralise les styles imposés par le thème/WooCommerce (shop_table) qui
   ajoutent leurs propres bordures et provoquent la ligne parasite en bas. */
.wc-multi-packs__table,
.wc-multi-packs__table thead,
.wc-multi-packs__table tbody,
.wc-multi-packs__table tr,
.wc-multi-packs__table th,
.wc-multi-packs__table td {
	border: 0 !important;
	box-shadow: none !important;
}

.wc-multi-packs__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.wc-multi-packs__table thead th {
	padding: 0.65rem 1.25rem;
	text-align: left;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wcmp-navy-light);
	background: var(--wcmp-bg-alt);
}

.wc-multi-packs__table tbody td {
	padding: 0.9rem 1.25rem;
	vertical-align: middle;
}

.wc-multi-packs__table tbody tr {
	transition: background-color 0.15s ease;
}

.wc-multi-packs__table tbody tr:nth-child(even) {
	background-color: #fbfbfc;
}

.wc-multi-packs__table tbody tr:hover {
	background-color: var(--wcmp-bg-alt);
}

/* Pack label — turn "x6" style values into a small badge */
.wc-multi-packs__table tbody td:nth-child(2) {
	font-weight: 600;
	color: var(--wcmp-navy);
}

/* Price cell */
.wc-multi-packs__table tbody td:nth-child(3) {
	font-weight: 700;
	color: var(--wcmp-navy);
	white-space: nowrap;
}

.wc-multi-packs__unit-price {
	display: block;
	margin-top: 0.15rem;
	font-weight: 400;
	opacity: 0.65;
	font-size: 0.8em;
}

/* Quantity stepper */
.wc-multi-packs__quantity {
	display: inline-flex;
	align-items: center;
	gap: 0;
	border: 1px solid var(--wcmp-border);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.wc-multi-packs__qty-button {
	min-width: 2.1rem;
	padding: 0.4rem 0;
	border: none !important;
	background: var(--wcmp-bg-alt);
	color: var(--wcmp-navy);
	font-weight: 600;
	cursor: pointer;
	box-shadow: none !important;
	transition: background-color 0.15s ease;
}

.wc-multi-packs__qty-button:hover {
	background: #ececf0;
}

/* Le thème du site impose une bordure/outline rouge sur les champs — on la
   neutralise ici pour garder un style neutre et cohérent avec le bloc. */
.wc-multi-packs__quantity .qty,
.wc-multi-packs__quantity .qty:focus {
	max-width: 3.2rem;
	border: none !important;
	border-left: 1px solid var(--wcmp-border) !important;
	border-right: 1px solid var(--wcmp-border) !important;
	text-align: center;
	padding: 0.4rem 0;
	box-shadow: none !important;
	outline: none !important;
}

/* Add button */
.wc-multi-packs__form {
	margin: 0;
}

.wc-multi-packs__form .button.alt, .wc-multi-packs__add-button {
	background: var(--wcmp-accent) !important;
	border-color: var(--wcmp-accent) !important;
	color: #fff !important;
	font-family: "Poppins", Sans-serif;
    font-size: 16px;
    font-weight: 500;
	letter-spacing: 0.03em;
	padding: 0.55rem 1.1rem;
	border-radius: 6px;
	transition: background-color 0.15s ease, transform 0.1s ease;
}

.wc-multi-packs__form .button.alt:hover {
	background: var(--wcmp-accent-dark);
	border-color: var(--wcmp-accent-dark);
	transform: translateY(-1px);
}

.wc-multi-packs__form .button.alt:active {
	transform: translateY(0);
}


/* --- Conteneur du champ de quantité --- */
.wc-multi-packs .wc-multi-packs__quantity {
    display: inline-flex !important;
    align-items: stretch !important;
    height: 38px !important;
    border: 1px solid #d3d3d3 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* --- Boutons Moins (-) et Plus (+) en bordeaux --- */
.wc-multi-packs .wc-multi-packs__qty-button,
.wc-multi-packs button.wc-multi-packs__qty-button {
    background-color: #800020 !important; /* Couleur bordeaux principale */
    color: #ffffff !important;             /* Signes - et + en blanc */
    border: none !important;
    width: 32px !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    transition: background-color 0.2s ease !important;
}

/* Effet au survol (hover) des boutons - et + */
.wc-multi-packs .wc-multi-packs__qty-button:hover {
    background-color: #600018 !important; /* Bordeaux légèrement plus foncé au survol */
    color: #ffffff !important;
}

/* --- Champ numérique central (input quantité) --- */
.wc-multi-packs .wc-multi-packs__quantity input[type="number"] {
    width: 42px !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    border: none !important;
    border-left: 1px solid #d3d3d3 !important;
    border-right: 1px solid #d3d3d3 !important;
    background-color: #ffffff !important;
    color: #333333 !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 4px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    -moz-appearance: textfield !important;
}

/* Suppression des flèches natives sur les navigateurs Webkit (Chrome, Safari) */
.wc-multi-packs .wc-multi-packs__quantity input[type="number"]::-webkit-outer-spin-button,
.wc-multi-packs .wc-multi-packs__quantity input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* ==========================================================================
   Responsive — collapse to stacked cards on small screens
   ========================================================================== */

@media (max-width: 600px) {
	.wc-multi-packs__table thead {
		display: none;
	}

	.wc-multi-packs__table,
	.wc-multi-packs__table tbody,
	.wc-multi-packs__table tr,
	.wc-multi-packs__table td {
		display: block;
		width: 100%;
	}

	.wc-multi-packs__table tbody tr {
		padding: 0.9rem 1.1rem;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem 0.75rem;
	}

	.wc-multi-packs__table tbody td {
		padding: 0;
		border-bottom: none;
		width: auto;
	}

	.wc-multi-packs__table tbody td:nth-child(2) {
		order: -1;
		flex: 1 0 100%;
		font-size: 1rem;
	}

	.wc-multi-packs__table tbody tr + tr {
		border-top: 1px solid var(--wcmp-border);
	}
}