/**
 * Modules Lupéo sur la fiche produit.
 *
 * Les couleurs viennent des jetons du thème (--lupeo-*), avec une valeur de
 * repli pour que le plugin reste présentable si le thème change.
 */

.lupeo-i{width:1em;height:1em;flex:none;stroke:currentColor;fill:none;
	stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* ---------- logo de marque ---------- */
.lupeo-brand{display:inline-block;margin:0 0 8px;text-decoration:none;line-height:0}
.lupeo-brand:hover{opacity:.75}
/* ⚠️ Une hauteur fixe ne convient qu'aux logos horizontaux. Kuickwheel est un
   mot-symbole de ratio 4,7:1 : à 26 px de haut il fait 122 px de large, très
   bien. Kukirin est carré : il tombait à 26 × 26 px, un timbre illisible.
   On borne donc les DEUX côtés — la largeur reprend celle qu'occupait déjà un
   logo horizontal (le rendu validé ne bouge pas), la hauteur laisse aux logos
   carrés de quoi être lus. */
.lupeo-brand img,
.lupeo-brand .lupeo-brand__logo{display:block;height:auto;width:auto;
	max-height:44px;max-width:130px;
	object-fit:contain;object-position:left center;margin:0}
.lupeo-brand__txt{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;
	color:var(--lupeo-teal,#007C75);font-weight:700}

/* ---------- référence, points forts, prix, disponibilité ---------- */
.lupeo-ref{font-size:12.5px;color:var(--lupeo-mute,#6F6A62);
	font-variant-numeric:tabular-nums;margin:0 0 14px}

.woocommerce div.product .woocommerce-product-details__short-description ul{
	list-style:none;margin:0 0 20px;padding:0;display:grid;gap:9px}
.woocommerce div.product .woocommerce-product-details__short-description li{
	position:relative;padding-left:31px;font-size:14.5px;line-height:1.5;
	color:var(--lupeo-ink-2,#4A453E);margin:0}
.woocommerce div.product .woocommerce-product-details__short-description li::before{
	content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:6px;
	background-color:var(--lupeo-teal-soft,#E2EFEE);
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007C75' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:center;background-size:12px 12px}

.woocommerce div.product p.price{font-size:34px;line-height:1.15;margin:0 0 14px}
.woocommerce div.product p.price .woocommerce-price-suffix{
	font-family:var(--lupeo-sans,Inter,sans-serif);font-size:13px;font-weight:400;
	letter-spacing:0;color:var(--lupeo-mute,#6F6A62)}

.lupeo-stock{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;
	color:var(--lupeo-ok,#15803D);background:var(--lupeo-ok-soft,#E9F3EC);
	padding:6px 12px;border-radius:999px;margin:0 0 18px}
.lupeo-stock__pip{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}

/* Le bouton d'achat porte l'orange, et lui seul. */
.woocommerce div.product form.cart .single_add_to_cart_button{
	width:100%;padding:16px 20px;font-size:16px;
	background-color:var(--lupeo-cta,#EA580C);color:#fff;
	box-shadow:0 1px 0 var(--lupeo-cta-deep,#C2410C)}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{
	background-color:var(--lupeo-cta-deep,#C2410C);color:#fff}

/* ---------- estimation d'expédition ---------- */
.lupeo-ship{border:1.5px solid var(--lupeo-teal,#007C75);border-radius:12px;overflow:hidden;margin:0 0 22px}
.lupeo-ship__top{background:var(--lupeo-teal-soft,#E2EFEE);padding:14px 16px;display:flex;gap:12px;align-items:flex-start}
.lupeo-ship__check{flex:none;width:24px;height:24px;border-radius:7px;
	background:var(--lupeo-teal,#007C75);color:#fff;display:flex;align-items:center;justify-content:center}
.lupeo-ship__check .lupeo-i{width:14px;height:14px;stroke-width:2.6}
.lupeo-ship__label{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
	color:var(--lupeo-teal,#007C75);margin:0 0 2px}
.lupeo-ship__date{font-family:var(--theme-font-family-heading,Manrope,Inter,sans-serif);
	font-weight:700;letter-spacing:-.025em;font-size:19px;line-height:1.25;
	color:var(--lupeo-ink,#1A1A1A);margin:0}
.lupeo-ship__sub{font-size:12.5px;color:var(--lupeo-ink-2,#4A453E);margin:3px 0 0}

.lupeo-ship__body{padding:14px 16px;display:flex;flex-direction:column;gap:12px;background:#fff}
.lupeo-ship__line{display:flex;gap:12px;align-items:center;font-size:13.5px;
	color:var(--lupeo-ink-2,#4A453E);margin:0;line-height:1.45}
.lupeo-ship__ico{flex:none;width:28px;height:28px;border-radius:8px;
	border:1px solid var(--lupeo-line,#E6DFD4);display:flex;align-items:center;justify-content:center;
	color:var(--lupeo-teal,#007C75)}
.lupeo-ship__ico .lupeo-i{width:15px;height:15px}
.lupeo-ship__line b{color:var(--lupeo-ink,#1A1A1A);font-weight:600}
.lupeo-ship__foot{border-top:1px dashed var(--lupeo-line,#E6DFD4);padding-top:11px;
	font-size:12.5px;color:var(--lupeo-mute,#6F6A62);margin:0}

/* ---------- compte à rebours ---------- */
.lupeo-clock{background:var(--lupeo-teal-deep,#005A55);padding:13px 16px;
	display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.lupeo-clock__txt{color:#fff;font-size:12.5px;line-height:1.45;flex:1 1 190px;opacity:.92;
	display:flex;align-items:center;gap:9px;margin:0}
.lupeo-clock__txt .lupeo-i{width:17px;height:17px;opacity:.8}
.lupeo-clock__txt b{font-weight:600;opacity:1}
.lupeo-clock__digits{display:flex;align-items:flex-start;gap:6px}
.lupeo-clock__cell{background:rgba(255,255,255,.13);border-radius:9px;padding:6px 9px 5px;
	min-width:44px;display:flex;flex-direction:column;align-items:center;gap:1px}
.lupeo-clock__n{font-family:var(--theme-font-family-heading,Manrope,Inter,sans-serif);
	font-weight:700;font-variant-numeric:tabular-nums;font-size:20px;line-height:1.1;color:#fff}
.lupeo-clock__u{font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;
	color:#fff;opacity:.62;font-weight:600}
.lupeo-clock--closed{background:#F0EBE3}
.lupeo-clock--closed .lupeo-clock__txt{color:var(--lupeo-ink-2,#4A453E);opacity:1}

/* ---------- réassurance ---------- */
.lupeo-trust{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:0 0 22px}
.lupeo-trust__item{border:1px solid var(--lupeo-line,#E6DFD4);border-radius:11px;padding:13px;
	background:var(--lupeo-cream,#FAF7F2);display:grid;grid-template-columns:auto 1fr;
	gap:4px 11px;align-items:center}
.lupeo-trust__ico{grid-row:span 2;width:34px;height:34px;border-radius:10px;
	background:var(--lupeo-teal-soft,#E2EFEE);color:var(--lupeo-teal,#007C75);
	display:flex;align-items:center;justify-content:center}
.lupeo-trust__ico .lupeo-i{width:18px;height:18px}
.lupeo-trust__item b{font-size:13px;color:var(--lupeo-ink,#1A1A1A);font-weight:600;
	align-self:end;line-height:1.25}
.lupeo-trust__item span:last-child{font-size:12px;color:var(--lupeo-ink-2,#4A453E);
	line-height:1.35;align-self:start}
@media (max-width:520px){.lupeo-trust{grid-template-columns:1fr}}

/* ---------- attention avant commande ---------- */
.lupeo-check{border:2px solid var(--lupeo-warn-line,#E9C88F);background:var(--lupeo-warn-soft,#FDF6EC);
	border-radius:12px;overflow:hidden;margin:0 0 22px}
.lupeo-check__head{display:flex;gap:11px;align-items:center;padding:12px 15px;
	border-bottom:1px solid var(--lupeo-warn-line,#E9C88F);background:rgba(180,83,9,.06)}
.lupeo-check__bang{flex:none;width:26px;height:26px;border-radius:8px;
	background:var(--lupeo-warn,#B45309);color:#fff;display:flex;align-items:center;justify-content:center}
.lupeo-check__bang .lupeo-i{width:15px;height:15px;stroke-width:2.3}
.lupeo-check__head h4{font-family:var(--theme-font-family-heading,Manrope,Inter,sans-serif);
	font-weight:700;letter-spacing:-.02em;font-size:15.5px;color:var(--lupeo-warn,#B45309);margin:0}
.lupeo-check__body{padding:14px 15px;display:flex;flex-direction:column;gap:11px}
.lupeo-check__body ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.lupeo-check__body li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;
	color:var(--lupeo-ink-2,#4A453E);line-height:1.55;margin:0}
.lupeo-check__num{flex:none;min-width:21px;height:21px;border-radius:6px;
	border:1px solid var(--lupeo-warn-line,#E9C88F);background:#fff;
	display:flex;align-items:center;justify-content:center;
	font-size:11.5px;color:var(--lupeo-warn,#B45309);font-weight:700;margin-top:1px}
.lupeo-check__note{font-size:12.5px;color:var(--lupeo-ink-2,#4A453E);
	border-top:1px dashed var(--lupeo-warn-line,#E9C88F);padding-top:10px;margin:0}

/* =========================================================
   Contenu long — sections empilées, à la place des onglets
   ========================================================= */
/*
 * Le crochet où ces sections s'accrochent est, chez Blocksy, dans un
 * conteneur PLEINE LARGEUR : sans cette règle, le texte vient coller les
 * bords de l'écran sur téléphone. On reprend donc la largeur du conteneur
 * du thème, celle qu'utilisent déjà la galerie et le bloc d'achat, pour que
 * tout soit aligné sur la même colonne.
 */
.lupeo-sections{
	width:var(--theme-container-width,100%);
	max-width:var(--theme-normal-container-max-width,1290px);
	margin:8px auto 0}
.lupeo-section{border-top:1px solid var(--lupeo-line,#E6DFD4);padding:30px 0}
.lupeo-section__t{font-family:var(--theme-font-family-heading,Manrope,Inter,sans-serif);
	font-weight:700;letter-spacing:-.025em;font-size:22px;line-height:1.25;
	color:var(--lupeo-ink,#1A1A1A);margin:0 0 14px}
/* La limite de largeur vaut pour le texte, qui se lit mal en lignes trop
   longues — pas pour les tableaux, qui doivent occuper toute la section. */
.lupeo-prose p,.lupeo-prose ul,.lupeo-prose ol{max-width:70ch}
.lupeo-prose p{color:var(--lupeo-ink-2,#4A453E);font-size:15px;line-height:1.65;margin:0 0 14px}
.lupeo-prose p:last-child{margin-bottom:0}
.lupeo-prose ul,.lupeo-prose ol{color:var(--lupeo-ink-2,#4A453E);font-size:15px;line-height:1.65}
.lupeo-prose strong{color:var(--lupeo-ink,#1A1A1A);font-weight:600}

/* ---------- tableau de caractéristiques ---------- */
.lupeo-specs__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.lupeo-specs,
.lupeo-section--attributs .woocommerce-product-attributes{
	border-collapse:collapse;width:100%;font-size:14px;min-width:420px;margin:0}
/* Filets horizontaux seulement : les traits verticaux du thème font « tableur ». */
.lupeo-specs th,.lupeo-specs td,
.lupeo-section--attributs .woocommerce-product-attributes th,
.lupeo-section--attributs .woocommerce-product-attributes td{
	text-align:left;padding:11px 14px;border:0;
	border-bottom:1px solid var(--lupeo-line-2,#F0EBE3);background:transparent}
.lupeo-specs tr,
.lupeo-section--attributs .woocommerce-product-attributes tr{background:transparent;border:0}
.lupeo-specs th,
.lupeo-section--attributs .woocommerce-product-attributes th{
	width:42%;color:var(--lupeo-mute,#6F6A62);font-weight:500}
.lupeo-specs td,
.lupeo-section--attributs .woocommerce-product-attributes td{
	color:var(--lupeo-ink,#1A1A1A);font-weight:500;font-variant-numeric:tabular-nums}
.lupeo-specs td p,
.lupeo-section--attributs .woocommerce-product-attributes td p{margin:0}
.lupeo-specs tr:last-child th,.lupeo-specs tr:last-child td,
.lupeo-section--attributs .woocommerce-product-attributes tr:last-child th,
.lupeo-section--attributs .woocommerce-product-attributes tr:last-child td{border-bottom:none}

/* ---------- FAQ dépliante ---------- */
.lupeo-faq{display:flex;flex-direction:column;
	border-top:1px solid var(--lupeo-line-2,#F0EBE3)}
.lupeo-faq__item{border-bottom:1px solid var(--lupeo-line-2,#F0EBE3);margin:0}
.lupeo-faq__q{cursor:pointer;padding:14px 2px;font-size:15px;font-weight:600;
	color:var(--lupeo-ink,#1A1A1A);list-style:none;display:flex;
	justify-content:space-between;gap:16px;align-items:center;line-height:1.4}
.lupeo-faq__q::-webkit-details-marker{display:none}
.lupeo-faq__q::after{content:"+";color:var(--lupeo-teal,#007C75);font-size:19px;
	font-weight:400;line-height:1;flex:none}
.lupeo-faq__item[open] > .lupeo-faq__q{color:var(--lupeo-teal,#007C75)}
.lupeo-faq__item[open] > .lupeo-faq__q::after{content:"\2013"}
.lupeo-faq__q:focus-visible{outline:2px solid var(--lupeo-teal,#007C75);outline-offset:2px}
.lupeo-faq__a{padding:0 2px 16px;max-width:70ch}
.lupeo-faq__a p{font-size:14.5px;line-height:1.65;color:var(--lupeo-ink-2,#4A453E);margin:0 0 12px}
.lupeo-faq__a p:last-child{margin-bottom:0}

/* ---------- « En résumé » ---------- */
.lupeo-section--resume{padding-bottom:34px}
.lupeo-geo{background:var(--lupeo-teal-soft,#E2EFEE);border-radius:12px;padding:20px 22px}
.lupeo-geo__t{font-family:var(--theme-font-family-heading,Manrope,Inter,sans-serif);
	font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
	color:var(--lupeo-teal,#007C75);margin:0 0 9px}
.lupeo-geo p{color:var(--lupeo-ink-2,#4A453E);font-size:14.5px;line-height:1.65;margin:0 0 10px}
.lupeo-geo p:last-child{margin-bottom:0}

@media (max-width:600px){
	.lupeo-section{padding:24px 0}
	.lupeo-section__t{font-size:19px}
}
