/**
 * Rimota Quick Order — styles du mode panier.
 * Fichier additif : rqo.css n'est pas modifié. Toutes les classes sont
 * nouvelles, aucune ne remplace un style existant.
 */

/* Liste du panier */
.rqo-cart-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 0 2px 8px;
}
.rqo-cart-head h3 {
	margin: 0;
	font-size: 14px;
	font-weight: 800;
	color: var(--rqo-olive-dark);
	text-transform: uppercase;
	letter-spacing: .6px;
}
.rqo-cart-count { font-size: 12.5px; color: var(--rqo-muted); }

.rqo-cart-list { display: flex; flex-direction: column; gap: 8px; }
.rqo-cart-empty { text-align: center; color: var(--rqo-muted); font-size: 14px; margin: 10px 0; }

.rqo-item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: #fff;
	border: 1px solid var(--rqo-border);
	border-radius: 12px;
	padding: 10px 12px;
}
.rqo-item-img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 8px;
	flex: 0 0 64px;
	background: #f3ede1;
}
.rqo-item-info { flex: 1; min-width: 0; }
.rqo-item-name { font-weight: 700; color: var(--rqo-text); font-size: 14.5px; line-height: 1.3; }
.rqo-item-variant { color: var(--rqo-muted); font-size: 13px; margin-top: 2px; }
.rqo-item-unit { color: var(--rqo-muted); font-size: 12.5px; margin-top: 2px; }
.rqo-item-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 8px;
	gap: 8px;
}
.rqo-item-total { font-weight: 800; color: var(--rqo-red); font-size: 15px; white-space: nowrap; }
.rqo-item-remove {
	border: none;
	background: transparent;
	color: #a49b88;
	font-size: 12.5px;
	cursor: pointer;
	padding: 4px 2px;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.rqo-item-remove:hover { color: var(--rqo-red); }
.rqo-item.is-issue { border-color: #f3c4bd; background: #fffaf9; }
.rqo-item-issue { margin-top: 6px; font-size: 12.5px; color: var(--rqo-red); font-weight: 600; line-height: 1.4; }

/* Quantité (classes propres au mode panier) */
.rqo-cartq {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--rqo-border);
	border-radius: 8px;
	overflow: hidden;
	background: #faf7f0;
}
.rqo-cartq-btn {
	width: 32px;
	height: 32px;
	border: none;
	background: transparent;
	font-size: 18px;
	color: var(--rqo-olive-dark);
	cursor: pointer;
	line-height: 1;
	padding: 0;
}
.rqo-cartq-btn:hover { background: #efe9db; }
.rqo-cartq-input {
	width: 34px;
	height: 32px;
	border: none;
	background: transparent;
	text-align: center;
	font-weight: 700;
	font-size: 14px;
	color: var(--rqo-text);
	padding: 0;
}

/* Totaux propres au mode panier */
.rqo-cart-discount-row span:last-child { color: var(--rqo-olive); font-weight: 700; }
.rqo-cart-note {
	font-size: 12px;
	color: var(--rqo-muted);
	margin-top: 6px;
	line-height: 1.5;
	background: #fffdf8;
	border: 1px dashed var(--rqo-border);
	border-radius: 8px;
	padding: 8px 10px;
}

/* Barre de progression vers la livraison gratuite */
.rqo-progress { margin: 10px 4px 0; font-size: 12.5px; color: var(--rqo-olive-dark); line-height: 1.5; }
.rqo-bar {
	display: block;
	height: 6px;
	border-radius: 4px;
	background: #e9e2d3;
	margin-top: 6px;
	overflow: hidden;
}
.rqo-bar i {
	display: block;
	height: 100%;
	background: var(--rqo-olive);
	border-radius: 4px;
	transition: width .35s ease;
}

/* Formulaire et erreurs */
.rqo-cart-error {
	margin-top: 12px;
	padding: 10px 12px;
	background: #fdecea;
	color: var(--rqo-red);
	border: 1px solid #f3c4bd;
	border-radius: 8px;
	font-size: 13.5px;
	line-height: 1.5;
}
.rqo-cart-submit:disabled { opacity: .55; cursor: not-allowed; }
.rqo-cart-busy { opacity: .6; pointer-events: none; }

/* Confirmation multi-produits */
.rqo-cs-lead { text-align: center; font-size: 15px; color: var(--rqo-text); margin: 0 0 6px; }
.rqo-cs-line {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rqo-border);
	margin-bottom: 8px;
}
.rqo-cs-mid { flex: 1; min-width: 0; }
.rqo-cs-img { width: 56px; height: 56px; border-radius: 8px; object-fit: cover; flex: 0 0 56px; background: #f3ede1; }
.rqo-cs-pname { font-weight: 700; line-height: 1.3; }
.rqo-cs-variant, .rqo-cs-qty { color: var(--rqo-muted); font-size: 13px; margin-top: 2px; }
.rqo-cs-price { font-weight: 800; color: var(--rqo-red); white-space: nowrap; }
.rqo-cs-discount-row span:last-child { color: var(--rqo-olive); font-weight: 700; }
.rqo-cs-address { margin: 0 0 4px; color: var(--rqo-text); line-height: 1.45; }
.rqo-cs-phone { margin: 0; color: var(--rqo-red); font-weight: 700; line-height: 1.45; }

/* Mobile */
@media (max-width: 480px) {
	.rqo-item-img { width: 56px; height: 56px; flex: 0 0 56px; }
	.rqo-item-name { font-size: 14px; }
}

/* Renfort de spécificité contre les styles du thème Freshio.
   Même approche que celle déjà utilisée dans rqo.css pour le mode produit. */
#rqo-modal .rqo-cartq {
	display: inline-flex !important;
	background: #faf7f0 !important;
	border: 1px solid var(--rqo-border) !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	padding: 0 !important;
}
#rqo-modal .rqo-cartq-input {
	width: 34px !important;
	height: 32px !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
	text-align: center !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	color: var(--rqo-text) !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}
#rqo-modal .rqo-cartq-btn {
	width: 32px !important;
	height: 32px !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--rqo-olive-dark) !important;
	font-size: 18px !important;
	line-height: 1 !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: none !important;
}
#rqo-modal .rqo-cartq-btn:hover { background: #efe9db !important; color: var(--rqo-olive-dark) !important; }
#rqo-modal .rqo-item-remove {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 4px 2px !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #a49b88 !important;
	font-size: 12.5px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: none !important;
	text-decoration: underline !important;
}
#rqo-modal .rqo-item-remove:hover { color: var(--rqo-red) !important; background: transparent !important; }
#rqo-modal .rqo-cart-submit { letter-spacing: 2px !important; text-transform: none !important; }

/* ---------------------------------------------------------------------------
   Page de confirmation dédiée (tunnel panier).
   Reprend le design du popup de confirmation, sur un chargement de page neuf.
   Les blocs par défaut de WooCommerce sont masqués sans toucher aux gabarits.
   --------------------------------------------------------------------------- */
body.rqo-thankyou .woocommerce-thankyou-order-received,
body.rqo-thankyou .woocommerce-order-overview,
body.rqo-thankyou .woocommerce-order-details,
body.rqo-thankyou .woocommerce-customer-details,
body.rqo-thankyou .woocommerce-notice--success,
body.rqo-thankyou .woocommerce-column--billing-address,
body.rqo-thankyou .woocommerce-column--shipping-address { display: none !important; }

/* Titre du bandeau : le thème Freshio met une capitale à chaque mot de tous les
   titres de page. Sur « Confirmation de commande » cela donnerait « Confirmation
   De Commande ». La règle ci-dessous rétablit l'orthographe française, uniquement
   sur la page de confirmation du tunnel (classe body.rqo-thankyou). Les titres de
   toutes les autres pages du site conservent le style du thème. */
body.rqo-thankyou .breadcrumb .freshio2-title { text-transform: none !important; }

.rqo-page-done {
	max-width: 480px;
	margin: 24px auto 48px;
	background: var(--rqo-cream);
	border: 1px solid var(--rqo-border);
	border-radius: 18px;
	padding: 30px 26px 26px;
	box-shadow: 0 10px 34px rgba(40, 30, 10, .10);
	color: var(--rqo-text);
}
.rqo-page-done .rqo-logo { display: block; margin: 0 auto 10px; max-height: 52px; width: auto; }
.rqo-page-done .rqo-title { margin: 0 0 8px; }
.rqo-page-done .rqo-cs-img { width: 56px; height: 56px; }
.rqo-page-done .rqo-cart-note { margin-top: 10px; }
.rqo-page-done .rqo-continue {
	display: block;
	text-align: center;
	text-decoration: none;
	line-height: 1.4;
}
@media (max-width: 520px) {
	.rqo-page-done { margin: 16px 10px 34px; padding: 24px 16px 20px; }
}
