/*
 * Panier et checkout de la mercerie : ce qui s'ajoute à l'habillage du
 * catalogue (mercerie-tunnel.css, généré) pour aider le client à aller au
 * bout. Écrit à la main : ce fichier-ci se retouche.
 */

/* ---------------------------------------------------------------- Quantité
 * Un seul cadre fin autour de « − 2 + ». Les boutons portaient chacun leur
 * bordure grise, plus haute que le cadre : trois contours décalés. */
body.dyrsan-tunnel .dyc-vue .dyrs-qty {
	display:inline-flex !important; align-items:stretch !important; height:40px !important;
	border:1px solid rgba(26,26,26,.28) !important; background:#fff !important; box-sizing:border-box; }
body.dyrsan-tunnel .dyc-vue .dyrs-qty:hover { border-color:#1A1A1A !important; }
body.dyrsan-tunnel .dyc-vue .dyrs-cart .dyrs-qty button[data-qty] {
	width:38px !important; height:auto !important; border:0 !important; background:transparent !important;
	color:#1A1A1A !important; opacity:.55 !important; font-size:15px !important; line-height:1 !important;
	display:flex !important; align-items:center !important; justify-content:center !important;
	padding:0 !important; margin:0 !important; cursor:pointer; transition:opacity .15s ease; }
body.dyrsan-tunnel .dyc-vue .dyrs-cart .dyrs-qty button[data-qty]:hover,
body.dyrsan-tunnel .dyc-vue .dyrs-cart .dyrs-qty button[data-qty]:focus-visible {
	opacity:1 !important; background:rgba(0,0,0,.04) !important; border:0 !important; }
body.dyrsan-tunnel .dyc-vue .dyrs-qty .quantity { display:flex; margin:0 !important; }
body.dyrsan-tunnel .dyc-vue .dyrs-qty input.qty {
	width:40px !important; height:100% !important; min-height:0 !important; margin:0 !important;
	border:0 !important; border-left:1px solid rgba(26,26,26,.12) !important;
	border-right:1px solid rgba(26,26,26,.12) !important; border-radius:0 !important;
	background:transparent !important; box-shadow:none !important; padding:0 !important;
	text-align:center !important; font-family:var(--dyc-titre) !important; font-size:16px !important;
	font-weight:500 !important; color:#1A1A1A !important; -moz-appearance:textfield; }
body.dyrsan-tunnel .dyc-vue .dyrs-qty input.qty::-webkit-outer-spin-button,
body.dyrsan-tunnel .dyc-vue .dyrs-qty input.qty::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
body.dyrsan-tunnel .dyc-vue .dyrs-qty--fixe { padding:0 14px !important; align-items:center !important; }
/* Quantité refusée (stock, minimum) : le message de WooCommerce, en tête du panier. */
body.dyrsan-tunnel .dyc-vue .dyrs-qty-message { grid-column:1 / -1; margin:0 0 12px; padding:12px 16px;
	border:1px solid #7A2233; color:#7A2233; font-size:12px; }
/* Pendant la mise à jour du panier, la ligne se voit en attente. */
body.dyrsan-tunnel .dyc-vue .dyrs-cart.dyrs-maj .dyrs-cart-items { opacity:.45; pointer-events:none;
	transition:opacity .2s ease; }

/* Le récapitulatif couvre les quatre rangées de gauche : sa hauteur se
 * répartissait entre elles et creusait un vide sous la barre de livraison.
 * La dernière rangée prend le reste. */
@media (min-width:901px) {
	body.dyrsan-tunnel .dyc-vue .dyrs-cart { grid-template-rows:auto auto auto 1fr; }
}

/* ------------------------------------------------ Récapitulatif du panier */
body.dyrsan-tunnel .dyc-vue .dyrs-conversion { margin-top:24px; }
body.dyrsan-tunnel .dyc-vue .dyrs-conversion__cta { width:100%; padding:19px 20px !important;
	font-size:11px !important; letter-spacing:.18em !important; }
/* Sur ordinateur, le bouton du récapitulatif remplace la barre collée en bas. */
@media (min-width:901px) {
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-sticky { display:none !important; }
}
/* Sur mobile, la barre du bas reste : le récapitulatif est loin sous les articles. */
@media (max-width:900px) {
	body.dyrsan-tunnel .dyc-vue .dyrs-conversion__cta { display:none !important; }
}

/* -------------------------------------------------------------- Garanties */
body.dyrsan-tunnel .dyrs-garanties { list-style:none; margin:20px 0 0; padding:18px 0 0;
	border-top:1px solid rgba(0,0,0,.08); }
body.dyrsan-tunnel .dyrs-garanties li { position:relative; margin:0 0 7px; padding:0 0 0 16px;
	font-family:var(--dyc-texte); font-size:11px; line-height:1.6; color:#1A1A1A; opacity:.8; }
body.dyrsan-tunnel .dyrs-garanties li::before { content:""; position:absolute; left:0; top:.62em;
	width:6px; height:1px; background:#1A1A1A; }
body.dyrsan-tunnel .dyrs-garanties a { color:#1A1A1A !important; text-decoration:underline;
	text-underline-offset:2px; }
body.dyrsan-tunnel .dyrs-garanties__cartes { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
body.dyrsan-tunnel .dyrs-garanties__cartes svg { width:40px; height:25px; border:1px solid rgba(0,0,0,.1); }
body.dyrsan-tunnel .dyrs-garanties-attente { margin-top:4px; }
body.dyrsan-tunnel .dyrs-garanties-attente[hidden] { display:none !important; }

/* ------------------------------------------------------------ Panier vide */
body.dyrsan-tunnel .dyc-vue .dyrs-panier-vide { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 0; }
body.dyrsan-tunnel .dyc-vue .dyrs-panier-vide .dyc-bouton { width:auto; min-width:200px; }

/* ------------------------------------------------ Fenêtre sur mobile
 * La fenêtre de mesure d'audience se pose au-dessus de la barre de paiement,
 * au lieu de la recouvrir. */
@media (max-width:900px) {
	body.dyrsan-tunnel .dyc-cookies { bottom:calc(76px + env(safe-area-inset-bottom)); }
}

/* Sur mobile, le titre du thème est masqué : son emplacement laissait un vide
 * en tête du cadre du panier. */
@media (max-width:900px) {
	body.dyrsan-tunnel .dyc-vue .dyrs-cart { padding:0 !important; row-gap:18px !important;
		border:0 !important; box-shadow:none !important; background:none !important; }
	/* Une ligne compacte, photo à gauche : les articles tiennent à l'écran et
	 * le client voit plus vite son total et le bouton de paiement. */
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item { display:grid !important; grid-template-columns:84px minmax(0,1fr) !important;
		gap:14px !important; align-items:start !important; padding:16px 0 !important; text-align:left !important; }
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item__thumb { width:84px !important; height:84px !important; min-height:0 !important;
		aspect-ratio:auto !important; margin:0 !important; padding:0 !important; overflow:hidden; }
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item__thumb img { width:84px !important;
		height:84px !important; object-fit:cover; margin:0 !important; }
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item__main { min-width:0; display:flex !important; flex-direction:column !important;
		gap:10px !important; align-items:stretch !important; text-align:left !important; }
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item__top { display:flex !important; justify-content:space-between !important;
		align-items:flex-start !important; gap:10px !important; }
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item__name,
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item__meta { text-align:left !important; margin-left:0 !important; }
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item__bottom { display:flex !important; justify-content:space-between !important;
		align-items:center !important; gap:10px !important; margin:0 !important; }
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item__unitprice { position:static !important; transform:none !important;
		margin:0 !important; font-size:12px !important; opacity:1 !important; white-space:nowrap; }
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-items { display:block !important; gap:0 !important; margin-top:0 !important; }
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item { margin:0 !important; min-height:0 !important; }
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item__text { flex:1 1 auto; min-width:0; }
	body.dyrsan-tunnel .dyc-vue .dyrs-cart-item__remove { position:static !important; flex:0 0 auto;
		padding:2px 0 8px 8px !important; line-height:1 !important; }
}

/* ======================================================================
 * Paiement d'une commande (lien envoyé au client) et remerciement
 * Gabarits classiques de WooCommerce, dans le dessin du tunnel.
 * ==================================================================== */
body.dyrsan-tunnel .dyc-vue .woocommerce { max-width:1180px; margin:0 auto; font-family:var(--dyc-texte); color:#1A1A1A; }
body.dyrsan-tunnel .dyc-vue .woocommerce h2,
body.dyrsan-tunnel .dyc-vue .woocommerce h3 { font-family:var(--dyc-titre) !important; font-size:12px !important; font-weight:500 !important;
	letter-spacing:.16em !important; text-transform:uppercase !important; text-align:left !important; margin:44px 0 16px !important;
	padding:0 0 12px !important; border-bottom:1px solid rgba(0,0,0,.12) !important; }

/* Tableaux : récapitulatif à payer, détails de la commande */
body.dyrsan-tunnel .dyc-vue table.shop_table { width:100%; border:0 !important; border-collapse:collapse !important;
	border-radius:0 !important; background:none !important; margin:0 0 26px !important; }
body.dyrsan-tunnel .dyc-vue table.shop_table th,
body.dyrsan-tunnel .dyc-vue table.shop_table td { border:0 !important; border-bottom:1px solid rgba(0,0,0,.08) !important;
	background:none !important; padding:14px 0 !important; font-size:13px !important; text-align:left; vertical-align:middle; }
body.dyrsan-tunnel .dyc-vue table.shop_table thead th { font-family:var(--dyc-titre) !important; font-size:10px !important;
	font-weight:400 !important; letter-spacing:.14em; text-transform:uppercase; opacity:.55; }
body.dyrsan-tunnel .dyc-vue table.shop_table td:last-child,
body.dyrsan-tunnel .dyc-vue table.shop_table th:last-child { text-align:right !important; }
body.dyrsan-tunnel .dyc-vue table.shop_table .product-name,
body.dyrsan-tunnel .dyc-vue table.shop_table td.product-name { font-family:var(--dyc-titre) !important; font-size:13px !important; }
body.dyrsan-tunnel .dyc-vue table.shop_table tfoot th { font-weight:400 !important; }
body.dyrsan-tunnel .dyc-vue #order_review table.shop_table tfoot tr:last-child th,
body.dyrsan-tunnel .dyc-vue #order_review table.shop_table tfoot tr:last-child td { border-bottom:1px solid #1A1A1A !important;
	font-size:15px !important; font-weight:600 !important; }

/* Paiement d'une commande : le tableau à gauche, le paiement à droite */
@media (min-width:901px) {
	body.dyrsan-tunnel .dyc-vue form#order_review { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);
		gap:0 52px; align-items:start; }
	body.dyrsan-tunnel .dyc-vue form#order_review > table.shop_table { grid-column:1; grid-row:1; }
	body.dyrsan-tunnel .dyc-vue form#order_review > #payment { grid-column:2; grid-row:1 / span 3; position:sticky; top:24px; }
}
body.dyrsan-tunnel .dyc-vue #payment { background:#F7F4F1 !important; border-radius:0 !important; padding:26px 24px !important; }
body.dyrsan-tunnel .dyc-vue #payment ul.payment_methods { list-style:none; margin:0 0 18px !important; padding:0 !important;
	border:0 !important; }
body.dyrsan-tunnel .dyc-vue #payment ul.payment_methods > li { background:#fff !important; border:1px solid rgba(0,0,0,.08);
	padding:14px 16px !important; margin:0 0 8px !important; list-style:none; }
body.dyrsan-tunnel .dyc-vue #payment ul.payment_methods > li > label { font-family:var(--dyc-titre); font-size:12px;
	letter-spacing:.08em; text-transform:uppercase; }
body.dyrsan-tunnel .dyc-vue #payment div.payment_box { background:#fff !important; border-radius:0 !important; margin:12px 0 0 !important;
	padding:0 !important; }
body.dyrsan-tunnel .dyc-vue #payment div.payment_box::before { display:none !important; }
body.dyrsan-tunnel .dyc-vue #payment .place-order { padding:0 !important; margin:0 !important; background:none !important; }
body.dyrsan-tunnel .dyc-vue .woocommerce-privacy-policy-text p,
body.dyrsan-tunnel .dyc-vue .woocommerce-terms-and-conditions-wrapper { font-size:11px; line-height:1.7; }
body.dyrsan-tunnel .dyc-vue .woocommerce-terms-and-conditions-checkbox-text { font-size:12px; }
body.dyrsan-tunnel .dyc-vue #payment #place_order,
body.dyrsan-tunnel .dyc-vue .woocommerce .button,
body.dyrsan-tunnel .dyc-vue .woocommerce button[type=submit] { float:none !important; width:100%; display:block; background:#1A1A1A !important;
	color:#fff !important; border:1px solid #1A1A1A !important; border-radius:0 !important; box-shadow:none !important;
	font-family:var(--dyc-titre) !important; font-size:11px !important; font-weight:400 !important; letter-spacing:.18em !important;
	text-transform:uppercase !important; padding:18px 20px !important; margin:18px 0 0 !important; text-align:center; line-height:1.2; }
body.dyrsan-tunnel .dyc-vue #payment #place_order:hover,
body.dyrsan-tunnel .dyc-vue .woocommerce .button:hover { background:#fff !important; color:#1A1A1A !important; }

/* Remerciement */
body.dyrsan-tunnel .dyc-vue .woocommerce-thankyou-order-received { font-family:var(--dyc-titre) !important; font-size:22px !important;
	font-weight:400 !important; letter-spacing:.02em; text-align:left !important; margin:0 0 26px !important; padding:0 !important;
	background:none !important; border:0 !important; color:#1A1A1A !important; }
body.dyrsan-tunnel .dyc-vue .woocommerce-thankyou-order-received::before { display:none !important; }
body.dyrsan-tunnel .dyc-vue ul.woocommerce-order-overview { display:flex; flex-wrap:wrap; list-style:none; margin:0 0 10px !important;
	padding:0 !important; border:1px solid #1A1A1A; }
body.dyrsan-tunnel .dyc-vue ul.woocommerce-order-overview li { flex:1 1 160px; margin:0 !important; padding:18px 20px !important;
	border:0 !important; border-right:1px solid rgba(0,0,0,.12) !important; font-family:var(--dyc-titre); font-size:10px !important;
	letter-spacing:.14em; text-transform:uppercase; }
body.dyrsan-tunnel .dyc-vue ul.woocommerce-order-overview li:last-child { border-right:0 !important; }
body.dyrsan-tunnel .dyc-vue ul.woocommerce-order-overview li strong { display:block; margin-top:8px; font-family:var(--dyc-texte);
	font-size:15px !important; letter-spacing:0; text-transform:none; font-weight:500; }
body.dyrsan-tunnel .dyc-vue .order-actions-button { display:inline-block !important; width:auto !important; margin:0 0 0 8px !important;
	padding:12px 18px !important; }
body.dyrsan-tunnel .dyc-vue .woocommerce-button.cancel { background:#fff !important; color:#1A1A1A !important; }
body.dyrsan-tunnel .dyc-vue .woocommerce-customer-details address { border:1px solid rgba(0,0,0,.12) !important; border-radius:0 !important;
	padding:18px 20px !important; font-style:normal; font-size:13px; line-height:1.8; }
body.dyrsan-tunnel .dyc-vue .dyrs-merci-suite { margin:48px 0 0; padding-top:28px; border-top:1px solid rgba(0,0,0,.12); }
body.dyrsan-tunnel .dyc-vue .dyrs-merci-suite__titre { font-family:var(--dyc-titre); font-size:11px; letter-spacing:.16em;
	text-transform:uppercase; margin:0; }
body.dyrsan-tunnel .dyc-vue .dyrs-merci-suite .dyrs-panier-vide { margin:16px 0 0; }
body.dyrsan-tunnel .dyc-vue .dyrs-merci-suite .dyc-bouton { margin:0 !important; }
body.dyrsan-tunnel .dyc-vue .dyrs-merci-suite__aide { font-size:12px; margin:18px 0 0; }
body.dyrsan-tunnel .dyc-vue .dyrs-merci-suite__aide a { color:#1A1A1A; text-decoration:underline; }

/* Vérification de l'adresse e-mail avant de payer une commande invité */
body.dyrsan-tunnel .dyc-vue form.woocommerce-form-login,
body.dyrsan-tunnel .dyc-vue form.woocommerce-verify-email { max-width:460px; margin:0 auto !important; border:1px solid rgba(0,0,0,.12) !important;
	border-radius:0 !important; padding:28px !important; }
body.dyrsan-tunnel .dyc-vue .woocommerce form .input-text { border-radius:0 !important; border:1px solid rgba(0,0,0,.2) !important;
	font-size:16px !important; padding:12px 14px !important; box-shadow:none !important; }
