/**
 * Panier Lorrent — styles v2
 * Emplacement : hello-elementor-child/assets/lorrent-cart.css
 *
 * v2 : neutralisation des styles du kit Elementor / WooCommerce qui
 * écrasaient la v1 (liens bleus, selects gris, table zébrée, bouton
 * pleine largeur, coupon visible).
 */

:root {
	--lor-cream: #f7f5f0;
	--lor-brown: #8a6a57;
	--lor-taupe: #9a7b66;
	--lor-ink: #1d1d1d;
	--lor-line: #cbb9ab;
	--lor-font-display: 'Lexend Tera', sans-serif;
	--lor-font-body: 'Inter', 'Roboto', sans-serif;
}

/* ---------------------------------------------------------------
 * Widget Elementor : une seule colonne, pas de bordures de section
 * ------------------------------------------------------------- */
.elementor-widget-woocommerce-cart .e-cart__container {
	display: block !important;
}
.elementor-widget-woocommerce-cart .e-cart__column {
	width: 100% !important;
	max-width: 100% !important;
}
.elementor-widget-woocommerce-cart .e-cart-section {
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	background: transparent !important;
}

/* Coupon : masqué quel que soit le markup (override ou widget Elementor) */
.woocommerce-cart .lorrent-cart-actions .coupon,
.woocommerce-cart .e-cart__container .coupon,
.woocommerce-cart form.woocommerce-cart-form .coupon,
.woocommerce-cart .coupon.e-cart-section {
	display: none !important;
}

/* ---------------------------------------------------------------
 * Cartes articles
 * ------------------------------------------------------------- */
.lorrent-cart-items {
	display: flex;
	flex-direction: column;
	gap: 2px;
	max-width: 1180px;
	margin: 0 auto;
}

.lorrent-cart-item {
	display: grid;
	grid-template-columns: 1fr 0.85fr 0.95fr;
	align-items: stretch;
	background: var(--lor-cream);
	min-height: 320px;
}

/* Photo */
.lci-photo {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
}
.lci-photo img {
	max-width: 230px;
	height: auto;
	mix-blend-mode: multiply;
}

/* Panneau brun */
.lci-panel {
	background: var(--lor-brown);
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px 48px;
}
.lorrent-cart .lci-name,
.lorrent-cart .lci-name a,
.lorrent-cart .lci-name a:hover,
.lorrent-cart .lci-name a:focus {
	font-family: var(--lor-font-display) !important;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff !important;
	line-height: 1.5;
	margin: 0 0 14px;
	text-decoration: none !important;
}
.lci-desc,
.lci-desc p {
	font-family: var(--lor-font-body);
	font-size: 12px;
	font-weight: 300;
	line-height: 1.6;
	letter-spacing: 0.05em;
	color: rgba(255, 255, 255, 0.92);
	margin: 0;
}
.lci-desc {
	margin-bottom: 22px;
}
.lci-unit-price,
.lci-unit-price .woocommerce-Price-amount,
.lci-unit-price bdi {
	font-family: var(--lor-font-body);
	font-size: 13px;
	letter-spacing: 0.08em;
	color: #fff !important;
}

/* Colonne options */
.lci-options {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px 56px 30px 48px;
}
.lci-row {
	border-top: 1px solid var(--lor-line);
	padding: 14px 2px;
	font-family: var(--lor-font-display);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--lor-ink);
}
.lci-options .lci-row:last-child {
	border-bottom: 0;
}

/* Selects (taille / quantité) — neutralise les styles formulaire du
   kit Elementor et du thème (fond gris, bordure, double chevron) */
.lorrent-cart select.lci-select,
.woocommerce-cart .lorrent-cart select.lci-select {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	width: 100%;
	height: auto !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	padding: 0 24px 0 0 !important;
	margin: 0 !important;
	font-family: var(--lor-font-display) !important;
	font-size: 11px !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	color: var(--lor-ink) !important;
	cursor: pointer;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%231d1d1d' stroke-width='1.2' d='M1 1.5l5 5 5-5'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right center !important;
	background-size: 12px 8px !important;
}
.lorrent-cart select.lci-select::-ms-expand {
	display: none;
}

/* Case ajustement boutique */
.lci-adjust label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	margin: 0;
	line-height: 1.5;
}
.lci-adjust input[type='checkbox'] {
	width: 13px;
	height: 13px;
	flex: 0 0 13px;
	margin: 2px 0 0;
	accent-color: var(--lor-brown);
}

/* Sous-total */
.lci-subtotal,
.lci-subtotal .woocommerce-Price-amount {
	font-family: var(--lor-font-body) !important;
	font-size: 14px;
	letter-spacing: 0.06em;
	color: var(--lor-ink) !important;
}
.lci-subtotal bdi {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

/* Supprimer */
.lorrent-cart .lci-remove-link,
.lorrent-cart .lci-remove-link:hover,
.lorrent-cart .lci-remove-link:focus {
	font-family: var(--lor-font-display) !important;
	font-size: 10px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--lor-ink) !important;
	text-decoration: none !important;
	border: 0;
	background: transparent;
}
.lorrent-cart .lci-remove-link:hover {
	color: var(--lor-brown) !important;
}

/* ---------------------------------------------------------------
 * Totaux
 * ------------------------------------------------------------- */
.woocommerce-cart .cart-collaterals .lorrent-cart-totals,
.lorrent-cart-totals {
	background: var(--lor-cream);
	max-width: 1180px;
	margin: 2px auto 0 !important;
	padding: 60px 20px 70px !important;
	text-align: center;
	float: none !important;
	width: 100% !important;
	border: 0 !important;
}
.lorrent-cart-totals .lorrent-totals-title {
	font-family: var(--lor-font-display) !important;
	font-size: 16px;
	font-weight: 500 !important;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--lor-taupe) !important;
	text-align: center;
	margin: 0 0 36px;
}

/* Table HT / TVA / TTC — sans zébrures ni bordures héritées */
.lorrent-cart-totals table.lorrent-totals-table {
	width: 100% !important;
	max-width: 470px;
	margin: 0 auto 36px !important;
	border-collapse: collapse !important;
	border: 0 !important;
	background: transparent !important;
}
.lorrent-cart-totals .lorrent-totals-table tr,
.lorrent-cart-totals .lorrent-totals-table tr:nth-child(odd),
.lorrent-cart-totals .lorrent-totals-table tr:nth-child(even) {
	background: transparent !important;
	border: 0;
	border-top: 1px solid var(--lor-line);
}
.lorrent-cart-totals .lorrent-totals-table th,
.lorrent-cart-totals .lorrent-totals-table td {
	font-family: var(--lor-font-body) !important;
	font-size: 13px !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lor-ink) !important;
	padding: 10px 0 !important;
	background: transparent !important;
	border: 0 !important;
	font-weight: 400;
}
.lorrent-cart-totals .lorrent-totals-table th {
	text-align: left;
}
.lorrent-cart-totals .lorrent-totals-table td {
	text-align: right;
}
.lorrent-cart-totals .lorrent-totals-table .lorrent-total-ttc th,
.lorrent-cart-totals .lorrent-totals-table .lorrent-total-ttc td,
.lorrent-cart-totals .lorrent-totals-table .lorrent-total-ttc td strong {
	font-weight: 700 !important;
	padding-top: 16px !important;
	color: var(--lor-ink) !important;
}

/* Bouton COMMANDER — largeur auto, centré */
.lorrent-cart-totals .wc-proceed-to-checkout {
	padding: 0 !important;
	margin: 0 !important;
}
.lorrent-cart-totals a.checkout-button,
.woocommerce-cart .lorrent-cart-totals a.checkout-button,
.lorrent-checkout-button {
	display: inline-block !important;
	width: auto !important;
	background: transparent !important;
	border: 1px solid var(--lor-ink) !important;
	border-radius: 0 !important;
	color: var(--lor-ink) !important;
	font-family: var(--lor-font-display) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-decoration: none !important;
	padding: 16px 56px !important;
	margin: 0 auto;
	transition: all 0.25s ease;
}
.lorrent-cart-totals a.checkout-button:hover,
.lorrent-checkout-button:hover {
	background: var(--lor-ink) !important;
	color: #fff !important;
}

/* Continuer ma visite + note livraison */
.lorrent-continue {
	margin: 22px 0 30px;
	text-align: center;
}
.lorrent-cart-totals .lorrent-continue a,
.lorrent-cart-totals .lorrent-continue a:hover {
	font-family: var(--lor-font-display) !important;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--lor-taupe) !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent;
}
.lorrent-cart-totals .lorrent-continue a:hover {
	border-bottom-color: var(--lor-taupe);
}
.lorrent-shipping-note {
	font-family: var(--lor-font-body);
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--lor-ink);
	margin: 0;
	text-align: center;
}

/* ---------------------------------------------------------------
 * Responsive
 * ------------------------------------------------------------- */
@media (max-width: 1024px) {
	.lorrent-cart-item {
		grid-template-columns: 1fr 1fr;
	}
	.lci-options {
		grid-column: 1 / -1;
		padding: 24px 32px;
	}
}

@media (max-width: 640px) {
	.lorrent-cart-item {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.lci-photo {
		padding: 24px;
	}
	.lci-photo img {
		max-width: 170px;
	}
	.lci-panel {
		padding: 28px 24px;
		text-align: center;
	}
	.lci-options {
		padding: 8px 24px 24px;
	}
	.lorrent-cart-totals {
		padding: 40px 18px 50px !important;
	}
	.lorrent-cart-totals a.checkout-button {
		display: block !important;
		padding: 16px 20px !important;
	}
}