<!doctype html>
<html
lang="fr"
>
<head>
<meta name="google-site-verification" content="RoY8shsVzaWuZhBPAaBQTXa8j2_a5PjOxMgl9diQEcw" />
<link
rel="expect"
href="#MainContent"
blocking="render"
id="view-transition-render-blocker"
>
<meta charset="utf-8">
<meta
http-equiv="X-UA-Compatible"
content="IE=edge"
>
<meta
name="viewport"
content="width=device-width,initial-scale=1"
>
<meta
name="view-transition"
content="same-origin"
>
<meta
name="theme-color"
content=""
>
<meta
property="og:site_name"
content="Les tendances de Charlotte"
>
<meta
property="og:url"
content="https://lestendancesdecharlotte.com/collections/massages-soins-saint-quentin"
>
<meta
property="og:title"
content="Massage corps & visage à Saint-Quentin | Facialiste médaillée"
>
<meta
property="og:type"
content="website"
>
<meta
property="og:description"
content="Massages du corps et du visage à Saint-Quentin par Charlotte, facialiste médaillée au Championnat de France : fascias, drainage, rituels, Kobido."
><meta
property="og:image"
content="http://lestendancesdecharlotte.com/cdn/shop/collections/image_1024x1024_b5f69a46-8904-46cf-81ae-feb884fb9409.jpg?v=1790779120"
>
<meta
property="og:image:secure_url"
content="https://lestendancesdecharlotte.com/cdn/shop/collections/image_1024x1024_b5f69a46-8904-46cf-81ae-feb884fb9409.jpg?v=1790779120"
>
<meta
property="og:image:width"
content="1024"
>
<meta
property="og:image:height"
content="1024"
><meta
name="twitter:card"
content="summary_large_image"
>
<meta
name="twitter:title"
content="Massage corps & visage à Saint-Quentin | Facialiste médaillée"
>
<meta
name="twitter:description"
content="Massages du corps et du visage à Saint-Quentin par Charlotte, facialiste médaillée au Championnat de France : fascias, drainage, rituels, Kobido."
>
<title>
Massage corps & visage à Saint-Quentin | Facialiste médaillée
– Les tendances de Charlotte</title>
<link
rel="canonical"
href="https://lestendancesdecharlotte.com/collections/massages-soins-saint-quentin"
>
<meta
name="description"
content="Massages du corps et du visage à Saint-Quentin par Charlotte, facialiste médaillée au Championnat de France : fascias, drainage, rituels, Kobido."
>
<link href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/overflow-list.css?v=16727044177065489451790842512" as="style" rel="preload">
<link href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/base.css?v=110558660533795380521790842512" rel="stylesheet" type="text/css" media="all" />
<link
rel="preload"
as="font"
href="//lestendancesdecharlotte.com/cdn/fonts/lora/lora_n4.9a60cb39eff3bfbc472bac5b3c5c4d7c878f0a8d.woff2"
type="font/woff2"
crossorigin
fetchpriority="low"
><link
rel="preload"
as="font"
href="//lestendancesdecharlotte.com/cdn/fonts/playfair_display/playfairdisplay_n4.9980f3e16959dc89137cc1369bfc3ae98af1deb9.woff2"
type="font/woff2"
crossorigin
fetchpriority="low"
><link
rel="preload"
as="font"
href="//lestendancesdecharlotte.com/cdn/fonts/playfair_display/playfairdisplay_n4.9980f3e16959dc89137cc1369bfc3ae98af1deb9.woff2"
type="font/woff2"
crossorigin
fetchpriority="low"
><link
rel="preload"
as="font"
href="//lestendancesdecharlotte.com/cdn/fonts/instrument_serif/instrumentserif_n4.1f296bfb073af186bc0a0abe7791aa71e0f0fd99.woff2"
type="font/woff2"
crossorigin
fetchpriority="low"
>
<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
<script type="importmap">
{
"imports": {
"@theme/overflow-list": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/overflow-list.js?v=46858356770684902511790842512",
"@theme/product-title": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/product-title-truncation.js?v=81744426891537421781790842512",
"@theme/component": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/component.js?v=184240237101443119871790842512",
"@theme/dialog": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/dialog.js?v=150888536568694194021790842512",
"@theme/events": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/events.js?v=1118589085892804011790842512",
"@theme/focus": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/focus.js?v=60436577539430446401790842512",
"@theme/morph": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/morph.js?v=104045809772310330131790842512",
"@theme/paginated-list": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/paginated-list.js?v=95298315036233333871790842512",
"@theme/performance": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/performance.js?v=171015751390534793081790842512",
"@theme/product-form": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/product-form.js?v=142170751179338062901790842512",
"@theme/recently-viewed-products": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/recently-viewed-products.js?v=94729125001750262651790842512",
"@theme/scrolling": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/scrolling.js?v=162288454571026455011790842512",
"@theme/section-renderer": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/section-renderer.js?v=123311117485513785771790842512",
"@theme/section-hydration": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/section-hydration.js?v=108434990705342316311790842512",
"@theme/money-formatting": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/money-formatting.js?v=182191346160333327151790842512",
"@theme/utilities": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/utilities.js?v=28506172887375975941790842512",
"@theme/variant-picker": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/variant-picker.js?v=24924540959574313291790842512",
"@theme/media-gallery": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/media-gallery.js?v=14624021005636302161790842512",
"@theme/quick-add": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/quick-add.js?v=114575661933533593881790842512",
"@theme/paginated-list-aspect-ratio": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/paginated-list-aspect-ratio.js?v=25254270272143792451790842512",
"@theme/popover-polyfill": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/popover-polyfill.js?v=119029313658895111201790842512",
"@theme/component-quantity-selector": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/component-quantity-selector.js?v=67906657287482036641790842512",
"@theme/comparison-slider": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/comparison-slider.js?v=106705562947035711941790842512",
"@theme/sticky-add-to-cart": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/sticky-add-to-cart.js?v=48956925339276737091790842512",
"@theme/fly-to-cart": "//lestendancesdecharlotte.com/cdn/shop/t/18/assets/fly-to-cart.js?v=48483246440248933081790842512"
}
}
</script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/view-transitions.js?v=7106414069516106341790842512"
async
blocking="render"
></script>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/utilities.js?v=28506172887375975941790842512"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/component.js?v=184240237101443119871790842512"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/section-renderer.js?v=123311117485513785771790842512"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/section-hydration.js?v=108434990705342316311790842512"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/morph.js?v=104045809772310330131790842512"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/paginated-list-aspect-ratio.js?v=25254270272143792451790842512"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/paginated-list.js?v=95298315036233333871790842512"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/product-title-truncation.js?v=81744426891537421781790842512"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/focus.js?v=60436577539430446401790842512"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/recently-viewed-products.js?v=94729125001750262651790842512"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/scrolling.js?v=162288454571026455011790842512"
fetchpriority="low"
>
<link
rel="modulepreload"
href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/events.js?v=1118589085892804011790842512"
fetchpriority="low"
>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/popover-polyfill.js?v=119029313658895111201790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/overflow-list.js?v=46858356770684902511790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/quick-add.js?v=114575661933533593881790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/cart-discount.js?v=107077853990124422021790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/dialog.js?v=150888536568694194021790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/variant-picker.js?v=24924540959574313291790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/product-card.js?v=28695665944407642501790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/product-form.js?v=142170751179338062901790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/fly-to-cart.js?v=48483246440248933081790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/accordion-custom.js?v=97588419883090888471790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/media.js?v=37825095869491791421790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/product-price.js?v=83480980452100801711790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/product-sku.js?v=121804655373531320511790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/product-title-truncation.js?v=81744426891537421781790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/product-inventory.js?v=81520546963552472391790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/show-more.js?v=94563802205717136101790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/slideshow.js?v=168726587398279102001790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/layered-slideshow.js?v=30135417790894624731790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/anchored-popover.js?v=95953304814728754461790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/floating-panel.js?v=151277338116891310371790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/video-background.js?v=25237992823806706551790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/component-quantity-selector.js?v=67906657287482036641790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/media-gallery.js?v=14624021005636302161790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/rte-formatter.js?v=40306132146590816021790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/volume-pricing.js?v=15442793518842484731790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/price-per-item.js?v=144512917617120124431790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/volume-pricing-info.js?v=94479640769665442661790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/auto-close-details.js?v=58350291535404441581790842512"
defer="defer"
></script>
<script>
const Theme = {
translations: {
placeholder_image: `Image du paramètre fictif`,
added: `Ajouté`,
recipient_form_fields_visible: `Les champs du formulaire de destinataire sont désormais visibles`,
recipient_form_fields_hidden: `Les champs du formulaire de destinataire sont désormais masqués`,
recipient_form_error: `La soumission du formulaire présentait une erreur`,
items_added_to_cart_one: `1 article ajouté au panier`,
items_added_to_cart_other: `{{ count }} articles ajoutés au panier`,
cart_count: `Nombre total d’articles dans le panier`,
},
routes: {
cart_add_url: '/cart/add.js',
cart_change_url: '/cart/change',
cart_update_url: '/cart/update',
cart_url: '/cart',
predictive_search_url: '/search/suggest',
search_url: '/search',
},
template: {
name: 'collection',
},
};
</script>
<style data-shopify>
@font-face {
font-family: Lora;
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("//lestendancesdecharlotte.com/cdn/fonts/lora/lora_n4.9a60cb39eff3bfbc472bac5b3c5c4d7c878f0a8d.woff2") format("woff2"),
url("//lestendancesdecharlotte.com/cdn/fonts/lora/lora_n4.4d935d2630ceaf34d2e494106075f8d9f1257d25.woff") format("woff");
}
@font-face {
font-family: Lora;
font-weight: 700;
font-style: normal;
font-display: swap;
src: url("//lestendancesdecharlotte.com/cdn/fonts/lora/lora_n7.58a834e7e54c895806b2ffc982e4a00af29b1b9c.woff2") format("woff2"),
url("//lestendancesdecharlotte.com/cdn/fonts/lora/lora_n7.05fdf76140ca6e72e48561caf7f9893c487c3f1b.woff") format("woff");
}
@font-face {
font-family: Lora;
font-weight: 400;
font-style: italic;
font-display: swap;
src: url("//lestendancesdecharlotte.com/cdn/fonts/lora/lora_i4.a5059b22bd0a7547da84d66d2f523d17d17325d3.woff2") format("woff2"),
url("//lestendancesdecharlotte.com/cdn/fonts/lora/lora_i4.cb2d2ab46128fa7f84060d5f92cf3f49dc8181bd.woff") format("woff");
}
@font-face {
font-family: Lora;
font-weight: 700;
font-style: italic;
font-display: swap;
src: url("//lestendancesdecharlotte.com/cdn/fonts/lora/lora_i7.1bf76118f47019e7581a865f0f538b8ea5900419.woff2") format("woff2"),
url("//lestendancesdecharlotte.com/cdn/fonts/lora/lora_i7.1a7c7f083405ec98e57d8033d38caa748580f7ff.woff") format("woff");
}
@font-face {
font-family: "Playfair Display";
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("//lestendancesdecharlotte.com/cdn/fonts/playfair_display/playfairdisplay_n4.9980f3e16959dc89137cc1369bfc3ae98af1deb9.woff2") format("woff2"),
url("//lestendancesdecharlotte.com/cdn/fonts/playfair_display/playfairdisplay_n4.c562b7c8e5637886a811d2a017f9e023166064ee.woff") format("woff");
}
@font-face {
font-family: "Playfair Display";
font-weight: 700;
font-style: normal;
font-display: swap;
src: url("//lestendancesdecharlotte.com/cdn/fonts/playfair_display/playfairdisplay_n7.592b3435e0fff3f50b26d410c73ae7ec893f6910.woff2") format("woff2"),
url("//lestendancesdecharlotte.com/cdn/fonts/playfair_display/playfairdisplay_n7.998b1417dec711058cce2abb61a0b8c59066498f.woff") format("woff");
}
@font-face {
font-family: "Playfair Display";
font-weight: 400;
font-style: italic;
font-display: swap;
src: url("//lestendancesdecharlotte.com/cdn/fonts/playfair_display/playfairdisplay_i4.804ea8da9192aaed0368534aa085b3c1f3411619.woff2") format("woff2"),
url("//lestendancesdecharlotte.com/cdn/fonts/playfair_display/playfairdisplay_i4.5538cb7a825d13d8a2333cd8a94065a93a95c710.woff") format("woff");
}
@font-face {
font-family: "Playfair Display";
font-weight: 700;
font-style: italic;
font-display: swap;
src: url("//lestendancesdecharlotte.com/cdn/fonts/playfair_display/playfairdisplay_i7.ba833b400bcd9c858b439c75a4a7c6eddc4c7de0.woff2") format("woff2"),
url("//lestendancesdecharlotte.com/cdn/fonts/playfair_display/playfairdisplay_i7.4872c65919810cd2f622f4ba52cd2e9e595f11d5.woff") format("woff");
}
@font-face {
font-family: "Instrument Serif";
font-weight: 400;
font-style: normal;
font-display: swap;
src: url("//lestendancesdecharlotte.com/cdn/fonts/instrument_serif/instrumentserif_n4.1f296bfb073af186bc0a0abe7791aa71e0f0fd99.woff2") format("woff2"),
url("//lestendancesdecharlotte.com/cdn/fonts/instrument_serif/instrumentserif_n4.9c1bc0cbb666f794ccbef0784eef2fae0981ce72.woff") format("woff");
}
@font-face {
font-family: "Instrument Serif";
font-weight: 400;
font-style: italic;
font-display: swap;
src: url("//lestendancesdecharlotte.com/cdn/fonts/instrument_serif/instrumentserif_i4.5f74867220db936d30d7d208253fb8f2d3ef5a7c.woff2") format("woff2"),
url("//lestendancesdecharlotte.com/cdn/fonts/instrument_serif/instrumentserif_i4.659537f426cac059f95efd6b1bd59c465d629984.woff") format("woff");
}
:root {
/* Page Layout */
--sidebar-width: 25rem;
--narrow-content-width: 36rem;
--normal-content-width: 42rem;
--wide-content-width: 46rem;
--narrow-page-width: 90rem;
--normal-page-width: 120rem;
--wide-page-width: 150rem;
/* Section Heights */
--section-height-small: 15rem;
--section-height-medium: 25rem;
--section-height-large: 35rem;
@media screen and (min-width: 40em) {
--section-height-small: 40svh;
--section-height-medium: 55svh;
--section-height-large: 70svh;
}
@media screen and (min-width: 60em) {
--section-height-small: 50svh;
--section-height-medium: 65svh;
--section-height-large: 80svh;
}
/* Letter spacing */
--letter-spacing-sm: 0.06em;
--letter-spacing-md: 0.13em;
/* Font families */
--font-body--family: Lora, serif;
--font-body--style: normal;
--font-body--weight: 400;
--font-subheading--family: "Playfair Display", serif;
--font-subheading--style: normal;
--font-subheading--weight: 400;
--font-heading--family: "Playfair Display", serif;
--font-heading--style: normal;
--font-heading--weight: 400;
--font-accent--family: "Instrument Serif", serif;
--font-accent--style: normal;
--font-accent--weight: 400;
/* Margin sizes */
--font-heading--spacing: 0.25em;
--font-h1--spacing: var(--font-heading--spacing);
--font-h2--spacing: var(--font-heading--spacing);
--font-h3--spacing: var(--font-heading--spacing);
--font-h4--spacing: var(--font-heading--spacing);
--font-h5--spacing: var(--font-heading--spacing);
--font-h6--spacing: var(--font-heading--spacing);
--font-paragraph--spacing: 0.5em;
/* Heading colors */
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/** Z-Index / Layering */
--layer-section-background: -2;
--layer-lowest: -1;
--layer-base: 0;
--layer-flat: 1;
--layer-raised: 2;
--layer-heightened: 4;
--layer-sticky: 8;
--layer-window-overlay: 10;
--layer-header-menu: 12;
--layer-overlay: 16;
--layer-menu-drawer: 18;
--layer-temporary: 20;
/* Max-width / Measure */
--max-width--body-normal: 32.5em;
--max-width--body-narrow: 22.75em;
--max-width--heading-normal: 32.5em;
--max-width--heading-narrow: 19.5em;
--max-width--display-normal: 13em;
--max-width--display-narrow: 9.75em;
--max-width--display-tight: 3.25em;
/* Letter-spacing / Tracking */
--letter-spacing--display-tight: -0.03em;
--letter-spacing--display-normal: 0em;
--letter-spacing--display-loose: 0.03em;
--letter-spacing--heading-tight: -0.03em;
--letter-spacing--heading-normal: 0em;
--letter-spacing--heading-loose: 0.03em;
--letter-spacing--body-tight: -0.03em;
--letter-spacing--body-normal: 0em;
--letter-spacing--body-loose: 0.03em;
/* Line height / Leading */
--line-height: 1;
--line-height--display-tight: 1;
--line-height--display-normal: 1.1;
--line-height--display-loose: 1.2;
--line-height--heading-tight: 1.15;
--line-height--heading-normal: 1.25;
--line-height--heading-loose: 1.35;
--line-height--body-tight: 1.2;
--line-height--body-normal: 1.4;
--line-height--body-loose: 1.6;
/* Typography presets */
--font-size--paragraph: 0.875rem;--font-size--h1: clamp(3.0rem, 7.2vw, 4.5rem);--font-size--h2: clamp(2.25rem, 4.8vw, 3.0rem);--font-size--h3: 2.0rem;--font-size--h4: 1.5rem;--font-size--h5: 1.125rem;--font-size--h6: 1.0rem;--font-paragraph--weight: 400;--font-paragraph--letter-spacing: var(--letter-spacing--body-normal);--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-normal);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-tight);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: none;--font-h1--line-height: var(--line-height--display-tight);--font-h2--weight: var(--font-primary--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-primary--family);--font-h2--style: var(--font-primary--style);--font-h2--case: none;--font-h2--line-height: var(--line-height--display-normal);--font-h3--weight: var(--font-primary--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-tight);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-primary--family);--font-h3--style: var(--font-primary--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--heading-tight);--font-h4--weight: var(--font-subheading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-subheading--family);--font-h4--style: var(--font-subheading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-normal);--font-h5--weight: var(--font-body--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-body--family);--font-h5--style: var(--font-body--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-normal);--font-h6--weight: var(--font-subheading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-subheading--family);--font-h6--style: var(--font-subheading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-normal);
/* Hardcoded font sizes */
--font-size--3xs: 0.625rem;
--font-size--2xs: 0.75rem;
--font-size--xs: 0.8125rem;
--font-size--sm: 0.875rem;
--font-size--md: 1rem;
--font-size--lg: 1.125rem;
--font-size--xl: 1.25rem;
--font-size--2xl: 1.5rem;
--font-size--3xl: 2rem;
--font-size--4xl: 2.5rem;
--font-size--5xl: 3rem;
--font-size--6xl: 3.5rem;
/* Menu font sizes */
--menu-font-sm--size: 0.875rem;
--menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14));
--menu-font-md--size: 1rem;
--menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16));
--menu-font-lg--size: 1.125rem;
--menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18));
--menu-font-xl--size: 1.25rem;
--menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20));
--menu-font-2xl--size: 1.75rem;
--menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28));
/* Colors */
--color-error: #8B0000;
--color-success: #006400;
--color-white: #FFFFFF;
--color-white-rgb: 255 255 255;
--color-black: #000000;
--color-instock: #3ED660;
--color-lowstock: #EE9441;
--color-outofstock: #C8C8C8;
/* Opacity */
--opacity-5: 0.05;
--opacity-8: 0.08;
--opacity-10: 0.1;
--opacity-15: 0.15;
--opacity-20: 0.2;
--opacity-25: 0.25;
--opacity-30: 0.3;
--opacity-40: 0.4;
--opacity-50: 0.5;
--opacity-60: 0.6;
--opacity-70: 0.7;
--opacity-80: 0.8;
--opacity-85: 0.85;
--opacity-90: 0.9;
--opacity-subdued-text: var(--opacity-70);
--shadow-button: 0 2px 3px rgb(0 0 0 / 20%);
--gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent);
/* Spacing */
--margin-3xs: 0.125rem;
--margin-2xs: 0.3rem;
--margin-xs: 0.5rem;
--margin-sm: 0.7rem;
--margin-md: 0.8rem;
--margin-lg: 1rem;
--margin-xl: 1.25rem;
--margin-2xl: 1.5rem;
--margin-3xl: 1.75rem;
--margin-4xl: 2rem;
--margin-5xl: 3rem;
--margin-6xl: 5rem;
--scroll-margin: 50px;
--padding-3xs: 0.125rem;
--padding-2xs: 0.25rem;
--padding-xs: 0.5rem;
--padding-sm: 0.7rem;
--padding-md: 0.8rem;
--padding-lg: 1rem;
--padding-xl: 1.25rem;
--padding-2xl: 1.5rem;
--padding-3xl: 1.75rem;
--padding-4xl: 2rem;
--padding-5xl: 3rem;
--padding-6xl: 4rem;
--gap-3xs: 0.125rem;
--gap-2xs: 0.3rem;
--gap-xs: 0.5rem;
--gap-sm: 0.7rem;
--gap-md: 0.9rem;
--gap-lg: 1rem;
--gap-xl: 1.25rem;
--gap-2xl: 2rem;
--gap-3xl: 3rem;
--spacing-scale-sm: 0.6;
--spacing-scale-md: 0.7;
--spacing-scale-default: 1.0;
/* Checkout buttons gap */
--checkout-button-gap: 10px;
/* Borders */
--style-border-width: 1px;
--style-border-radius-xs: 0.2rem;
--style-border-radius-sm: 0.6rem;
--style-border-radius-md: 0.8rem;
--style-border-radius-50: 50%;
--style-border-radius-lg: 1rem;
--style-border-radius-pills: 40px;
--style-border-radius-inputs: 8px;
--style-border-radius-buttons-primary: 37px;
--style-border-radius-buttons-secondary: 37px;
--style-border-width-primary: 0px;
--style-border-width-secondary: 1px;
--style-border-width-inputs: 1px;
--style-border-radius-popover: 4px;
--style-border-popover: 1px none rgb(var(--color-border-rgb) / 50%);
--style-border-drawer: 1px none rgb(var(--color-border-rgb) / 50%);
--style-border-swatch-opacity: 10%;
--style-border-swatch-width: 1px;
--style-border-swatch-style: solid;
/* Animation */
--ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
--ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1);
--ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
--animation-speed-fast: 0.0625s;
--animation-speed: 0.125s;
--animation-speed-slow: 0.2s;
--animation-speed-medium: 0.15s;
--animation-easing: ease-in-out;
--animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1);
--drawer-animation-speed: 0.2s;
--animation-values-slow: var(--animation-speed-slow) var(--animation-easing);
--animation-values: var(--animation-speed) var(--animation-easing);
--animation-values-fast: var(--animation-speed-fast) var(--animation-easing);
--animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete;
--animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94);
--animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0);
--animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
--animation-timing-default: cubic-bezier(0, 0, 0.2, 1);
--animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1);
--animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1);
/* Spring definitions suffixed with perceptual duration (d<ms>) and bounce (b<%>)*/
--spring-d300-b0-easing: linear(0, 0.0033 0.81%, 0.027 2.42%, 0.0916 4.84%, 0.4745 15.32%, 0.6422 20.97%, 0.7175, 0.7789, 0.8283 30.64%, 0.876, 0.9111 38.71%, 0.941, 0.9611 48.39%, 0.9707, 0.978 54.84%, 0.9885 62.1%, 0.9949 70.97%, 0.9982 82.26%, 0.9997 100%);
--spring-d300-b0-duration: 0.4980s;
--spring-d280-b0-easing: linear(0, 0.0044, 0.0164 1.85%, 0.085 4.63%, 0.4571 14.81%, 0.575 18.52%, 0.6505, 0.7148 24.07%, 0.7849, 0.8393, 0.8809 35.18%, 0.9189, 0.9453 44.44%, 0.9662, 0.9793 55.55%, 0.9894 62.95%, 0.995 71.28%, 0.9982 82.39%, 0.9997 99.98%);
--spring-d280-b0-duration: 0.4648s;
--spring-d260-b0-easing: linear(0, 0.0058, 0.0216 2.15%, 0.0748 4.29%, 0.4646 15.03%, 0.5673, 0.655, 0.7279, 0.7872, 0.8349, 0.8727 34.36%, 0.9107, 0.9379 42.95%, 0.9609 48.31%, 0.9778 54.76%, 0.9887 62.27%, 0.9948 70.86%, 0.9983 82.67%, 0.9997 99.85%);
--spring-d260-b0-duration: 0.4316s;
--spring-d220-b0-easing: linear(
0,
0.0093 1.37%,
0.0696 4.12%,
0.4667 15.09%,
0.6322 20.58%,
0.6986 23.32%,
0.7793 27.44%,
0.8219 30.18%,
0.8721,
0.9089 38.42%,
0.9427,
0.9644,
0.978 54.88%,
0.9881 61.74%,
0.9944 69.97%,
0.998 80.95%,
0.9996 98.78%
);
--spring-d220-b0-duration: 0.3818s;
--spring-d180-b0-easing: linear(0, 0.0234, 0.0805 4.48%, 0.4865 15.68%, 0.6211 20.16%, 0.7696 26.88%, 0.8064 29.12%, 0.8646, 0.9063, 0.9358, 0.9563 47.04%, 0.9757, 0.9867 60.48%, 0.9941 69.44%, 0.9979 80.64%, 0.9996 98.56%);
--spring-d180-b0-duration: 0.2988s;
/* View transitions */
/* View transition old */
--view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut;
/* View transition new */
--view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition;
/* Focus */
--focus-outline-width: 0.09375rem;
--focus-outline-offset: 0.2em;
/* Badges */
--badge-blob-padding-block: 1px;
--badge-blob-padding-inline: 12px 8px;
--badge-rectangle-padding-block: 1px;
--badge-rectangle-padding-inline: 6px;
@media screen and (min-width: 750px) {
--badge-blob-padding-block: 4px;
--badge-blob-padding-inline: 16px 12px;
--badge-rectangle-padding-block: 4px;
--badge-rectangle-padding-inline: 10px;
}
/* Icons */
--icon-size-2xs: 0.6rem;
--icon-size-xs: 0.85rem;
--icon-size-sm: 1.25rem;
--icon-size-md: 1.375rem;
--icon-size-lg: 1.5rem;
--icon-stroke-width: 1px;
/* Input */
--input-email-min-width: 200px;
--input-search-max-width: 650px;
--input-padding-y: 0.8rem;
--input-padding-x: 0.8rem;
--input-padding: var(--input-padding-y) var(--input-padding-x);
--input-box-shadow-width: var(--style-border-width-inputs);
--input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border);
--input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--input-textarea-min-height: 55px;
/* Checkbox */
--checkbox-size: 22px;
--checkbox-border-radius: 7px;
--checkbox-border: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-35-55));
--checkbox-label-padding: 8px;
@media screen and (min-width: 750px) {
--checkbox-size: 16px;
--checkbox-border-radius: 5px;
--checkbox-label-padding: 6px;
}
/* Button size */
--button-size-sm: 30px;
--button-size-md: 36px;
--button-size: var(--minimum-touch-target);
--button-padding-inline: 24px;
--button-padding-block: 16px;
/* Button font-family */
--button-font-family-primary: var(--font-body--family);
--button-font-family-secondary: var(--font-body--family);
/* Button text case */
--button-text-case: ;
--button-text-case-primary: default;
--button-text-case-secondary: default;
/* Borders */
--border-color: rgb(var(--color-border-rgb) / var(--opacity-50));
--border-width-sm: 1px;
--border-width-md: 2px;
--border-width-lg: 5px;
--border-radius-sm: 0.25rem;
/* Drawers */
--drawer-inline-padding: 25px;
--drawer-menu-inline-padding: 2.5rem;
--drawer-header-block-padding: 20px;
--drawer-content-block-padding: 10px;
--drawer-header-desktop-top: 0rem;
--drawer-padding: calc(var(--padding-sm) + 7px);
--drawer-height: 100dvh;
--drawer-width: 95vw;
--drawer-max-width: 500px;
/* Variant Picker Swatches */
--variant-picker-swatch-width-unitless: 24;
--variant-picker-swatch-height-unitless: 24;
--variant-picker-swatch-width: 24px;
--variant-picker-swatch-height: 24px;
--variant-picker-swatch-radius: 24px;
--variant-picker-border-width: 1px;
--variant-picker-border-style: solid;
--variant-picker-border-opacity: 10%;
/* Variant Picker Buttons */
--variant-picker-button-radius: 0px;
--variant-picker-button-border-width: 1px;
/* Slideshow */
--slideshow-controls-size: 3.5rem;
--slideshow-controls-icon: 2rem;
--peek-next-slide-size: 3rem;
/* Utilities */
--backdrop-opacity: 0.15;
--backdrop-color-rgb: var(--color-shadow-rgb);
--minimum-touch-target: 44px;
--disabled-opacity: 0.5;
--skeleton-opacity: 0.025;
/* Shapes */
--shape--circle: circle(50% at center);
--shape--sunburst: polygon(100% 50%,94.62% 55.87%,98.3% 62.94%,91.57% 67.22%,93.3% 75%,85.7% 77.39%,85.36% 85.36%,77.39% 85.7%,75% 93.3%,67.22% 91.57%,62.94% 98.3%,55.87% 94.62%,50% 100%,44.13% 94.62%,37.06% 98.3%,32.78% 91.57%,25% 93.3%,22.61% 85.7%,14.64% 85.36%,14.3% 77.39%,6.7% 75%,8.43% 67.22%,1.7% 62.94%,5.38% 55.87%,0% 50%,5.38% 44.13%,1.7% 37.06%,8.43% 32.78%,6.7% 25%,14.3% 22.61%,14.64% 14.64%,22.61% 14.3%,25% 6.7%,32.78% 8.43%,37.06% 1.7%,44.13% 5.38%,50% 0%,55.87% 5.38%,62.94% 1.7%,67.22% 8.43%,75% 6.7%,77.39% 14.3%,85.36% 14.64%,85.7% 22.61%,93.3% 25%,91.57% 32.78%,98.3% 37.06%,94.62% 44.13%);
--shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
--shape--blob: polygon(85.349% 11.712%, 87.382% 13.587%, 89.228% 15.647%, 90.886% 17.862%, 92.359% 20.204%, 93.657% 22.647%, 94.795% 25.169%, 95.786% 27.752%, 96.645% 30.382%, 97.387% 33.048%, 98.025% 35.740%, 98.564% 38.454%, 99.007% 41.186%, 99.358% 43.931%, 99.622% 46.685%, 99.808% 49.446%, 99.926% 52.210%, 99.986% 54.977%, 99.999% 57.744%, 99.975% 60.511%, 99.923% 63.278%, 99.821% 66.043%, 99.671% 68.806%, 99.453% 71.565%, 99.145% 74.314%, 98.724% 77.049%, 98.164% 79.759%, 97.433% 82.427%, 96.495% 85.030%, 95.311% 87.529%, 93.841% 89.872%, 92.062% 91.988%, 89.972% 93.796%, 87.635% 95.273%, 85.135% 96.456%, 82.532% 97.393%, 79.864% 98.127%, 77.156% 98.695%, 74.424% 99.129%, 71.676% 99.452%, 68.918% 99.685%, 66.156% 99.844%, 63.390% 99.942%, 60.624% 99.990%, 57.856% 99.999%, 55.089% 99.978%, 52.323% 99.929%, 49.557% 99.847%, 46.792% 99.723%, 44.031% 99.549%, 41.273% 99.317%, 38.522% 99.017%, 35.781% 98.639%, 33.054% 98.170%, 30.347% 97.599%, 27.667% 96.911%, 25.024% 96.091%, 22.432% 95.123%, 19.907% 93.994%, 17.466% 92.690%, 15.126% 91.216%, 12.902% 89.569%, 10.808% 87.761%, 8.854% 85.803%, 7.053% 83.703%, 5.418% 81.471%, 3.962% 79.119%, 2.702% 76.656%, 1.656% 74.095%, 0.846% 71.450%, 0.294% 68.740%, 0.024% 65.987%, 0.050% 63.221%, 0.343% 60.471%, 0.858% 57.752%, 1.548% 55.073%, 2.370% 52.431%, 3.283% 49.819%, 4.253% 47.227%, 5.249% 44.646%, 6.244% 42.063%, 7.211% 39.471%, 8.124% 36.858%, 8.958% 34.220%, 9.711% 31.558%, 10.409% 28.880%, 11.083% 26.196%, 11.760% 23.513%, 12.474% 20.839%, 13.259% 18.186%, 14.156% 15.569%, 15.214% 13.012%, 16.485% 10.556%, 18.028% 8.261%, 19.883% 6.211%, 22.041% 4.484%, 24.440% 3.110%, 26.998% 2.057%, 29.651% 1.275%, 32.360% 0.714%, 35.101% 0.337%, 37.859% 0.110%, 40.624% 0.009%, 43.391% 0.016%, 46.156% 0.113%, 48.918% 0.289%, 51.674% 0.533%, 54.425% 0.837%, 57.166% 1.215%, 59.898% 1.654%, 62.618% 2.163%, 65.322% 2.750%, 68.006% 3.424%, 70.662% 4.197%, 73.284% 5.081%, 75.860% 6.091%, 78.376% 7.242%, 80.813% 8.551%, 83.148% 10.036%, 85.349% 11.712%);
/* Buy buttons */
--height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm));
/* Card image width and height variables */
--card-width-small: 10rem;
--height-small: 10rem;
--height-medium: 11.5rem;
--height-large: 13rem;
--height-full: 100vh;
@media screen and (min-width: 750px) {
--height-small: 17.5rem;
--height-medium: 21.25rem;
--height-large: 25rem;
}
/* Modal */
--modal-max-height: 65dvh;
--quick-add-modal-height: min(38.5rem, 96vh);
--quick-add-modal-width: min(54rem, 96vw);
--quick-add-modal-gallery-width: 24rem;
/* Card styles for search */
--card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5));
--card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30));
--card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10));
/* Cart */
--cart-primary-font-family: var(--font-body--family);
--cart-primary-font-style: var(--font-body--style);
--cart-primary-font-weight: var(--font-body--weight);
--cart-secondary-font-family: var(--font-subheading--family);
--cart-secondary-font-style: var(--font-subheading--style);
--cart-secondary-font-weight: var(--font-subheading--weight);
}
</style>
<style data-shopify>
:root,
.color-scheme-1 {
--color-background: rgb(255 255 255 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 255 255 255;
--opacity-5-15: 0.05;
--opacity-10-25: 0.1;
--opacity-35-55: 0.35;
--opacity-40-60: 0.4;
--opacity-30-60: 0.3;
--color-foreground: rgb(4 17 22 / 1.0);
--color-foreground-rgb: 4 17 22;
--color-foreground-heading: rgb(0 0 0 / 1.0);
--color-foreground-heading-rgb: 0 0 0;
--color-primary: rgb(0 0 0 / 1.0);
--color-primary-rgb: 0 0 0;
--color-primary-hover: rgb(217 160 143 / 1.0);
--color-primary-hover-rgb: 217 160 143;
--color-border: rgb(238 244 246 / 1.0);
--color-border-rgb: 238 244 246;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(238 244 246 / 1.0);
--color-primary-button-background: rgb(16 69 86 / 1.0);
--color-primary-button-border: rgb(16 69 86 / 1.0);
--color-primary-button-hover-text: rgb(238 244 246 / 1.0);
--color-primary-button-hover-background: rgb(67 77 112 / 1.0);
--color-primary-button-hover-border: rgb(67 77 112 / 1.0);
--color-secondary-button-text: rgb(4 17 22 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(4 17 22 / 1.0);
--color-secondary-button-hover-text: rgb(4 17 22 / 1.0);
--color-secondary-button-hover-background: rgb(255 255 255 / 1.0);
--color-secondary-button-hover-border: rgb(255 255 255 / 1.0);
--color-input-background: rgb(255 255 255 / 1.0);
--color-input-text: rgb(0 0 0 / 1.0);
--color-input-text-rgb: 0 0 0;
--color-input-border: rgb(16 69 86 / 1.0);
--color-input-hover-background: rgb(245 245 245 / 1.0);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(230 230 230 / 1.0);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-2 {
--color-background: rgb(18 18 18 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 18 18 18;
--opacity-5-15: 0.15;
--opacity-10-25: 0.25;
--opacity-35-55: 0.55;
--opacity-40-60: 0.6;
--opacity-30-60: 0.6;
--color-foreground: rgb(238 244 246 / 1.0);
--color-foreground-rgb: 238 244 246;
--color-foreground-heading: rgb(255 255 255 / 1.0);
--color-foreground-heading-rgb: 255 255 255;
--color-primary: rgb(205 223 229 / 1.0);
--color-primary-rgb: 205 223 229;
--color-primary-hover: rgb(238 244 246 / 1.0);
--color-primary-hover-rgb: 238 244 246;
--color-border: rgb(4 17 22 / 1.0);
--color-border-rgb: 4 17 22;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(4 17 22 / 1.0);
--color-primary-button-background: rgb(205 223 229 / 1.0);
--color-primary-button-border: rgb(205 223 229 / 1.0);
--color-primary-button-hover-text: rgb(4 17 22 / 1.0);
--color-primary-button-hover-background: rgb(173 216 230 / 1.0);
--color-primary-button-hover-border: rgb(173 216 230 / 1.0);
--color-secondary-button-text: rgb(238 244 246 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(238 244 246 / 1.0);
--color-secondary-button-hover-text: rgb(238 244 246 / 1.0);
--color-secondary-button-hover-background: rgb(4 17 22 / 1.0);
--color-secondary-button-hover-border: rgb(4 17 22 / 1.0);
--color-input-background: rgb(51 51 51 / 1.0);
--color-input-text: rgb(255 255 255 / 1.0);
--color-input-text-rgb: 255 255 255;
--color-input-border: rgb(205 223 229 / 1.0);
--color-input-hover-background: rgb(245 245 245 / 1.0);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(230 230 230 / 1.0);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-3 {
--color-background: rgb(173 216 230 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 173 216 230;
--opacity-5-15: 0.05;
--opacity-10-25: 0.1;
--opacity-35-55: 0.35;
--opacity-40-60: 0.4;
--opacity-30-60: 0.3;
--color-foreground: rgb(4 17 22 / 1.0);
--color-foreground-rgb: 4 17 22;
--color-foreground-heading: rgb(0 0 0 / 1.0);
--color-foreground-heading-rgb: 0 0 0;
--color-primary: rgb(9 11 17 / 1.0);
--color-primary-rgb: 9 11 17;
--color-primary-hover: rgb(52 60 86 / 1.0);
--color-primary-hover-rgb: 52 60 86;
--color-border: rgb(238 244 246 / 1.0);
--color-border-rgb: 238 244 246;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(240 241 244 / 1.0);
--color-primary-button-background: rgb(52 60 86 / 1.0);
--color-primary-button-border: rgb(52 60 86 / 1.0);
--color-primary-button-hover-text: rgb(255 255 255 / 1.0);
--color-primary-button-hover-background: rgb(67 77 112 / 1.0);
--color-primary-button-hover-border: rgb(67 77 112 / 1.0);
--color-secondary-button-text: rgb(4 17 22 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(4 17 22 / 1.0);
--color-secondary-button-hover-text: rgb(240 241 244 / 1.0);
--color-secondary-button-hover-background: rgb(52 60 86 / 1.0);
--color-secondary-button-hover-border: rgb(52 60 86 / 1.0);
--color-input-background: rgb(255 255 255 / 1.0);
--color-input-text: rgb(9 11 17 / 1.0);
--color-input-text-rgb: 9 11 17;
--color-input-border: rgb(9 11 17 / 1.0);
--color-input-hover-background: rgb(245 245 245 / 1.0);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(230 230 230 / 1.0);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-4 {
--color-background: rgb(52 60 86 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 52 60 86;
--opacity-5-15: 0.15;
--opacity-10-25: 0.25;
--opacity-35-55: 0.55;
--opacity-40-60: 0.6;
--opacity-30-60: 0.6;
--color-foreground: rgb(238 244 246 / 1.0);
--color-foreground-rgb: 238 244 246;
--color-foreground-heading: rgb(255 255 255 / 1.0);
--color-foreground-heading-rgb: 255 255 255;
--color-primary: rgb(238 244 246 / 1.0);
--color-primary-rgb: 238 244 246;
--color-primary-hover: rgb(240 241 244 / 1.0);
--color-primary-hover-rgb: 240 241 244;
--color-border: rgb(67 77 112 / 1.0);
--color-border-rgb: 67 77 112;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(4 17 22 / 1.0);
--color-primary-button-background: rgb(173 216 230 / 1.0);
--color-primary-button-border: rgb(173 216 230 / 1.0);
--color-primary-button-hover-text: rgb(0 0 0 / 1.0);
--color-primary-button-hover-background: rgb(211 214 222 / 1.0);
--color-primary-button-hover-border: rgb(211 214 222 / 1.0);
--color-secondary-button-text: rgb(240 241 244 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(240 241 244 / 1.0);
--color-secondary-button-hover-text: rgb(238 244 246 / 1.0);
--color-secondary-button-hover-background: rgb(9 11 17 / 1.0);
--color-secondary-button-hover-border: rgb(9 11 17 / 1.0);
--color-input-background: rgb(240 241 244 / 1.0);
--color-input-text: rgb(0 0 0 / 1.0);
--color-input-text-rgb: 0 0 0;
--color-input-border: rgb(0 0 0 / 1.0);
--color-input-hover-background: rgb(245 245 245 / 1.0);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(230 230 230 / 1.0);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
.color-scheme-white-text {
--color-background: rgb(255 255 255 / 1.0);
/* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
--color-background-rgb: 255 255 255;
--opacity-5-15: 0.05;
--opacity-10-25: 0.1;
--opacity-35-55: 0.35;
--opacity-40-60: 0.4;
--opacity-30-60: 0.3;
--color-foreground: rgb(255 255 255 / 1.0);
--color-foreground-rgb: 255 255 255;
--color-foreground-heading: rgb(255 255 255 / 1.0);
--color-foreground-heading-rgb: 255 255 255;
--color-primary: rgb(255 255 255 / 1.0);
--color-primary-rgb: 255 255 255;
--color-primary-hover: rgb(4 17 22 / 1.0);
--color-primary-hover-rgb: 4 17 22;
--color-border: rgb(238 244 246 / 1.0);
--color-border-rgb: 238 244 246;
--color-shadow: rgb(0 0 0 / 1.0);
--color-shadow-rgb: 0 0 0;
--color-primary-button-text: rgb(238 244 246 / 1.0);
--color-primary-button-background: rgb(16 69 86 / 1.0);
--color-primary-button-border: rgb(16 69 86 / 1.0);
--color-primary-button-hover-text: rgb(238 244 246 / 1.0);
--color-primary-button-hover-background: rgb(67 77 112 / 1.0);
--color-primary-button-hover-border: rgb(67 77 112 / 1.0);
--color-secondary-button-text: rgb(4 17 22 / 1.0);
--color-secondary-button-background: rgb(0 0 0 / 0.0);
--color-secondary-button-border: rgb(4 17 22 / 1.0);
--color-secondary-button-hover-text: rgb(4 17 22 / 1.0);
--color-secondary-button-hover-background: rgb(255 255 255 / 1.0);
--color-secondary-button-hover-border: rgb(255 255 255 / 1.0);
--color-input-background: rgb(255 255 255 / 1.0);
--color-input-text: rgb(0 0 0 / 1.0);
--color-input-text-rgb: 0 0 0;
--color-input-border: rgb(16 69 86 / 1.0);
--color-input-hover-background: rgb(245 245 245 / 1.0);
--color-variant-background: rgb(255 255 255 / 1.0);
--color-variant-border: rgb(230 230 230 / 1.0);
--color-variant-text: rgb(0 0 0 / 1.0);
--color-variant-text-rgb: 0 0 0;
--color-variant-hover-background: rgb(245 245 245 / 1.0);
--color-variant-hover-text: rgb(0 0 0 / 1.0);
--color-variant-hover-border: rgb(230 230 230 / 1.0);
--color-selected-variant-background: rgb(0 0 0 / 1.0);
--color-selected-variant-border: rgb(0 0 0 / 1.0);
--color-selected-variant-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
--color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
--color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
--input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
--input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
--input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
--color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
--font-h1--color: var(--color-foreground-heading);
--font-h2--color: var(--color-foreground-heading);
--font-h3--color: var(--color-foreground-heading);
--font-h4--color: var(--color-foreground-heading);
--font-h5--color: var(--color-foreground-heading);
--font-h6--color: var(--color-foreground-heading);
/* Shadows */
--shadow-blur: 20px;
--shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
}
body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-white-text {
color: var(--color-foreground);
background-color: var(--color-background);
}
</style>
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="RoY8shsVzaWuZhBPAaBQTXa8j2_a5PjOxMgl9diQEcw">
<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/107148312914/digital_wallets/dialog">
<meta id="in-context-paypal-metadata" data-shop-id="107148312914" data-venmo-supported="false" data-environment="production" data-locale="fr_FR" data-paypal-v4="true" data-currency="EUR">
<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" type="application/atom+xml" title="Feed" href="/collections/massages-soins-saint-quentin.atom" />
<link rel="alternate" type="application/json+oembed" href="https://lestendancesdecharlotte.com/collections/massages-soins-saint-quentin.oembed">
<script async="async" src="/checkouts/internal/preloads.js?locale=fr-FR"></script>
<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=fr-FR&shop_id=107148312914" crossorigin="anonymous"></script>
<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":107148312914,"countryCode":"FR","currencyCode":"EUR","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/107148312914","merchantName":"Les tendances de Charlotte","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","maestro"],"total":{"type":"pending","label":"Les tendances de Charlotte","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
<script id="shopify-features" type="application/json">{"accessToken":"f3441be2d066de67df53694155c04c27","betas":["rich-media-storefront-analytics"],"domain":"lestendancesdecharlotte.com","predictiveSearch":true,"shopId":107148312914,"locale":"fr"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "e1dayx-t1.myshopify.com";
Shopify.locale = "fr";
Shopify.currency = {"active":"EUR","rate":"1.0"};
Shopify.country = "FR";
Shopify.theme = {"name":"Flora — textes SEO collections (à publier)","id":208596533586,"schema_name":"Horizon","schema_version":"3.5.1","theme_store_id":2481,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "lestendancesdecharlotte.com/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";
Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
Shopify.SignInWithShop = Shopify.SignInWithShop || {};
Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
Shopify.SignInWithShop.User.recognized = false;</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
<script>
window.ShopifyPay = window.ShopifyPay || {};
window.ShopifyPay.apiHost = "shop.app\/pay";
window.ShopifyPay.redirectState = null;
</script>
<script>
window.Shopify = window.Shopify || {};
window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
window.Shopify.SignInWithShop.eligible = true;
</script>
<script id="shop-js-analytics" type="application/json">{"pageType":"collection"}</script>
<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.fr.esm.js"></script>
<script type="module">
await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.fr.esm.js");
window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
</script>
<script>
window.Shopify = window.Shopify || {};
if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.fr.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.fr.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.fr.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.fr.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.fr.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.fr.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.fr.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.fr.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.fr.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.fr.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.fr.esm.js"],"listener":["modules/v2/loader.listener.fr.esm.js"],"pay-button":["modules/v2/loader.pay-button.fr.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.fr.esm.js"],"shop-button":["modules/v2/loader.shop-button.fr.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.fr.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.fr.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.fr.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.fr.esm.js"],"shop-login":["modules/v2/loader.shop-login.fr.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.fr.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.fr.esm.js"]};
</script>
<script id="__st">var __st={"a":107148312914,"offset":7200,"reqid":"1c9cdaa4-18ff-4b2d-a6d9-d3f9926b6929-1791241875","pageurl":"lestendancesdecharlotte.com\/collections\/massages-soins-saint-quentin","u":"e767e567e211","p":"collection","rtyp":"collection","rid":699206697298};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protégé par hCaptcha',privacyText:'Confidentialité',termsText:'Conditions'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//lestendancesdecharlotte.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//lestendancesdecharlotte.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script><script crossorigin="anonymous" defer="defer" src="//lestendancesdecharlotte.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
<script>
window.Shopify = window.Shopify || {};
window.Shopify.MCP = window.Shopify.MCP || {};
window.Shopify.MCP.enabled = true;
window.Shopify.MCP.shop = "e1dayx-t1.myshopify.com";
window.Shopify.MCP.mcpEndpoint = "https:\/\/lestendancesdecharlotte.com\/api\/mcp";
window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question — e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}];
</script>
<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/lestendancesdecharlotte.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
</script>
<script id='scb4127' type='text/javascript' async='' src='https://lestendancesdecharlotte.com/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script><link rel="compression-dictionary" href="//lestendancesdecharlotte.com/cdn/shop/t/18/compiled_assets/styles.css?v=32414581141558109921790842584" crossorigin="anonymous">
<link rel="stylesheet" media="screen" href="//lestendancesdecharlotte.com/cdn/shop/t/18/compiled_assets/styles.css?v=32414581141558109921790842584&subset=AEgAAAAAAAAABgAAAFAKAEBQOAAiBwAAclXhggIC" crossorigin="anonymous">
<script id="sections-script" data-sections="main-collection" defer="defer" src="//lestendancesdecharlotte.com/cdn/shop/t/18/compiled_assets/scripts.js?v=47368013396670054441790842512"></script>
<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
<!-- BEGIN app block: shopify://apps/inbox/blocks/chat/841fc607-4181-4ad1-842d-e24d7f8bad6b --><link rel='modulepreload' href='https://cdn.shopify.com/storefront/web-components/chat.js' crossorigin fetchpriority='low'>
<script id='shopify-chat-app-embed-data' type='application/json'>
{
"settings": {
"invertActivatorColors": true,
"greetingMessage": "Hello et bienvenue ✨\n\nCharlotte vous accueille en boutique, Les Tendances de Charlotte vous accompagne en ligne. \nMême expertise, mêmes conseils personnalisés, où que vous soyez !\n\nDites-moi ce qui vous tente aujourd'hui...",
"showFeaturedProducts": true,
"featuredProducts": [],
"horizontalPosition": "bottom_right",
"icon": "chat_bubble",
"buttonLabel": "Chat"
}
}
</script>
<style data-shopify>
/* Shadow DOM content does not prevent theme-wide :empty rules from matching the host. */
shopify-chat:defined:empty {
display: grid;
}
:root {
--shopify-chat-bg-color: #FFFFFF;
--shopify-chat-text-color: #000000;
--shopify-chat-accent-bg-color: #000000;
--shopify-chat-accent-text-color: #FFFFFF;
--shopify-chat-activator-offset: 80px;
--shopify-chat-activator-font-size: 16px;
--shopify-chat-border-radius: 16px;
}
</style>
<script src='https://cdn.shopify.com/storefront/web-components/chat.js' type='module' crossorigin fetchpriority='low' async></script>
<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
<script type="text/javascript">
(function (c, l, a, r, i, t, y) {
c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); };
t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify";
y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => {
if (error) {
console.error("Error loading Shopify features:", error);
return;
}
c[a]('consentv2', {
ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied",
analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied",
source: 101,
});
});
l.addEventListener("visitorConsentCollected", function (e) {
c[a]('consentv2', {
ad_Storage: e.detail.marketingAllowed ? "granted" : "denied",
analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied",
source: 101,
});
});
})(window, document, "clarity", "script", "wnen33e6dn");
</script>
<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 107148312914,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "collection"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
<script>
window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
</script>
<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 107148312914,storefrontBaseUrl: "https://lestendancesdecharlotte.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://lestendancesdecharlotte.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"5879759186","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"GT-55NSP35C\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-VPYGPXLDC3\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-VPYGPXLDC3\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-VPYGPXLDC3\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-VPYGPXLDC3\\\",\\\"MC-RS4QR95GPN\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-VPYGPXLDC3\\\",\\\"MC-RS4QR95GPN\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-VPYGPXLDC3\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-VPYGPXLDC3\\\",\\\"MC-RS4QR95GPN\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-VPYGPXLDC3\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-VPYGPXLDC3\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-VPYGPXLDC3\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-VPYGPXLDC3\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"5804130642","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6e6b2e32fe6866115b7e49e2ae3c75b2","type":"APP","apiClientId":5940125,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"5803049298","configuration":"{\"pixel_id\":\"1052493220752825\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"4838687058","configuration":"{\"projectId\":\"wnen33e6dn\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Les tendances de Charlotte","paymentSettings":{"currencyCode":"EUR"},"myshopifyDomain":"e1dayx-t1.myshopify.com","countryCode":"FR","storefrontUrl":"https:\/\/lestendancesdecharlotte.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"11188346257746","handle":"massage-visage-eveil-du-lotus-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54888942403922","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188795900242","handle":"massage-visage-glow-up-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890100195666","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188795933010","handle":"massage-visage-kobido-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890100228434","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188795965778","handle":"maderotherapie-visage-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890100326738","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188798062930","handle":"massage-fascias-continuum-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890106913106","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188797964626","handle":"massage-corps-complet-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890105471314","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188798980434","handle":"massage-sur-mesure-instant-zen-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890117726546","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188799013202","handle":"rituel-sacre-ayurvedique-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890117824850","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188799078738","handle":"rituel-serenite-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890117890386","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188799144274","handle":"rituel-2h-evasion-absolue-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890117955922","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188799045970","handle":"rituel-harmonie-pieds-cranien-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890117857618","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188795998546","handle":"massage-cranien-shirochampi-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890100359506","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188796031314","handle":"massage-cranien-ayurvedique-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890100392274","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188797833554","handle":"massage-japonais-pieds-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890104652114","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188797866322","handle":"drainage-lymphatique-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890104684882","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188797997394","handle":"massage-femme-enceinte-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890105504082","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188799897938","handle":"rehaussement-cils-coreen-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890120872274","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188799963474","handle":"soin-anti-callosites-pieds-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890120970578","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11188799865170","handle":"soin-enfant-jolie-mome-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54890120839506","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"11189994455378","handle":"carte-cadeau-massage-saint-quentin","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54896088449362","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://lestendancesdecharlotte.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"208596533586","themeStoreId":"2481","themePublished":"true","eventMetadataId":"5be5f81d-5844-4c48-a4df-730a807259eb","pageType":"collection","resourceId":"699206697298","shopId":"107148312914","storefrontBaseUrl":"https:\/\/lestendancesdecharlotte.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}],[\"collection_viewed\",{\"collection\":{\"id\":\"699206697298\",\"title\":\"Massages corps \u0026 visage à Saint-Quentin\",\"productVariants\":[{\"price\":{\"amount\":120.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"L'Éveil du Lotus – Massage visage signature 1h\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188346257746\",\"untranslatedTitle\":\"L'Éveil du Lotus – Massage visage signature 1h\",\"url\":\"\/products\/massage-visage-eveil-du-lotus-saint-quentin\",\"type\":\"Massage visage\"},\"id\":\"54888942403922\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403\"},\"sku\":\"SOIN-LOTUS-60\",\"title\":\"1 heure\",\"untranslatedTitle\":\"1 heure\"},{\"price\":{\"amount\":100.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Glow Up – Massage visage signature 1h\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188795900242\",\"untranslatedTitle\":\"Glow Up – Massage visage signature 1h\",\"url\":\"\/products\/massage-visage-glow-up-saint-quentin\",\"type\":\"Massage visage\"},\"id\":\"54890100195666\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403\"},\"sku\":\"SOIN-GLOWUP-60\",\"title\":\"1 heure\",\"untranslatedTitle\":\"1 heure\"},{\"price\":{\"amount\":65.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Massage visage 40 min – Kobido, Cryolift ou Ventouses\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188795933010\",\"untranslatedTitle\":\"Massage visage 40 min – Kobido, Cryolift ou Ventouses\",\"url\":\"\/products\/massage-visage-kobido-saint-quentin\",\"type\":\"Massage visage\"},\"id\":\"54890100228434\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577\"},\"sku\":\"SOIN-VISAGE40-KOBIDO\",\"title\":\"Kobido\",\"untranslatedTitle\":\"Kobido\"},{\"price\":{\"amount\":65.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Madérothérapie visage 40 min\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188795965778\",\"untranslatedTitle\":\"Madérothérapie visage 40 min\",\"url\":\"\/products\/maderotherapie-visage-saint-quentin\",\"type\":\"Massage visage\"},\"id\":\"54890100326738\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403\"},\"sku\":\"SOIN-MADERO-40\",\"title\":\"40 minutes\",\"untranslatedTitle\":\"40 minutes\"},{\"price\":{\"amount\":50.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Continuum – Massage profond des fascias\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188798062930\",\"untranslatedTitle\":\"Continuum – Massage profond des fascias\",\"url\":\"\/products\/massage-fascias-continuum-saint-quentin\",\"type\":\"Massage corps\"},\"id\":\"54890106913106\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403\"},\"sku\":\"SOIN-CONTINUUM-DOS30\",\"title\":\"Dos – 30 min\",\"untranslatedTitle\":\"Dos – 30 min\"},{\"price\":{\"amount\":75.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Voyage des Sens – Massage corps complet 1h\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188797964626\",\"untranslatedTitle\":\"Voyage des Sens – Massage corps complet 1h\",\"url\":\"\/products\/massage-corps-complet-saint-quentin\",\"type\":\"Massage corps\"},\"id\":\"54890105471314\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382\"},\"sku\":\"SOIN-VOYAGE-60\",\"title\":\"1 heure\",\"untranslatedTitle\":\"1 heure\"},{\"price\":{\"amount\":40.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"L'Instant Zen – Massage sur mesure\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188798980434\",\"untranslatedTitle\":\"L'Instant Zen – Massage sur mesure\",\"url\":\"\/products\/massage-sur-mesure-instant-zen-saint-quentin\",\"type\":\"Massage corps\"},\"id\":\"54890117726546\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382\"},\"sku\":\"SOIN-ZEN-30\",\"title\":\"30 minutes\",\"untranslatedTitle\":\"30 minutes\"},{\"price\":{\"amount\":130.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Rituel Sacré – Rituel ayurvédique 1h40\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188799013202\",\"untranslatedTitle\":\"Rituel Sacré – Rituel ayurvédique 1h40\",\"url\":\"\/products\/rituel-sacre-ayurvedique-saint-quentin\",\"type\":\"Rituel bien-être\"},\"id\":\"54890117824850\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990\"},\"sku\":\"SOIN-SACRE-100\",\"title\":\"1h40\",\"untranslatedTitle\":\"1h40\"},{\"price\":{\"amount\":100.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Rituel Sérénité 1h20\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188799078738\",\"untranslatedTitle\":\"Rituel Sérénité 1h20\",\"url\":\"\/products\/rituel-serenite-saint-quentin\",\"type\":\"Rituel bien-être\"},\"id\":\"54890117890386\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990\"},\"sku\":\"SOIN-SERENITE-80\",\"title\":\"1h20\",\"untranslatedTitle\":\"1h20\"},{\"price\":{\"amount\":145.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"2h d'Évasion absolue – Rituel sur mesure\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188799144274\",\"untranslatedTitle\":\"2h d'Évasion absolue – Rituel sur mesure\",\"url\":\"\/products\/rituel-2h-evasion-absolue-saint-quentin\",\"type\":\"Rituel bien-être\"},\"id\":\"54890117955922\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040\"},\"sku\":\"SOIN-EVASION-120\",\"title\":\"2 heures\",\"untranslatedTitle\":\"2 heures\"},{\"price\":{\"amount\":70.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Rituel Harmonie 50 min – Pieds et massage crânien\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188799045970\",\"untranslatedTitle\":\"Rituel Harmonie 50 min – Pieds et massage crânien\",\"url\":\"\/products\/rituel-harmonie-pieds-cranien-saint-quentin\",\"type\":\"Rituel bien-être\"},\"id\":\"54890117857618\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382\"},\"sku\":\"SOIN-HARMONIE-50\",\"title\":\"50 minutes\",\"untranslatedTitle\":\"50 minutes\"},{\"price\":{\"amount\":60.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Massage crânien Shirochampi 45 min\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188795998546\",\"untranslatedTitle\":\"Massage crânien Shirochampi 45 min\",\"url\":\"\/products\/massage-cranien-shirochampi-saint-quentin\",\"type\":\"Massage ciblé\"},\"id\":\"54890100359506\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381\"},\"sku\":\"SOIN-SHIRO-45\",\"title\":\"45 minutes\",\"untranslatedTitle\":\"45 minutes\"},{\"price\":{\"amount\":40.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Massage crânien ayurvédique 30 min\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188796031314\",\"untranslatedTitle\":\"Massage crânien ayurvédique 30 min\",\"url\":\"\/products\/massage-cranien-ayurvedique-saint-quentin\",\"type\":\"Massage ciblé\"},\"id\":\"54890100392274\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381\"},\"sku\":\"SOIN-CRANIEN-30\",\"title\":\"30 minutes\",\"untranslatedTitle\":\"30 minutes\"},{\"price\":{\"amount\":60.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Massage japonais des pieds 45 min\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188797833554\",\"untranslatedTitle\":\"Massage japonais des pieds 45 min\",\"url\":\"\/products\/massage-japonais-pieds-saint-quentin\",\"type\":\"Massage ciblé\"},\"id\":\"54890104652114\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/massage-japonais-pieds-saint-quentin.jpg?v=1790795382\"},\"sku\":\"SOIN-PIEDS-45\",\"title\":\"45 minutes\",\"untranslatedTitle\":\"45 minutes\"},{\"price\":{\"amount\":90.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Drainage lymphatique 1h – Jambes ou ventre\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188797866322\",\"untranslatedTitle\":\"Drainage lymphatique 1h – Jambes ou ventre\",\"url\":\"\/products\/drainage-lymphatique-saint-quentin\",\"type\":\"Massage ciblé\"},\"id\":\"54890104684882\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403\"},\"sku\":\"SOIN-DRAINAGE-JAMBES\",\"title\":\"Jambes\",\"untranslatedTitle\":\"Jambes\"},{\"price\":{\"amount\":80.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"En attendant bébé – Massage femme enceinte 1h\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188797997394\",\"untranslatedTitle\":\"En attendant bébé – Massage femme enceinte 1h\",\"url\":\"\/products\/massage-femme-enceinte-saint-quentin\",\"type\":\"Massage corps\"},\"id\":\"54890105504082\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403\"},\"sku\":\"SOIN-ENCEINTE-60\",\"title\":\"1 heure\",\"untranslatedTitle\":\"1 heure\"},{\"price\":{\"amount\":65.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Rehaussement de cils coréen\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188799897938\",\"untranslatedTitle\":\"Rehaussement de cils coréen\",\"url\":\"\/products\/rehaussement-cils-coreen-saint-quentin\",\"type\":\"Beauté du regard\"},\"id\":\"54890120872274\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382\"},\"sku\":\"SOIN-CILS\",\"title\":\"Rehaussement seul\",\"untranslatedTitle\":\"Rehaussement seul\"},{\"price\":{\"amount\":30.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Soin anti-callosités des pieds 30 min\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188799963474\",\"untranslatedTitle\":\"Soin anti-callosités des pieds 30 min\",\"url\":\"\/products\/soin-anti-callosites-pieds-saint-quentin\",\"type\":\"Soin beauté\"},\"id\":\"54890120970578\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382\"},\"sku\":\"SOIN-CALLOSITES-30\",\"title\":\"30 minutes\",\"untranslatedTitle\":\"30 minutes\"},{\"price\":{\"amount\":39.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Rituel Jolie Môme – Massage enfant 30 min\",\"vendor\":\"Charlotte Massage\",\"id\":\"11188799865170\",\"untranslatedTitle\":\"Rituel Jolie Môme – Massage enfant 30 min\",\"url\":\"\/products\/soin-enfant-jolie-mome-saint-quentin\",\"type\":\"Soin enfant\"},\"id\":\"54890120839506\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382\"},\"sku\":\"SOIN-JOLIEMOME-30\",\"title\":\"30 minutes\",\"untranslatedTitle\":\"30 minutes\"},{\"price\":{\"amount\":30.0,\"currencyCode\":\"EUR\"},\"product\":{\"title\":\"Carte cadeau massage \u0026 soins à Saint-Quentin\",\"vendor\":\"Charlotte Massage\",\"id\":\"11189994455378\",\"untranslatedTitle\":\"Carte cadeau massage \u0026 soins à Saint-Quentin\",\"url\":\"\/products\/carte-cadeau-massage-saint-quentin\",\"type\":\"Carte cadeau massage\"},\"id\":\"54896088449362\",\"image\":{\"src\":\"\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/carte-cadeau-massage-saint-quentin.jpg?v=1790795382\"},\"sku\":\"CC-MASSAGE-30\",\"title\":\"30 €\",\"untranslatedTitle\":\"30 €\"}]}}]]"});})();</script><script>
window.ShopifyAnalytics = window.ShopifyAnalytics || {};
window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
window.ShopifyAnalytics.meta.currency = 'EUR';
var meta = {"products":[{"id":11188346257746,"gid":"gid:\/\/shopify\/Product\/11188346257746","vendor":"Charlotte Massage","type":"Massage visage","handle":"massage-visage-eveil-du-lotus-saint-quentin","variants":[{"id":54888942403922,"price":12000,"name":"L'Éveil du Lotus – Massage visage signature 1h - 1 heure","public_title":"1 heure","sku":"SOIN-LOTUS-60"}],"remote":false},{"id":11188795900242,"gid":"gid:\/\/shopify\/Product\/11188795900242","vendor":"Charlotte Massage","type":"Massage visage","handle":"massage-visage-glow-up-saint-quentin","variants":[{"id":54890100195666,"price":10000,"name":"Glow Up – Massage visage signature 1h - 1 heure","public_title":"1 heure","sku":"SOIN-GLOWUP-60"}],"remote":false},{"id":11188795933010,"gid":"gid:\/\/shopify\/Product\/11188795933010","vendor":"Charlotte Massage","type":"Massage visage","handle":"massage-visage-kobido-saint-quentin","variants":[{"id":54890100228434,"price":6500,"name":"Massage visage 40 min – Kobido, Cryolift ou Ventouses - Kobido","public_title":"Kobido","sku":"SOIN-VISAGE40-KOBIDO"},{"id":54890100261202,"price":6500,"name":"Massage visage 40 min – Kobido, Cryolift ou Ventouses - Cryolift","public_title":"Cryolift","sku":"SOIN-VISAGE40-CRYO"},{"id":54890100293970,"price":6500,"name":"Massage visage 40 min – Kobido, Cryolift ou Ventouses - Ventouses","public_title":"Ventouses","sku":"SOIN-VISAGE40-VENTOUSES"}],"remote":false},{"id":11188795965778,"gid":"gid:\/\/shopify\/Product\/11188795965778","vendor":"Charlotte Massage","type":"Massage visage","handle":"maderotherapie-visage-saint-quentin","variants":[{"id":54890100326738,"price":6500,"name":"Madérothérapie visage 40 min - 40 minutes","public_title":"40 minutes","sku":"SOIN-MADERO-40"}],"remote":false},{"id":11188798062930,"gid":"gid:\/\/shopify\/Product\/11188798062930","vendor":"Charlotte Massage","type":"Massage corps","handle":"massage-fascias-continuum-saint-quentin","variants":[{"id":54890106913106,"price":5000,"name":"Continuum – Massage profond des fascias - Dos – 30 min","public_title":"Dos – 30 min","sku":"SOIN-CONTINUUM-DOS30"},{"id":54890106945874,"price":10000,"name":"Continuum – Massage profond des fascias - Dos et jambes – 1h","public_title":"Dos et jambes – 1h","sku":"SOIN-CONTINUUM-DJ60"},{"id":54890106978642,"price":15000,"name":"Continuum – Massage profond des fascias - Corps complet – 1h30","public_title":"Corps complet – 1h30","sku":"SOIN-CONTINUUM-CC90"}],"remote":false},{"id":11188797964626,"gid":"gid:\/\/shopify\/Product\/11188797964626","vendor":"Charlotte Massage","type":"Massage corps","handle":"massage-corps-complet-saint-quentin","variants":[{"id":54890105471314,"price":7500,"name":"Voyage des Sens – Massage corps complet 1h - 1 heure","public_title":"1 heure","sku":"SOIN-VOYAGE-60"}],"remote":false},{"id":11188798980434,"gid":"gid:\/\/shopify\/Product\/11188798980434","vendor":"Charlotte Massage","type":"Massage corps","handle":"massage-sur-mesure-instant-zen-saint-quentin","variants":[{"id":54890117726546,"price":4000,"name":"L'Instant Zen – Massage sur mesure - 30 minutes","public_title":"30 minutes","sku":"SOIN-ZEN-30"},{"id":54890117759314,"price":8000,"name":"L'Instant Zen – Massage sur mesure - 1 heure","public_title":"1 heure","sku":"SOIN-ZEN-60"},{"id":54890117792082,"price":12000,"name":"L'Instant Zen – Massage sur mesure - 1h30","public_title":"1h30","sku":"SOIN-ZEN-90"}],"remote":false},{"id":11188799013202,"gid":"gid:\/\/shopify\/Product\/11188799013202","vendor":"Charlotte Massage","type":"Rituel bien-être","handle":"rituel-sacre-ayurvedique-saint-quentin","variants":[{"id":54890117824850,"price":13000,"name":"Rituel Sacré – Rituel ayurvédique 1h40 - 1h40","public_title":"1h40","sku":"SOIN-SACRE-100"}],"remote":false},{"id":11188799078738,"gid":"gid:\/\/shopify\/Product\/11188799078738","vendor":"Charlotte Massage","type":"Rituel bien-être","handle":"rituel-serenite-saint-quentin","variants":[{"id":54890117890386,"price":10000,"name":"Rituel Sérénité 1h20 - 1h20","public_title":"1h20","sku":"SOIN-SERENITE-80"}],"remote":false},{"id":11188799144274,"gid":"gid:\/\/shopify\/Product\/11188799144274","vendor":"Charlotte Massage","type":"Rituel bien-être","handle":"rituel-2h-evasion-absolue-saint-quentin","variants":[{"id":54890117955922,"price":14500,"name":"2h d'Évasion absolue – Rituel sur mesure - 2 heures","public_title":"2 heures","sku":"SOIN-EVASION-120"}],"remote":false},{"id":11188799045970,"gid":"gid:\/\/shopify\/Product\/11188799045970","vendor":"Charlotte Massage","type":"Rituel bien-être","handle":"rituel-harmonie-pieds-cranien-saint-quentin","variants":[{"id":54890117857618,"price":7000,"name":"Rituel Harmonie 50 min – Pieds et massage crânien - 50 minutes","public_title":"50 minutes","sku":"SOIN-HARMONIE-50"}],"remote":false},{"id":11188795998546,"gid":"gid:\/\/shopify\/Product\/11188795998546","vendor":"Charlotte Massage","type":"Massage ciblé","handle":"massage-cranien-shirochampi-saint-quentin","variants":[{"id":54890100359506,"price":6000,"name":"Massage crânien Shirochampi 45 min - 45 minutes","public_title":"45 minutes","sku":"SOIN-SHIRO-45"}],"remote":false},{"id":11188796031314,"gid":"gid:\/\/shopify\/Product\/11188796031314","vendor":"Charlotte Massage","type":"Massage ciblé","handle":"massage-cranien-ayurvedique-saint-quentin","variants":[{"id":54890100392274,"price":4000,"name":"Massage crânien ayurvédique 30 min - 30 minutes","public_title":"30 minutes","sku":"SOIN-CRANIEN-30"}],"remote":false},{"id":11188797833554,"gid":"gid:\/\/shopify\/Product\/11188797833554","vendor":"Charlotte Massage","type":"Massage ciblé","handle":"massage-japonais-pieds-saint-quentin","variants":[{"id":54890104652114,"price":6000,"name":"Massage japonais des pieds 45 min - 45 minutes","public_title":"45 minutes","sku":"SOIN-PIEDS-45"}],"remote":false},{"id":11188797866322,"gid":"gid:\/\/shopify\/Product\/11188797866322","vendor":"Charlotte Massage","type":"Massage ciblé","handle":"drainage-lymphatique-saint-quentin","variants":[{"id":54890104684882,"price":9000,"name":"Drainage lymphatique 1h – Jambes ou ventre - Jambes","public_title":"Jambes","sku":"SOIN-DRAINAGE-JAMBES"},{"id":54890104717650,"price":9000,"name":"Drainage lymphatique 1h – Jambes ou ventre - Ventre","public_title":"Ventre","sku":"SOIN-DRAINAGE-VENTRE"}],"remote":false},{"id":11188797997394,"gid":"gid:\/\/shopify\/Product\/11188797997394","vendor":"Charlotte Massage","type":"Massage corps","handle":"massage-femme-enceinte-saint-quentin","variants":[{"id":54890105504082,"price":8000,"name":"En attendant bébé – Massage femme enceinte 1h - 1 heure","public_title":"1 heure","sku":"SOIN-ENCEINTE-60"}],"remote":false},{"id":11188799897938,"gid":"gid:\/\/shopify\/Product\/11188799897938","vendor":"Charlotte Massage","type":"Beauté du regard","handle":"rehaussement-cils-coreen-saint-quentin","variants":[{"id":54890120872274,"price":6500,"name":"Rehaussement de cils coréen - Rehaussement seul","public_title":"Rehaussement seul","sku":"SOIN-CILS"},{"id":54890120905042,"price":7500,"name":"Rehaussement de cils coréen - Avec teinture des cils","public_title":"Avec teinture des cils","sku":"SOIN-CILS-TEINTURE"}],"remote":false},{"id":11188799963474,"gid":"gid:\/\/shopify\/Product\/11188799963474","vendor":"Charlotte Massage","type":"Soin beauté","handle":"soin-anti-callosites-pieds-saint-quentin","variants":[{"id":54890120970578,"price":3000,"name":"Soin anti-callosités des pieds 30 min - 30 minutes","public_title":"30 minutes","sku":"SOIN-CALLOSITES-30"}],"remote":false},{"id":11188799865170,"gid":"gid:\/\/shopify\/Product\/11188799865170","vendor":"Charlotte Massage","type":"Soin enfant","handle":"soin-enfant-jolie-mome-saint-quentin","variants":[{"id":54890120839506,"price":3900,"name":"Rituel Jolie Môme – Massage enfant 30 min - 30 minutes","public_title":"30 minutes","sku":"SOIN-JOLIEMOME-30"}],"remote":false},{"id":11189994455378,"gid":"gid:\/\/shopify\/Product\/11189994455378","vendor":"Charlotte Massage","type":"Carte cadeau massage","handle":"carte-cadeau-massage-saint-quentin","variants":[{"id":54896088449362,"price":3000,"name":"Carte cadeau massage \u0026 soins à Saint-Quentin - 30 €","public_title":"30 €","sku":"CC-MASSAGE-30"},{"id":54896088482130,"price":5000,"name":"Carte cadeau massage \u0026 soins à Saint-Quentin - 50 €","public_title":"50 €","sku":"CC-MASSAGE-50"},{"id":54896088514898,"price":7000,"name":"Carte cadeau massage \u0026 soins à Saint-Quentin - 70 €","public_title":"70 €","sku":"CC-MASSAGE-70"},{"id":54896088547666,"price":10000,"name":"Carte cadeau massage \u0026 soins à Saint-Quentin - 100 €","public_title":"100 €","sku":"CC-MASSAGE-100"},{"id":54896088580434,"price":15000,"name":"Carte cadeau massage \u0026 soins à Saint-Quentin - 150 €","public_title":"150 €","sku":"CC-MASSAGE-150"}],"remote":false}],"page":{"pageType":"collection","resourceType":"collection","resourceId":699206697298,"requestId":"1c9cdaa4-18ff-4b2d-a6d9-d3f9926b6929-1791241875"}};
for (var attr in meta) {
window.ShopifyAnalytics.meta[attr] = meta[attr];
}
</script>
<script class="analytics">
(function () {
var customDocumentWrite = function(content) {
var jquery = null;
if (window.jQuery) {
jquery = window.jQuery;
} else if (window.Checkout && window.Checkout.$) {
jquery = window.Checkout.$;
}
if (jquery) {
jquery('body').append(content);
}
};
var hasLoggedConversion = function(token) {
if (token) {
return document.cookie.indexOf('loggedConversion=' + token) !== -1;
}
return false;
}
var setCookieIfConversion = function(token) {
if (token) {
var twoMonthsFromNow = new Date(Date.now());
twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
}
}
var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
window.ShopifyAnalytics.lib.trekkie = window.trekkie;
if (trekkie.integrations) {
return;
}
trekkie.methods = [
'identify',
'page',
'ready',
'track',
'trackForm',
'trackLink'
];
trekkie.factory = function(method) {
return function() {
var args = Array.prototype.slice.call(arguments);
args.unshift(method);
trekkie.push(args);
if (method == 'track' || method == 'page') {
var pageUrl;
try {
pageUrl = window.location.href;
} catch (e) {}
var pageReferrer;
try {
pageReferrer = document.referrer;
} catch (e) {}
try {
if (window.__TREKKIE_SHIM_QUEUE == null) {
window.__TREKKIE_SHIM_QUEUE = [];
}
window.__TREKKIE_SHIM_QUEUE.push({
from: 'trekkie-stub',
method: method,
args: args.slice(1),
pageContext: {
url: pageUrl,
referrer: pageReferrer
}
});
} catch (e) {
// no-op
}
}
return trekkie;
};
};
for (var i = 0; i < trekkie.methods.length; i++) {
var key = trekkie.methods[i];
trekkie[key] = trekkie.factory(key);
}
trekkie.load = function(config) {
trekkie.config = config || {};
trekkie.config.initialDocumentCookie = document.cookie;
var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
var scriptFallback = document.createElement('script');
scriptFallback.type = 'text/javascript';
scriptFallback.onerror = function(error) {
var Monorail = {
produce: function produce(monorailDomain, schemaId, payload) {
var currentMs = new Date().getTime();
var event = {
schema_id: schemaId,
payload: payload,
metadata: {
event_created_at_ms: currentMs,
event_sent_at_ms: currentMs
}
};
return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
},
sendRequest: function sendRequest(endpointUrl, payload) {
// Try the sendBeacon API
if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
var blobData = new window.Blob([payload], {
type: 'text/plain'
});
if (window.navigator.sendBeacon(endpointUrl, blobData)) {
return true;
} // sendBeacon was not successful
} // XHR beacon
var xhr = new XMLHttpRequest();
try {
xhr.open('POST', endpointUrl);
xhr.setRequestHeader('Content-Type', 'text/plain');
xhr.send(payload);
} catch (e) {
console.log(e);
}
return false;
},
isIos12: function isIos12() {
return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
}
};
Monorail.produce('monorail-edge.shopifysvc.com',
'trekkie_storefront_load_errors/1.1',
{shop_id: 107148312914,
theme_id: 208596533586,
app_name: "storefront",
context_url: window.location.href,
source_url: "//lestendancesdecharlotte.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
};
scriptFallback.async = true;
scriptFallback.src = '//lestendancesdecharlotte.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//lestendancesdecharlotte.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
first.parentNode.insertBefore(script, first);
};
trekkie.load(
{"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":107148312914,"isMerchantRequest":null,"themeId":208596533586,"themeCityHash":"16707518769262938527","contentLanguage":"fr","currency":"EUR","eventMetadataId":"5be5f81d-5844-4c48-a4df-730a807259eb"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
);
var loaded = false;
trekkie.ready(function() {
if (loaded) return;
loaded = true;
window.ShopifyAnalytics.lib = window.trekkie;
var originalDocumentWrite = document.write;
document.write = customDocumentWrite;
try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
document.write = originalDocumentWrite;
var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
var token = match? match[1]: undefined;
if (!hasLoggedConversion(token)) {
setCookieIfConversion(token);
window.ShopifyAnalytics.lib.track("Viewed Product Category",{"currency":"EUR","category":"Collection: massages-soins-saint-quentin","collectionName":"massages-soins-saint-quentin","collectionId":699206697298,"nonInteraction":true},undefined,undefined,{"shopifyEmitted":true});
}
});
window.ShopifyAnalytics.lib.page(null,{"pageType":"collection","resourceType":"collection","resourceId":699206697298,"requestId":"1c9cdaa4-18ff-4b2d-a6d9-d3f9926b6929-1791241875","shopifyEmitted":true});
var eventsListenerScript = document.createElement('script');
eventsListenerScript.async = true;
eventsListenerScript.src = "//lestendancesdecharlotte.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
<script
defer
src="https://lestendancesdecharlotte.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
data-application="storefront-renderer"
data-shop-id="107148312914"
data-render-region="gcp-europe-west1"
data-page-type="collection"
data-theme-instance-id="208596533586"
data-theme-name="Horizon"
data-theme-version="3.5.1"
data-monorail-region="shop_domain"
data-resource-timing-sampling-rate="10"
data-shs="true"
data-shs-beacon="true"
data-shs-export-with-fetch="true"
data-shs-logs-sample-rate="1"
data-shs-beacon-endpoint="https://lestendancesdecharlotte.com/api/collect"
></script>
<script src="https://cdn.shopify.com/storefront/web-components/account.js" type="module" crossorigin fetchpriority="low" async></script><script id="shopify-customer-account-data" type="application/json">{"customer":null,"shop":{"id":"107148312914","customerAccountTranslations":[{"key":"account_menu.signed_out_state.sheet_title","value":"Se connecter ou créer un compte"},{"key":"account_menu.signed_out_state.section_divider","value":"Autres moyens de connexion"},{"key":"account_menu.signed_out_state.alternate_divider","value":"OU"},{"key":"account_menu.signed_out_state.email_field_label","value":"E-mail"},{"key":"account_menu.signed_out_state.orders_button","value":"Commandes"},{"key":"account_menu.signed_out_state.profile_button","value":"Profil"},{"key":"account_menu.signed_out_state.shop_login_button","value":"Se connecter avec Shop"},{"key":"account_menu.signed_out_state.continue_with_google","value":"Continuer avec Google"},{"key":"account_menu.signed_out_state.continue_with_facebook","value":"Continuer avec Facebook"},{"key":"account_menu.signed_out_state.marketing_consent_label","value":"Envoyez-moi des nouvelles et des offres par e-mail"},{"key":"account_menu.signed_in_state.greeting_with_name","value":"Bonjour, {{first_name}}"},{"key":"account_menu.signed_in_state.greeting_without_name","value":"Compte"},{"key":"account_menu.signed_in_state.orders_button","value":"Commandes"},{"key":"account_menu.signed_in_state.profile_button","value":"Profil"},{"key":"account_menu.location_picker.sheet_title","value":"Emplacements"},{"key":"account_menu.location_picker.search_field_placeholder","value":"Rechercher"},{"key":"account_menu.aria_labels.close_menu","value":"Fermer le menu"},{"key":"account_menu.aria_labels.back_to_main_menu","value":"Retour au menu principal depuis {{title}}"},{"key":"account_menu.aria_labels.open_submenu","value":"{{title}}, ouvre le sous-menu"},{"key":"account_menu.aria_labels.loading_menu","value":"Chargement du menu"},{"key":"account_menu.aria_labels.account","value":"Compte"},{"key":"account_menu.aria_labels.sign_in_with_email","value":"Se connecter avec e-mail"},{"key":"account_menu.aria_labels.sign_in","value":"Se connecter"}],"socialLoginProviders":[{"handle":"Shop"}],"legacyCustomerAccounts":false,"signInLinksVisible":true,"b2bEnabled":false,"marketingConsentSigninEnabled":true,"marketingConsentPreselected":false},"visitor":{"country":"FR","language":"fr"}}</script>
<script id="shopify-chat-page-data" type="application/json">{"greetingMessage":"Bienvenue sur Les tendances de Charlotte. Comment puis-je vous aider ?","customerServiceEmail":"ltdcserviceclient@gmail.com","onlineStorePasswordProtected":false,"continueAsChip":false,"translations":[{"key":"agent_chat.panel.open_chat","value":"Ouvrir le chat"},{"key":"agent_chat.panel.ask_anything","value":"Posez votre question"},{"key":"agent_chat.panel.title","value":"Storekick"},{"key":"agent_chat.panel.unread_replies","value":"Réponses non lues"},{"key":"agent_chat.panel.back_to_chat","value":"Retour au chat"},{"key":"agent_chat.panel.see_history","value":"Voir l’historique du chat"},{"key":"agent_chat.panel.new_chat","value":"Créer un nouveau chat"},{"key":"agent_chat.panel.close","value":"Fermer le chat"},{"key":"agent_chat.panel.undock","value":"Détacher le chat"},{"key":"agent_chat.panel.dock","value":"Ancrer le chat"},{"key":"agent_chat.panel.expand","value":"Agrandir le chat"},{"key":"agent_chat.panel.contract","value":"Réduire le chat"},{"key":"agent_chat.panel.jump_to_latest","value":"Aller au plus récent"},{"key":"agent_chat.panel.loading_chat","value":"Chargement du chat"},{"key":"agent_chat.input.label","value":"Saisissez votre message"},{"key":"agent_chat.input.placeholder","value":"Posez votre question..."},{"key":"agent_chat.input.send","value":"Envoyer"},{"key":"agent_chat.input.stop","value":"Arrêter la génération"},{"key":"agent_chat.thinking","value":"Réflexion..."},{"key":"agent_chat.searching","value":"Recherche..."},{"key":"agent_chat.message.sent_timestamp","value":"Envoyé · {{time}}"},{"key":"agent_chat.message.automated_label","value":"Automatisé"},{"key":"agent_chat.message.automated_timestamp","value":"Automatisé · {{time}}"},{"key":"agent_chat.liveAgentHandoff","value":"Un membre de notre équipe vous répondra sous peu"},{"key":"agent_chat.human_handoff.action","value":"Discuter avec notre équipe"},{"key":"agent_chat.human_handoff.request","value":"J’aimerais parler à un membre de votre équipe"},{"key":"agent_chat.human_handoff.ai_assistant","value":"Assistant IA"},{"key":"agent_chat.greeting.default","value":"Bonjour !"},{"key":"agent_chat.greeting.with_name","value":"Bonjour {{name}} !"},{"key":"agent_chat.greeting.welcome","value":"Vous pouvez poser des questions sur les achats, les tailles\/dimensions, l’expédition, les retours ou le statut de la commande."},{"key":"agent_chat.greeting.welcome_back","value":"Bon retour sur %{shop_name} ! Comment puis-je vous aider ?"},{"key":"agent_chat.greeting.welcome_back_no_shop","value":"Bon retour ! Comment puis-je vous aider ?"},{"key":"agent_chat.greeting.welcome_to_shop","value":"Bienvenue sur %{shop_name}. Comment puis-je vous aider ?"},{"key":"agent_chat.greeting.generic","value":"Comment puis-je vous aider ?"},{"key":"agent_chat.disclaimer.text","value":"Ce chat utilise l’IA de Shopify et peut commettre des erreurs. Vos messages sont visibles par {{shop_name}}. Consulter la"},{"key":"agent_chat.disclaimer.text_human","value":"Vos messages sont visibles par {{shop_name}} et par Shopify pour la fourniture et l’amélioration des services. Voir"},{"key":"agent_chat.disclaimer.link_text","value":"politique de confidentialité"},{"key":"agent_chat.error.response_unavailable","value":"Réponse indisponible"},{"key":"agent_chat.error.generic","value":"Une erreur est survenue."},{"key":"agent_chat.error.response_failed","value":"Impossible de charger ce message"},{"key":"agent_chat.error.message_send_failed","value":"Votre message n’a pas pu être envoyé"},{"key":"agent_chat.error.attachment_upload_failed","value":"Votre pièce jointe n’a pas été chargée"},{"key":"agent_chat.error.try_again","value":"Réessayer"},{"key":"agent_chat.error.unavailable","value":"Le chat n’est pas disponible pour le moment, veuillez réessayer plus tard"},{"key":"agent_chat.error.usage_limit","value":"Limite de messages atteinte : réessayez plus tard ou envoyez-nous un e-mail à {{email}}"},{"key":"agent_chat.error.usage_limit_no_email","value":"Limite de messages atteinte : réessayez plus tard"},{"key":"agent_chat.error.cost_quota_unhandled","value":"Le chat n’est pas disponible pour le moment, envoyez-nous un e-mail à {{email}}"},{"key":"agent_chat.error.cost_quota_unhandled_no_email","value":"Le chat n’est pas disponible pour le moment"},{"key":"agent_chat.error.cost_quota_handover","value":"L’assistant IA n’est pas disponible pour le moment : notre équipe vous répondra sous peu"},{"key":"agent_chat.history.heading","value":"Historique du chat"},{"key":"agent_chat.history.loading","value":"Chargement de l’historique des conversations"},{"key":"agent_chat.history.aria_label","value":"Historique des conversations"},{"key":"agent_chat.history.no_conversations","value":"Aucune conversation"},{"key":"agent_chat.history.conversation.one","value":"conversation"},{"key":"agent_chat.history.conversation.other","value":"conversations"},{"key":"agent_chat.history.conversation.many","value":"conversations"},{"key":"agent_chat.history.error_message","value":"Une erreur est survenue."},{"key":"agent_chat.history.try_again","value":"Réessayer"},{"key":"agent_chat.history.no_past","value":"Aucune conversation antérieure"},{"key":"agent_chat.history.start_new","value":"Démarrer un nouveau chat"},{"key":"agent_chat.history.untitled","value":"Conversation sans titre"},{"key":"agent_chat.history.resume","value":"Reprendre : {{title}}"},{"key":"agent_chat.history.resume_with_time","value":"Reprendre : {{title}}, {{time}}"},{"key":"agent_chat.history.delete","value":"Supprimer la conversation : {{title}}"},{"key":"agent_chat.history.delete_failed","value":"Impossible de supprimer la conversation"},{"key":"agent_chat.feedback.group_label","value":"Retour d’expérience sur le message"},{"key":"agent_chat.feedback.thumbs_up","value":"Pouce levé"},{"key":"agent_chat.feedback.thumbs_down","value":"Pouce baissé"},{"key":"agent_chat.feedback.add_comment","value":"Ajouter un commentaire"},{"key":"agent_chat.feedback.thanks","value":"Merci pour votre retour d’expérience"},{"key":"agent_chat.feedback.placeholder_up","value":"Dites-nous ce qui s’est bien passé"},{"key":"agent_chat.feedback.placeholder_down","value":"Dites-nous ce qui pourrait être amélioré"},{"key":"agent_chat.feedback.comment_label","value":"Commentaire de retour d’expérience"},{"key":"agent_chat.feedback.cancel","value":"Annuler"},{"key":"agent_chat.feedback.submit","value":"Soumettre"},{"key":"agent_chat.feedback.character_count","value":"{{current}}\/{{max}}"},{"key":"agent_chat.feedback.character_limit_reached","value":"Longueur maximale atteinte. Le retour d’expérience est limité à {{max}} caractères."},{"key":"agent_chat.buyer_profile.button.open","value":"Profil de l’acheteur"},{"key":"agent_chat.buyer_profile.title","value":"Profil de l’acheteur"},{"key":"agent_chat.buyer_profile.empty","value":"Aucun profil de l’acheteur disponible."},{"key":"agent_chat.buyer_profile.close","value":"Fermer"},{"key":"agent_chat.suggestions.empty_state_label","value":"Questions suggérées"},{"key":"agent_chat.suggestions.quick_reply_label","value":"Réponses suggérées"},{"key":"agent_chat.auth.sign_in_to_continue","value":"Se connecter pour continuer"},{"key":"agent_chat.auth.sign_in","value":"Se connecter"},{"key":"agent_chat.auth.skip_and_chat","value":"Ignorer et démarrer le chat"},{"key":"agent_chat.auth.pre_chat_title","value":"Connectez-vous pour personnaliser et enregistrer vos chats"},{"key":"agent_chat.auth.pre_chat_subtitle","value":"Connectez-vous ou créez un compte"},{"key":"agent_chat.auth.staff_chat_required_title","value":"Ne manquez aucune réponse"},{"key":"agent_chat.auth.staff_chat_required_subtitle","value":"Connectez-vous pour discuter avec notre équipe. Nous vous enverrons un e-mail si vous quittez le chat."},{"key":"agent_chat.auth.share_disclaimer","value":"En continuant, Shop partagera votre nom et votre e-mail avec cette boutique. Consultez ses {{terms_link}} et sa {{privacy_link}}"},{"key":"agent_chat.auth.terms_link","value":"conditions"},{"key":"agent_chat.auth.privacy_link","value":"politique de confidentialité"},{"key":"agent_chat.auth.declined_pre_chat","value":"Je ne peux pas vous mettre en relation avec la boutique si vous ne vous connectez pas."},{"key":"agent_chat.reply_by_email.continuation_prompt","value":"Si vous quittez le chat, nous vous enverrons un e-mail en cas de réponse."},{"key":"agent_chat.reply_by_email.sign_in_prompt","value":"Connectez-vous pour recevoir un e-mail en cas de réponse."},{"key":"agent_chat.order_lookup.track_order","value":"Suivre ma commande"},{"key":"agent_chat.order_lookup.track_another_order","value":"Suivre une autre commande"},{"key":"agent_chat.order_lookup.new_conversation","value":"Nouvelle conversation"},{"key":"agent_chat.order_lookup.follow_up_label","value":"Actions de recherche de commande"},{"key":"agent_chat.order_lookup.enter_order_information","value":"Saisir les informations de la commande"},{"key":"agent_chat.order_lookup.prompt","value":"Pour consulter le statut de votre commande, veuillez fournir les détails de la commande."},{"key":"agent_chat.order_lookup.form_title","value":"Suivre ma commande"},{"key":"agent_chat.order_lookup.form_subtitle","value":"Veuillez fournir vos informations."},{"key":"agent_chat.order_lookup.order_number_label","value":"Numéro de commande"},{"key":"agent_chat.order_lookup.email_label","value":"Adresse e-mail"},{"key":"agent_chat.order_lookup.submit","value":"Suivre ma commande"},{"key":"agent_chat.order_lookup.cancel","value":"Annuler"},{"key":"agent_chat.order_lookup.invalid_order_number","value":"Veuillez saisir un numéro de commande valide composé uniquement de chiffres et de lettres, sans espaces (par ex. 1006)."},{"key":"agent_chat.order_lookup.invalid_order_number_whitespace","value":"Veuillez saisir un numéro de commande valide composé uniquement de chiffres et de lettres, sans espaces (par ex. 1006)."},{"key":"agent_chat.order_lookup.invalid_email","value":"Veuillez saisir une adresse e-mail valide"},{"key":"agent_chat.order_lookup.generic_error","value":"Un problème s’est produit lors de la recherche de votre commande. Veuillez réessayer."},{"key":"agent_chat.order_lookup.rate_limited_error","value":"Trop de tentatives. Réessayez plus tard."},{"key":"agent_chat.order_lookup.locked_composer_status","value":"La recherche de commande est en cours. Démarrez une nouvelle conversation pour poser une autre question."},{"key":"agent_chat.legacy_contact.form_title","value":"Avant de commencer"},{"key":"agent_chat.legacy_contact.form_subtitle","value":"Veuillez fournir vos coordonnées afin que nous puissions vous répondre si vous quittez le chat."},{"key":"agent_chat.legacy_contact.first_name_label","value":"Prénom"},{"key":"agent_chat.legacy_contact.last_name_label","value":"Nom"},{"key":"agent_chat.legacy_contact.email_label","value":"E-mail"},{"key":"agent_chat.legacy_contact.marketing_opt_in","value":"M’envoyer des actualités et des offres par e-mail"},{"key":"agent_chat.legacy_contact.submit","value":"Démarrer le chat"},{"key":"agent_chat.legacy_contact.cancel","value":"Annuler"},{"key":"agent_chat.legacy_contact.invalid_first_name","value":"Saisissez un prénom valide."},{"key":"agent_chat.legacy_contact.invalid_last_name","value":"Saisissez un nom valide."},{"key":"agent_chat.legacy_contact.invalid_email","value":"Saisissez une adresse e-mail valide."},{"key":"agent_chat.legacy_contact.invalid_email_length","value":"L’adresse e-mail est trop longue."},{"key":"agent_chat.legacy_contact.generic_error","value":"Un problème est survenu."},{"key":"agent_chat.legacy_contact.rate_limited_error","value":"Trop de tentatives. Réessayez plus tard."},{"key":"agent_chat.discountCard.useDiscount","value":"Utiliser la réduction"},{"key":"agent_chat.discountCard.discountApplicationContext","value":"S’applique automatiquement lors du paiement"},{"key":"agent_chat.cart.checkout","value":"Paiement"},{"key":"agent_chat.product.add_to_cart","value":"Ajouter au panier"},{"key":"agent_chat.product.view_details","value":"Afficher les détails"},{"key":"agent_chat.product.out_of_stock","value":"En rupture de stock"},{"key":"agent_chat.product.compare_suggestions","value":"Comparer les suggestions"},{"key":"agent_chat.product.hide_suggestions","value":"Masquer les suggestions"},{"key":"agent_chat.product.sold_out","value":"Épuisé"},{"key":"agent_chat.order.item.one","value":"article"},{"key":"agent_chat.order.item.other","value":"articles"},{"key":"agent_chat.order.item.many","value":"articles"},{"key":"agent_chat.order.less_items.one","value":"- masquer {{count}} article"},{"key":"agent_chat.order.less_items.other","value":"- masquer {{count}} articles"},{"key":"agent_chat.order.less_items.many","value":"- masquer {{count}} articles"},{"key":"agent_chat.order.more_items.one","value":"+ {{count}} autre article"},{"key":"agent_chat.order.more_items.other","value":"+ {{count}} autres articles"},{"key":"agent_chat.order.more_items.many","value":"+ {{count}} autres articles"},{"key":"agent_chat.order.view_order","value":"Afficher la commande {{orderId}}"},{"key":"agent_chat.order.track_shipment","value":"Suivre l’envoi"},{"key":"agent_chat.order.of_total","value":"{{index}} sur {{total}}"},{"key":"agent_chat.order.label","value":"Commande {{number}}"},{"key":"agent_chat.order.count.one","value":"{{count}} commande"},{"key":"agent_chat.order.count.other","value":"{{count}} commandes"},{"key":"agent_chat.order.count.many","value":"{{count}} commandes"},{"key":"agent_chat.order.ordered_on","value":"Commandé le {{date}}"},{"key":"agent_chat.order.select","value":"Sélectionner la commande {{number}}"},{"key":"agent_chat.return.heading","value":"Sélection des articles à retourner"},{"key":"agent_chat.return.toggle_item","value":"Sélectionner {{name}}"},{"key":"agent_chat.return.select_item_non_returnable","value":"{{name}}, non retournable"},{"key":"agent_chat.return.quantity_label","value":"Quantité à retourner"},{"key":"agent_chat.return.reason_label","value":"Motif de retour"},{"key":"agent_chat.return.reason_placeholder","value":"Sélectionner un motif"},{"key":"agent_chat.return.confirm","value":"Demander un retour"},{"key":"agent_chat.return.confirmed","value":"Retour demandé"},{"key":"agent_chat.return.reason.size_too_small","value":"Taille trop petite"},{"key":"agent_chat.return.reason.size_too_large","value":"Taille trop grande"},{"key":"agent_chat.return.reason.unwanted","value":"Non désiré"},{"key":"agent_chat.return.reason.not_as_described","value":"Non conforme à la description"},{"key":"agent_chat.return.reason.wrong_item","value":"Mauvais article"},{"key":"agent_chat.return.reason.defective","value":"Défectueux"},{"key":"agent_chat.return.reason.style","value":"Style"},{"key":"agent_chat.return.reason.color","value":"Couleur"},{"key":"agent_chat.return.reason.other_reason","value":"Autre"},{"key":"agent_chat.scroll.previous","value":"Précédent"},{"key":"agent_chat.scroll.next","value":"Suivant"}]}</script>
<meta name="shopify-y" content="00000000-0000-0000-5000-000000000000" data-expiration="1822799475000"><meta name="shopify-s" content="00000000-0000-0000-5000-000000000000" data-expiration="1791243675000"><meta name="new-cookie-storage-activated" content="t">
</head>
<body class="page-width-wide card-hover-effect-lift">
<a
class="skip-to-content-link button-secondary"
href="#MainContent"
>
Ignorer et passer au contenu
</a>
<div id="header-group">
<!-- BEGIN sections: header-group -->
<header id="shopify-section-sections--32491489362258__header_section" class="shopify-section shopify-section-group-header-group header-section">
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"name": "Les tendances de Charlotte",
"logo": "https:\/\/lestendancesdecharlotte.com\/cdn\/shop\/files\/1777477546.png?v=1777477719\u0026width=500",
"url": "https:\/\/lestendancesdecharlotte.com"
}
</script>
<header-component
id="header-component"
class="header"
data-theme-color="rgb(255 255 255)"
sticky="always"
data-skip-node-update
data-scroll-direction="none"
style=" --color-scheme-top-row: rgba(255 255 255 / 1.0); --color-scheme-bottom-row: rgba(255 255 255 / 1.0); "
>
<div class="header__underlay header__underlay-closed"></div>
<div
class="header__underlay header__underlay-open"
></div>
<div
class="header__row header__row--top color-scheme-1 section section--full-width-margin section--page-width"
ref="headerRowTop">
<div class="header__columns spacing-style">
<div
class="header__column header__column--left"
data-testid="header-top-left"
>
<div
class="header__drawer"
ref="headerDrawerContainer"
data-hydration-key="header-drawer-mobile"
>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/header-drawer.js?v=121243031541024704371790842512"
type="module"
fetchpriority="low"
></script>
<header-drawer
class="header-drawer"
style="--menu-image-border-radius: 0px; --resource-card-corner-radius: 0px;"
>
<details
id="Details-menu-drawer-container"
data-skip-node-update="true"
class="menu-drawer-container"
ref="details"
scroll-lock
>
<summary
class="header__icon header__icon--menu header__icon--summary"
aria-label="Menu"
on:click="/toggle"
>
<span class="svg-wrapper header-drawer-icon header-drawer-icon--open"><svg aria-hidden="true" width="14" height="14" viewbox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 3.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
<path d="M1 10.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
</svg>
</span>
<span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="14" height="14" viewbox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</summary>
<div
ref="menuDrawer"
class="menu-drawer color-scheme-1"
>
<button
class="button close-button menu-drawer__close-button"
type="button"
aria-label="Fermer"
on:click="/close"
>
<span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg aria-hidden="true" width="14" height="14" viewbox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
<nav
class="menu-drawer__navigation"
style="--menu-top-level-font-family: var(--font-body--family);--menu-top-level-font-size-desktop: 0.875rem; --menu-top-level-font-style: var(--font-body--style); --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none; --menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height: var(--menu-font-2xl--line-height);--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style:var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case:none; --menu-parent-font-size: var(--menu-font-sm--size); --menu-parent-font-line-height: var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground); --menu-child-font-family: var(--font-body--family); --menu-child-font-style:var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case:none; --menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height); --menu-child-font-color: var(--color-foreground); --menu-child-active-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); "
aria-label="Principale"
>
<ul
class="menu-drawer__menu has-submenu"
role="list"
>
<li
style="--menu-drawer-animation-index: 1;"
class="menu-drawer__list-item--flat"
>
<a
id="HeaderDrawer-accueil"
href="/"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Accueil</span>
</a>
</li>
<li
style="--menu-drawer-animation-index: 2;"
class="menu-drawer__list-item--flat"
>
<a
id="HeaderDrawer-collection"
href="/collections/bijoux-zag"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Collection</span>
</a>
<ul
class="menu-drawer__menu menu-drawer__menu--childlist"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
href="/collections/nouveautes-zag"
class="menu-drawer__menu-item menu-drawer__menu-item--child menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Nouveautés</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
href="/collections/meilleures-ventes-zag"
class="menu-drawer__menu-item menu-drawer__menu-item--child menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Meilleures ventes</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
href="/collections/boucle-doreille"
class="menu-drawer__menu-item menu-drawer__menu-item--child menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Boucles d'oreilles</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
href="/collections/bracelet"
class="menu-drawer__menu-item menu-drawer__menu-item--child menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Bracelets</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 2;"
>
<a
href="/collections/colliers"
class="menu-drawer__menu-item menu-drawer__menu-item--child menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Colliers</span>
</a>
</li></ul>
</li>
<li
style="--menu-drawer-animation-index: 3;"
class="menu-drawer__list-item--flat"
>
<a
id="HeaderDrawer-idees-cadeaux"
href="/collections/idees-cadeaux"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Idées cadeaux</span>
</a>
</li>
<li
style="--menu-drawer-animation-index: 4;"
class="menu-drawer__list-item--flat"
>
<a
id="HeaderDrawer-massages-corps-visage"
href="/collections/massages-soins-saint-quentin"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
aria-current="page"
>
<span class="menu-drawer__menu-item-text wrap-text">Massages corps & visage</span>
</a>
</li>
<li
style="--menu-drawer-animation-index: 5;"
class="menu-drawer__list-item--flat"
>
<a
id="HeaderDrawer-notre-histoire"
href="/pages/notre-histoire"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Notre Histoire</span>
</a>
</li>
<li
style="--menu-drawer-animation-index: 6;"
class="menu-drawer__list-item--flat"
>
<a
id="HeaderDrawer-un-conseil"
href="/pages/contact"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Un conseil ?</span>
</a>
</li>
<li
style="--menu-drawer-animation-index: 7;"
class="menu-drawer__list-item--flat"
>
<a
id="HeaderDrawer-blog"
href="/blogs/conseils"
class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Blog</span>
</a>
<ul
class="menu-drawer__menu menu-drawer__menu--childlist"
role="list"
tabindex="-1"
><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
href="/blogs/conseils"
class="menu-drawer__menu-item menu-drawer__menu-item--child menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Conseils</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
href="/blogs/idees-cadeaux"
class="menu-drawer__menu-item menu-drawer__menu-item--child menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Idées cadeaux</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
href="/blogs/collections"
class="menu-drawer__menu-item menu-drawer__menu-item--child menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Nos collections</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
href="/blogs/massages-bien-etre"
class="menu-drawer__menu-item menu-drawer__menu-item--child menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Massages & bien-être</span>
</a>
</li><li
class="menu-drawer__list-item"
style="--menu-drawer-animation-index: 7;"
>
<a
href="/blogs/actualites"
class="menu-drawer__menu-item menu-drawer__menu-item--child menu-drawer__animated-element focus-inset"
>
<span class="menu-drawer__menu-item-text wrap-text">Actualités</span>
</a>
</li></ul>
</li>
</ul>
</nav>
<div
class="menu-drawer__utility-links menu-drawer__animated-element"
style="--menu-drawer-animation-index: 7;"
>
</div>
</div>
<div
class="menu-drawer__backdrop"
on:click="header-drawer/close"
></div>
</details>
</header-drawer>
</div>
<style data-shopify>
.header__underlay {
--color-submenu: rgb(255 255 255 / 1.0);
}
</style>
<search-button
class="search-action search-action--hidden-on-menu"
>
<button
on:click="#search-modal/showDialog"
class="button-unstyled header-actions__action"
aria-label="Rechercher"
aria-haspopup="dialog"
>
<span class="hidden">
Rechercher
</span>
<span class="svg-wrapper">
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
</span>
</button>
</search-button>
<a
href="/"
class="size-style spacing-style header-logo"
style=" --size-style-width: ;--size-style-height: ; --padding-block-start: 0px;--padding-block-end: 0px; --font-family: var(--font-body--family); --font-style: var(--font-body--style); --font-weight: 600; "
>
<span
class="header-logo__image-container header-logo__image-container--original"
data-testid="header-logo"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/1777477546.png?height=12&v=1777477719" alt="Les tendances de Charlotte – Accueil" width="22" height="12" class="header-logo__image" srcset="//lestendancesdecharlotte.com/cdn/shop/files/1777477546.png?height=12&v=1777477719 1x, //lestendancesdecharlotte.com/cdn/shop/files/1777477546.png?height=24&v=1777477719 2x, //lestendancesdecharlotte.com/cdn/shop/files/1777477546.png?height=36&v=1777477719 3x" style="--header-logo-image-width: 22px;--header-logo-image-width-mobile: 22px; --header-logo-image-height: 12px; --header-logo-image-height-mobile: 12px;">
</span>
</a>
<header-menu
ref="headerMenu"
class="header-menu"
data-hydration-key="header-menu"
>
<div class="header-menu__inner">
<nav
class="menu-list"
aria-label="Principale"
style="--menu-top-level-font-family: var(--font-body--family);--menu-top-level-font-size-desktop: 0.875rem; --menu-top-level-font-style: var(--font-body--style); --menu-top-level-font-weight: var(--font-body--weight); --menu-top-level-font-case:none; --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height: var(--menu-font-sm--line-height);--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);"
>
<overflow-list
ref="overflowMenu"
class="overflow-menu color-scheme-matches-parent"
minimum-items="2"
data-testid="header-menu-overflow-list"
data-skip-node-update
>
<template shadowrootmode="open">
<link href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/overflow-list.css?v=16727044177065489451790842512" rel="stylesheet" type="text/css" media="all" />
<ul part="list">
<slot></slot>
<slot
name="more"
part="more"
hidden
>
<li
part="more"
>
<button
class="button"
type="button"
tabindex="0"
>
Plus
</button>
</li>
</slot>
<li
part="placeholder"
hidden
></li>
</ul>
<div part="overflow">
<ul part="overflow-list">
<slot name="overflow"></slot>
</ul>
</div>
</template>
<li
role="presentation"
class="menu-list__list-item"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/"
data-skip-node-update="true"
class="menu-list__link"
ref="menuitem"
>
<span class="menu-list__link-title">Accueil</span>
</a></li>
<li
role="presentation"
class="menu-list__list-item"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/collections/bijoux-zag"
data-skip-node-update="true"
class="menu-list__link">
<span class="menu-list__link-title">Collection</span>
</a><div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]">
<div
id="submenu-2"
class="menu-list__submenu-inner"
style="--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style:var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case:none; --menu-parent-font-size: var(--menu-font-sm--size); --menu-parent-font-line-height: var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground); --menu-child-font-family: var(--font-body--family); --menu-child-font-style:var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case:none; --menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height); --menu-child-font-color: var(--color-foreground); --menu-child-active-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); "
>
<div class="mega-menu section section--full-width-margin section--page-width">
<div
class="mega-menu__grid"
data-menu-grid-id="MegaMenuList-2"
>
<ul
data-menu-list-id="MegaMenuList-2"
class="mega-menu__list list-unstyled"
style="--menu-image-border-radius: 0px;"
>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="/collections/nouveautes-zag"
class="mega-menu__link"
>
<span class="wrap-text">Nouveautés</span>
</a>
</div>
<div>
<a
href="/collections/meilleures-ventes-zag"
class="mega-menu__link"
>
<span class="wrap-text">Meilleures ventes</span>
</a>
</div>
<div>
<a
href="/collections/boucle-doreille"
class="mega-menu__link"
>
<span class="wrap-text">Boucles d'oreilles</span>
</a>
</div>
<div>
<a
href="/collections/bracelet"
class="mega-menu__link"
>
<span class="wrap-text">Bracelets</span>
</a>
</div>
<div>
<a
href="/collections/colliers"
class="mega-menu__link"
>
<span class="wrap-text">Colliers</span>
</a>
</div>
</li>
</ul>
<style data-shopify>
[data-menu-grid-id="MegaMenuList-2"] {
--menu-columns-desktop: 6;
--menu-columns-tablet: 4;
}
[data-menu-list-id="MegaMenuList-2"] {
--menu-columns-desktop: 6;
--menu-columns-tablet: 4;
}
</style>
<span
class="mega-menu__content"
style="--menu-content-columns-desktop: 0; --menu-content-columns-tablet: 0; --resource-card-corner-radius: 0px;"
>
<ul
class="mega-menu__content-list mega-menu__content-list--products list-unstyled"
>
</ul>
</span>
</div>
</div>
</div>
</div></li>
<li
role="presentation"
class="menu-list__list-item"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/collections/idees-cadeaux"
data-skip-node-update="true"
class="menu-list__link"
ref="menuitem"
>
<span class="menu-list__link-title">Idées cadeaux</span>
</a></li>
<li
role="presentation"
class="menu-list__list-item"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/collections/massages-soins-saint-quentin"
data-skip-node-update="true"
class="menu-list__link menu-list__link--active"
aria-current="page"
ref="menuitem"
>
<span class="menu-list__link-title">Massages corps & visage</span>
</a></li>
<li
role="presentation"
class="menu-list__list-item"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/pages/notre-histoire"
data-skip-node-update="true"
class="menu-list__link"
ref="menuitem"
>
<span class="menu-list__link-title">Notre Histoire</span>
</a></li>
<li
role="presentation"
class="menu-list__list-item"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/pages/contact"
data-skip-node-update="true"
class="menu-list__link"
ref="menuitem"
>
<span class="menu-list__link-title">Un conseil ?</span>
</a></li>
<li
role="presentation"
class="menu-list__list-item"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<a
href="/blogs/conseils"
data-skip-node-update="true"
class="menu-list__link">
<span class="menu-list__link-title">Blog</span>
</a><div class="menu-list__submenu color-scheme-matches-parent" ref="submenu[]">
<div
id="submenu-7"
class="menu-list__submenu-inner"
style="--menu-parent-font-family: var(--font-body--family); --menu-parent-font-style:var(--font-body--style); --menu-parent-font-weight: var(--font-body--weight); --menu-parent-font-case:none; --menu-parent-font-size: var(--menu-font-sm--size); --menu-parent-font-line-height: var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground); --menu-child-font-family: var(--font-body--family); --menu-child-font-style:var(--font-body--style); --menu-child-font-weight: var(--font-body--weight); --menu-child-font-case:none; --menu-child-font-size: var(--menu-font-md--size); --menu-child-font-line-height: var(--menu-font-md--line-height); --menu-child-font-color: var(--color-foreground); --menu-child-active-font-color: rgb(var(--color-foreground-rgb) / var(--opacity-subdued-text)); "
>
<div class="mega-menu section section--full-width-margin section--page-width">
<div
class="mega-menu__grid"
data-menu-grid-id="MegaMenuList-7"
>
<ul
data-menu-list-id="MegaMenuList-7"
class="mega-menu__list list-unstyled"
style="--menu-image-border-radius: 0px;"
>
<li class="mega-menu__column mega-menu__column--span-1">
<div>
<a
href="/blogs/conseils"
class="mega-menu__link"
>
<span class="wrap-text">Conseils</span>
</a>
</div>
<div>
<a
href="/blogs/idees-cadeaux"
class="mega-menu__link"
>
<span class="wrap-text">Idées cadeaux</span>
</a>
</div>
<div>
<a
href="/blogs/collections"
class="mega-menu__link"
>
<span class="wrap-text">Nos collections</span>
</a>
</div>
<div>
<a
href="/blogs/massages-bien-etre"
class="mega-menu__link"
>
<span class="wrap-text">Massages & bien-être</span>
</a>
</div>
<div>
<a
href="/blogs/actualites"
class="mega-menu__link"
>
<span class="wrap-text">Actualités</span>
</a>
</div>
</li>
</ul>
<style data-shopify>
[data-menu-grid-id="MegaMenuList-7"] {
--menu-columns-desktop: 6;
--menu-columns-tablet: 4;
}
[data-menu-list-id="MegaMenuList-7"] {
--menu-columns-desktop: 6;
--menu-columns-tablet: 4;
}
</style>
</div>
</div>
</div>
</div></li>
<li
class="menu-list__list-item"
role="presentation"
slot="more"
on:focus="/activate"
on:blur="/deactivate"
on:pointerenter="/activate"
on:pointerleave="/deactivate"
>
<button role="listitem" class="menu-list__link button-unstyled">
<span class="menu-list__link-title">Plus</span>
</button>
</li>
</overflow-list>
</nav>
</div>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/header-menu.js?v=97820922056036071501790842512"
type="module"
fetchpriority="low"
></script>
</header-menu>
<style data-shopify>
.header__underlay {
--color-submenu: rgb(255 255 255 / 1.0);
}
</style>
</div><div
class="header__column header__column--right"
data-testid="header-top-right"
>
<search-button
class="search-action search-action--hidden-on-drawer"
>
<button
on:click="#search-modal/showDialog"
class="button-unstyled header-actions__action"
aria-label="Rechercher"
aria-haspopup="dialog"
>
<span class="hidden">
Rechercher
</span>
<span class="svg-wrapper">
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
</span>
</button>
</search-button>
<header-actions
>
<div
class="account-button header-actions__action color-scheme-1"
>
<shopify-store store-domain="https://lestendancesdecharlotte.com" country="FR" language="fr"></shopify-store>
<shopify-account
menu="customer-account-main-menu"
>
<span
slot="signed-out-avatar"
class="account-button__text header-actions__text-style hidden"
>
Compte
</span>
<span
slot="signed-out-avatar"
class=""
aria-hidden="true"
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="15"
height="17"
viewbox="0 0 15 17"
fill="none"
slot="signed-out-avatar"
class="account-button__icon"
>
<path
stroke="currentColor"
stroke-linejoin="round"
stroke-width="var(--icon-stroke-width)"
d="M10.375 3.813a3.063 3.063 0 1 1-6.125 0 3.063 3.063 0 0 1 6.125 0ZM7.313 9.5c-3.667 0-6.24 2.691-6.563 6.125h13.125C13.552 12.191 10.979 9.5 7.312 9.5Z"
/>
</svg>
</span>
</shopify-account>
</div>
<button
type="button"
class="header-actions__action button-unstyled"
aria-label="Panier"
aria-describedby="cart-bubble-text"
data-testid="cart-drawer-trigger"
onclick="var b=document.querySelector('[data-zac-cart-open]'); if(b){ b.click(); }"
>
<cart-icon
class="header-actions__cart-icon"
data-testid="cart-icon"
>
<span class="hidden">
Panier
</span>
<span
class="svg-wrapper"
aria-hidden="true"
>
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M3.392 6.875h13.216v8.016c0 .567-.224 1.112-.624 1.513-.4.402-.941.627-1.506.627H5.522a2.13 2.13 0 0 1-1.506-.627 2.15 2.15 0 0 1-.624-1.513zM8.818 2.969h2.333c.618 0 1.211.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.313c0-.622.246-1.218.683-1.658a2.33 2.33 0 0 1 1.65-.686"/></svg>
</span>
<div
ref="cartBubble"
class="cart-bubble visually-hidden"
data-maintain-ratio
>
<span class="cart-bubble__background"></span>
<span
ref="cartBubbleText"
id="cart-bubble-text"
class="cart-bubble__text"
>
<span
class="cart-bubble__text-count hidden"
ref="cartBubbleCount"
aria-hidden="true"
data-testid="cart-bubble"
>
0</span>
</span>
</div>
</cart-icon>
</button>
<span
ref="liveRegion"
class="visually-hidden"
role="status"
data-testid="cart-count-live-region"
></span>
</header-actions>
<script
type="module"
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/header-actions.js?v=121308165565653895611790842512"
fetchpriority="low"
></script>
</div>
</div>
</div>
<div class="header__row header__navigation-bar-row color-scheme-1">
<style data-shopify>
.header__underlay {
--color-submenu: rgb(255 255 255 / 1.0);
}
</style>
</div>
</header-component>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/header.js?v=36718054510661947891790842512"
type="module"
></script>
<script type="module">
import { hydrate } from '@theme/section-hydration';
const url = new URL(window.location.href);
url.searchParams.delete('page');
hydrate('sections--32491489362258__header_section', url);
</script>
</header><div id="shopify-section-sections--32491489362258__1777479338acd8daff" class="shopify-section shopify-section-group-header-group section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style=" "
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; "
>
<div
class="spacing-style layout-panel-flex layout-panel-flex--column section-content-wrapper mobile-column"
style=" --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--gap: 12px;--horizontal-alignment: flex-start; --vertical-alignment: center;--vertical-alignment-mobile: center; --padding-block-start: 0px;--padding-block-end: 0px; "
data-testid="section-content"
>
<style data-shopify>
.ai-title-block-amgiwk0fschlmr2fpcaigenblock26fca34jfn4jr {
width: 100%;
max-width: 100%;
display: block;
padding: 20px 0 20px 0;
}
.ai-title-amgiwk0fschlmr2fpcaigenblock26fca34jfn4jr {
margin: 0;
color: #000000;
font-size: 40px;
text-align: center;
line-height: 1.2;
}
@media screen and (max-width: 749px) {
.ai-title-amgiwk0fschlmr2fpcaigenblock26fca34jfn4jr {
font-size: 28.0px;
}
}
</style>
<div class="ai-title-block-amgiwk0fschlmr2fpcaigenblock26fca34jfn4jr" >
<h1 class="ai-title-amgiwk0fschlmr2fpcaigenblock26fca34jfn4jr">Les Tendances de Charlotte</h1>
</div>
</div>
</div>
</div>
</div><div id="shopify-section-sections--32491489362258__blocks_yhjfAH" class="shopify-section shopify-section-group-header-group section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style=" "
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; "
>
<div
class="spacing-style layout-panel-flex layout-panel-flex--column section-content-wrapper mobile-column"
style=" --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--gap: 12px;--horizontal-alignment: flex-start; --vertical-alignment: center;--vertical-alignment-mobile: center; --padding-block-start: 0px;--padding-block-end: 0px; "
data-testid="section-content"
>
<style data-shopify>
.ai-title-block-awm9bcwg5cgo4atnvraigenblock26fca34rlnwta {
width: 100%;
max-width: 100%;
display: block;
padding: 20px 0 20px 0;
}
.ai-title-awm9bcwg5cgo4atnvraigenblock26fca34rlnwta {
margin: 0;
color: #000000;
font-size: 24px;
text-align: center;
line-height: 1.2;
}
@media screen and (max-width: 749px) {
.ai-title-awm9bcwg5cgo4atnvraigenblock26fca34rlnwta {
font-size: 16.8px;
}
}
</style>
<div class="ai-title-block-awm9bcwg5cgo4atnvraigenblock26fca34rlnwta" >
<h1 class="ai-title-awm9bcwg5cgo4atnvraigenblock26fca34rlnwta">"Des bijoux sélectionnés avec passion, des massages d'exception... à découvrir en ligne et à Saint-Quentin."</h1>
</div>
</div>
</div>
</div>
</div><div id="shopify-section-sections--32491489362258__blocks_ydR3bA" class="shopify-section shopify-section-group-header-group section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style=" "
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; "
>
<div
class="spacing-style layout-panel-flex layout-panel-flex--column section-content-wrapper mobile-column"
style=" --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--gap: 12px;--horizontal-alignment: flex-start; --vertical-alignment: center;--vertical-alignment-mobile: center; --padding-block-start: 0px;--padding-block-end: 0px; "
data-testid="section-content"
>
</div>
</div>
</div>
</div><div id="shopify-section-sections--32491489362258__blocks_he6eQr" class="shopify-section shopify-section-group-header-group section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style=" "
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; "
>
<div
class="spacing-style layout-panel-flex layout-panel-flex--column section-content-wrapper mobile-column"
style=" --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--gap: 12px;--horizontal-alignment: flex-start; --vertical-alignment: center;--vertical-alignment-mobile: center; --padding-block-start: 0px;--padding-block-end: 0px; "
data-testid="section-content"
>
</div>
</div>
</div>
</div><div id="shopify-section-sections--32491489362258__blocks_efp9Uk" class="shopify-section shopify-section-group-header-group section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style=" "
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; "
>
<div
class="spacing-style layout-panel-flex layout-panel-flex--column section-content-wrapper mobile-column"
style=" --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--gap: 12px;--horizontal-alignment: flex-start; --vertical-alignment: center;--vertical-alignment-mobile: center; --padding-block-start: 0px;--padding-block-end: 0px; "
data-testid="section-content"
>
</div>
</div>
</div>
</div><div id="shopify-section-sections--32491489362258__1778596084d22eedfa" class="shopify-section shopify-section-group-header-group section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style=" "
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; "
>
<div
class="spacing-style layout-panel-flex layout-panel-flex--column section-content-wrapper mobile-column"
style=" --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--gap: 12px;--horizontal-alignment: flex-start; --vertical-alignment: center;--vertical-alignment-mobile: center; --padding-block-start: 0px;--padding-block-end: 0px; "
data-testid="section-content"
>
</div>
</div>
</div>
</div><div id="shopify-section-sections--32491489362258__1778596180e63d08b0" class="shopify-section shopify-section-group-header-group section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style=" "
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; "
>
<div
class="spacing-style layout-panel-flex layout-panel-flex--column section-content-wrapper mobile-column"
style=" --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--gap: 12px;--horizontal-alignment: center; --vertical-alignment: center;--vertical-alignment-mobile: center; --padding-block-start: 0px;--padding-block-end: 0px; "
data-testid="section-content"
>
<div id="shopify-block-ANVNmZ1hGTDFMMUJwc__ai_gen_block_329a28f_RXjj8g" class="shopify-block">
<style data-shopify>
.ai-trust-badges-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
padding: 20px 20px;
background-color: #ffffff;
width: 100%;
margin: 0;
}
.ai-trust-badges-item-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
color: #041116;
font-size: 14px;
text-align: center;
}
.ai-trust-badges-icon-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g {
font-size: 20px;
line-height: 1;
flex-shrink: 0;
}
@media screen and (max-width: 749px) {
.ai-trust-badges-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g {
gap: 9.6px;
}
.ai-trust-badges-item-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g {
font-size: 12.6px;
}
.ai-trust-badges-icon-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g {
font-size: 18.0px;
}
}
</style>
<div class="ai-trust-badges-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g" >
<div class="ai-trust-badges-item-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g">
<span class="ai-trust-badges-icon-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g">🚚</span>
<span>Livraison en France offerte dès 69€</span>
</div>
<div class="ai-trust-badges-item-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g">
<span class="ai-trust-badges-icon-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g">✅</span>
<span>-10% sur votre première commande avec le code BIENVENUE10</span>
</div>
<div class="ai-trust-badges-item-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g">
<span class="ai-trust-badges-icon-anvnmz1hgtdfmmujwcaigenblock329a28frxjj8g">🔒</span>
<span>Paiement sécurisé</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div><div id="shopify-section-sections--32491489362258__blocks_fmYVy7" class="shopify-section shopify-section-group-header-group section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style=" "
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; "
>
<div
class="spacing-style layout-panel-flex layout-panel-flex--column section-content-wrapper mobile-column"
style=" --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--gap: 12px;--horizontal-alignment: flex-start; --vertical-alignment: center;--vertical-alignment-mobile: center; --padding-block-start: 0px;--padding-block-end: 0px; "
data-testid="section-content"
>
</div>
</div>
</div>
</div><div id="shopify-section-sections--32491489362258__custom_liquid_mAejX3" class="shopify-section shopify-section-group-header-group">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width spacing-style color-scheme-1"
style="--padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; "
>
<style>
[id$="__blocks_yhjfAH"],
[id$="__1778596180e63d08b0"],
[id$="__blocks_fmYVy7"] { display: none !important; }
</style>
</div>
</div>
<!-- END sections: header-group -->
</div>
<script>
// Inline header height and menu style calculations to prevent layout shift
// Note: Updates in calculateHeaderGroupHeight(), updateTransparentHeaderOffset() and setHeaderMenuStyle() utilities.js should be kept in sync with this function
(function setHeaderHeighCustomProperties() {
/*
* Header calculation functions for maintaining CSS variables
* Mimic calculateHeaderGroupHeight() in utilities.js
*/
const header = document.querySelector('header-component');
const headerGroup = document.querySelector('#header-group');
const hasHeaderSection = headerGroup?.querySelector('.header-section');
if (!header || !headerGroup) return;
const headerTopRow = header.querySelector('.header__row--top');
const headerHeight = header.offsetHeight;
// Calculate the total height of the header group
let headerGroupHeight = 0;
const children = headerGroup.children;
for (let i = 0; i < children.length; i++) {
const element = children[i];
if (element === header || !(element instanceof HTMLElement)) continue;
headerGroupHeight += element.offsetHeight;
}
// Check for transparent header special case
if (header.hasAttribute('transparent') && header.parentElement?.nextElementSibling) {
headerGroupHeight += headerHeight;
}
// Set CSS variables
document.body.style.setProperty('--header-height', `${headerHeight}px`);
document.body.style.setProperty('--header-group-height', `${headerGroupHeight}px`);
if (headerTopRow) {
window.requestAnimationFrame(function () {
document.body.style.setProperty('--top-row-height', `${headerTopRow.offsetHeight}px`);
});
}
/**
* Updates CSS custom properties for transparent header offset calculation
* Mimic updateTransparentHeaderOffset() in utilities.js
*/
if (!hasHeaderSection || !header?.hasAttribute('transparent')) {
document.body.style.setProperty('--transparent-header-offset-boolean', '0');
return;
}
const hasImmediateSection = hasHeaderSection.nextElementSibling?.classList.contains('shopify-section');
const shouldApplyOffset = !hasImmediateSection ? '1' : '0';
document.body.style.setProperty('--transparent-header-offset-boolean', shouldApplyOffset);
})();
(function setHeaderMenuStyle() {
const headerComponent = document.querySelector('#header-component');
if (headerComponent) {
const isTouchDevice = 'ontouchstart' in window && navigator.maxTouchPoints > 0;
const overflowList = headerComponent?.querySelector('overflow-list');
const hasReachedMinimum = overflowList && overflowList.hasAttribute('minimum-reached');
headerComponent.dataset.menuStyle = isTouchDevice || hasReachedMinimum ? 'drawer' : 'menu';
}
})();
</script>
<main
id="MainContent"
class="content-for-layout"
role="main"
data-page-transition-enabled="true"
data-product-transition="true"
data-template="collection"
>
<div id="shopify-section-template--32491494015314__section" class="shopify-section section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style=" "
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; "
>
<div
class="spacing-style layout-panel-flex layout-panel-flex--column section-content-wrapper mobile-column"
style=" --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--gap: 12px;--horizontal-alignment: center; --vertical-alignment: center;--vertical-alignment-mobile: center; --padding-block-start: max(20px, calc(var(--spacing-scale) * 48px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 48px)); "
data-testid="section-content"
>
<rte-formatter class="spacing-style text-block text-block--AaFgrQWN6QlBmNkc3N__text_twGGkJ rte rte" style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: fit-content; --max-width: var(--max-width--body-normal); ">
<p>Bienvenue dans mon espace bien-être, au 14 rue Saint-André, au cœur de Saint-Quentin, à deux pas de l'hôtel de ville et de la basilique.</p><p>Je suis Charlotte, <strong>facialiste</strong> et praticienne en massages bien-être du corps, titulaire du titre d'animatrice spa inscrit au RNCP. De nombreuses formations ont enrichi ma pratique pour vous proposer des techniques variées et des massages entièrement personnalisés : massage du corps complet (suédois, thaï, balinais, pierres chaudes, ayurvédique), travail profond des fascias, drainage des jambes ou du ventre, massages des pieds et du crâne, et massages du visage.</p><p>🥉 <strong>Médaille de bronze</strong> – Championnat de France de Massage Visage 2026<br>🏅 <strong>Prix du Public</strong> – Championnat de France de Massage Visage 2025<br>🏆 <strong>Formée à la méthode Continuum</strong> (massage des fascias) par une championne du monde</p><p>Massages du corps, massages ciblés, massages visage signature et rituels sur mesure : découvrez-les ci-dessous, puis réservez en ligne en quelques clics, du mardi au samedi de 10 h à 19 h.</p><p>👩 Espace réservé aux femmes, sauf le Rituel Jolie Môme, ouvert aux enfants dès 5 ans accompagnés d'un adulte.</p>
</rte-formatter>
</div>
</div>
</div>
</div><div id="shopify-section-template--32491494015314__main" class="shopify-section">
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/results-list.js?v=28346210841421047511790842512"
type="module"
fetchpriority="low"
></script>
<div class="section-background color-scheme-1"></div>
<results-list
class="section product-grid-container color-scheme-1"
style="--padding-block-start: 71px; --padding-block-end: 32px;"
section-id="template--32491494015314__main"
infinite-scroll="true"
>
<a
class="skip-to-content-link button-secondary"
href="#ResultsList"
>
Passer à la liste des résultats
</a>
<div
class="collection-wrapper grid gap-style"
>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/facets.js?v=177903033754413523221790842512"
type="module"
fetchpriority="low"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/scrolling.js?v=162288454571026455011790842512"
type="module"
fetchpriority="low"
></script>
<div
class="facets-block-wrapper facets-block-wrapper--horizontal"
style=" --grid-column--desktop:var(--centered); --facets-margin: 0px 0px 8px 0px; --facets-inner-padding-block: 8px 8px; --facets-inner-padding-inline: var(--padding-lg); "
>
<div
class="facets facets--horizontal spacing-style"
style="--padding-block-start: 8px;--padding-block-end: 8px;--padding-inline-start: 0px;--padding-inline-end: 0px;"
aria-label="Filtres"
>
<facets-form-component
class="facets__form-wrapper"
section-id="template--32491494015314__main"
form-style="horizontal"
>
<form
action="/collections/massages-soins-saint-quentin"
id="FacetFiltersForm--template--32491494015314__main-desktop"
class="facets__form"
ref="facetsForm"
>
<div class="facets-remove facets-remove--mobile-and-vertical"><h3 class="visually-hidden">Activez des filtres :</h3>
</div>
<div class="facets__filters-wrapper">
<overflow-list
class="facets__overflow-list"
minimum-items="2"
data-testid="horizontal-filters-overflow-list"
>
<template shadowrootmode="open">
<link href="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/overflow-list.css?v=16727044177065489451790842512" rel="stylesheet" type="text/css" media="all" />
<ul part="list">
<slot></slot>
<slot
name="more"
part="more"
hidden
on:click="#filters-drawer/showDialog"
>
<li
part="more"
>
<button
class="button"
type="button"
tabindex="0"
aria-haspopup="dialog"
>
Plus
</button>
</li>
</slot>
<li
part="placeholder"
hidden
></li>
</ul>
<div part="overflow">
<ul part="overflow-list">
<slot name="overflow"></slot>
</ul>
</div>
</template>
</overflow-list>
</div>
<facet-remove-component
class="facets-horizontal-remove"
active-class="facets__clear-all-link--active"
data-url="/collections/massages-soins-saint-quentin"
>
<button
type="button"
class="button-unstyled facets__clear-all-link facets__clear-all-link--horizontal"
ref="clearButton"
on:click="/removeFilter?form="
on:keydown="/removeFilter?form="
>Tout effacer</button>
</facet-remove-component>
<div
class="products-count-wrapper"
data-testid="products-count"
>
<span role="status">
20 articles
</span>
</div>
<sorting-filter-component
class="sorting-filter sorting-filter__horizontal"
on:change="/updateFilterAndSorting"
on:keydown="/handleKeyDown"
data-testid="sorting-filter-component-desktop"
data-should-use-select-on-mobile="false"
>
<div class="sorting-filter__container hidden">
<label
for="sort-select-template--32491494015314__main"
class="facets__label"
>Trier</label>
<div class="sorting-filter__select-wrapper">
<select
id="sort-select-template--32491494015314__main"
name="sort_by"
class="sorting-filter__select"
disabled
>
<option
value="manual"
selected
>
En vedette
</option>
<option
value="most-relevant"
>
Le plus pertinent
</option>
<option
value="best-selling"
>
Meilleures ventes
</option>
<option
value="title-ascending"
>
Alphabétique, de A à Z
</option>
<option
value="title-descending"
>
Alphabétique, de Z à A
</option>
<option
value="price-ascending"
>
Prix: faible à élevé
</option>
<option
value="price-descending"
>
Prix: élevé à faible
</option>
<option
value="created-ascending"
>
Date, de la plus ancienne à la plus récente
</option>
<option
value="created-descending"
>
Date, de la plus récente à la plus ancienne
</option>
</select>
<svg
aria-hidden="true"
focusable="false"
class="icon icon-caret"
width="8"
height="13"
viewbox="0 0 8 13"
>
<g opacity="0.6">
<path
d="M4.93509 1.08583C4.44566 0.596391 3.65213 0.596391 3.16269 1.08583L0.509308 3.73921C0.215647 4.03287 0.215647 4.50899 0.509308 4.80265C0.802969 5.09631 1.27909 5.09631 1.57275 4.80265L4.04889 2.32651L6.52504 4.80265C6.8187 5.09631 7.29482 5.09631 7.58848 4.80265C7.88214 4.50899 7.88214 4.03287 7.58848 3.73921L4.93509 1.08583Z"
fill="#333030"
/>
<path
d="M7.58848 9.81591L4.93509 12.4693C4.44566 12.9587 3.65213 12.9587 3.16269 12.4693L0.509308 9.81591C0.215647 9.52225 0.215647 9.04613 0.509308 8.75247C0.802969 8.45881 1.27909 8.45881 1.57275 8.75247L4.04889 11.2286L6.52504 8.75247C6.8187 8.45881 7.29482 8.45881 7.58848 8.75247C7.88214 9.04613 7.88214 9.52225 7.58848 9.81591Z"
fill="#333030"
/>
</g></svg>
</div>
</div>
<accordion-custom
data-disable-animation-on-desktop="true"
data-close-with-escape="true"
>
<details
ref="details"
id="Sorting-template--32491494015314__main"
data-default-sort-by="manual"
class="facets__panel"
data-auto-close-details="desktop,mobile"
on:toggle="/handleToggle"
>
<summary
class="facets__summary"
role="button"
aria-expanded="false"
aria-controls="sorting-options-template--32491494015314__main-desktop"
ref="summary"
>
<span
class="facets__label"
id="sort-label-template--32491494015314__main"
>Trier</span>
<span
class="facets__status h6 desktop:hidden"
>En vedette</span>
<span class="svg-wrapper icon-caret icon-animated"><svg aria-hidden="true" width="14" height="14" viewbox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</summary>
<floating-panel-component
id="sorting-options-template--32491494015314__main-desktop"
class="sorting-filter__options color-scheme-1"
role="listbox"
aria-labelledby="sort-label-template--32491494015314__main"
ref="listbox"
>
<div class="sorting-filter__options-inner">
<label
for="sort-option-manual-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="true"
tabindex="0"
>
<input
type="radio"
name="sort_by"
id="sort-option-manual-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-desktop"
value="manual"
class="sorting-filter__input"
data-option-name="En vedette"
checked
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">En vedette</span>
</div>
</label>
<label
for="sort-option-most-relevant-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-most-relevant-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-desktop"
value="most-relevant"
class="sorting-filter__input"
data-option-name="Le plus pertinent"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Le plus pertinent</span>
</div>
</label>
<label
for="sort-option-best-selling-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-best-selling-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-desktop"
value="best-selling"
class="sorting-filter__input"
data-option-name="Meilleures ventes"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Meilleures ventes</span>
</div>
</label>
<label
for="sort-option-title-ascending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-title-ascending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-desktop"
value="title-ascending"
class="sorting-filter__input"
data-option-name="Alphabétique, de A à Z"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Alphabétique, de A à Z</span>
</div>
</label>
<label
for="sort-option-title-descending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-title-descending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-desktop"
value="title-descending"
class="sorting-filter__input"
data-option-name="Alphabétique, de Z à A"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Alphabétique, de Z à A</span>
</div>
</label>
<label
for="sort-option-price-ascending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-price-ascending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-desktop"
value="price-ascending"
class="sorting-filter__input"
data-option-name="Prix: faible à élevé"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Prix: faible à élevé</span>
</div>
</label>
<label
for="sort-option-price-descending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-price-descending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-desktop"
value="price-descending"
class="sorting-filter__input"
data-option-name="Prix: élevé à faible"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Prix: élevé à faible</span>
</div>
</label>
<label
for="sort-option-created-ascending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-created-ascending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-desktop"
value="created-ascending"
class="sorting-filter__input"
data-option-name="Date, de la plus ancienne à la plus récente"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Date, de la plus ancienne à la plus récente</span>
</div>
</label>
<label
for="sort-option-created-descending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-created-descending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-desktop"
value="created-descending"
class="sorting-filter__input"
data-option-name="Date, de la plus récente à la plus ancienne"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Date, de la plus récente à la plus ancienne</span>
</div>
</label>
</div>
</floating-panel-component>
</details>
</accordion-custom>
</sorting-filter-component>
</form>
</facets-form-component>
</div>
</div>
<div
class="facets-toggle"
style=" --facets-inner-padding-block: 8px 8px; --facets-inner-padding-inline: var(--padding-lg); --facets-margin: 0px 0px 8px 0px; "
>
<div class="facets-toggle__wrapper">
<button
class="button facets-toggle__button button-unstyled button-unstyled--with-icon"
on:click="#filters-drawer/showDialog"
type="button"
aria-haspopup="dialog"
>
<span class="svg-wrapper">
<svg aria-hidden="true" width="21" height="20" viewbox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg" ><path d="M16.823 6h-12m10 4h-8m2 4h4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" /></svg>
</span>
Filtrer
</button>
</div>
<div class="facets-mobile-wrapper facets-controls-wrapper">
</div>
</div>
<dialog-component
id="filters-drawer"
class="facets-block-wrapper facets-block-wrapper--vertical color-scheme-1"
>
<dialog
ref="dialog"
class="facets facets--drawer dialog-modal drawer dialog-drawer dialog-drawer--right spacing-style"
style="--padding-block-start: 8px;--padding-block-end: 8px;--padding-inline-start: 0px;--padding-inline-end: 0px;"
scroll-lock
aria-labelledby="filters-drawer-heading"
>
<facets-form-component
class="facets__form-wrapper facets-drawer__form-wrapper"
section-id="template--32491494015314__main"
id="FacetFiltersFormComponent--template--32491494015314__main-overflow"
>
<form
action="/collections/massages-soins-saint-quentin"
id="FacetFiltersForm--template--32491494015314__main-overflow"
class="facets__form"
ref="facetsForm"
>
<div
class="facets__title-wrapper"
style="--color-shadow: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));"
>
<h2
id="filters-drawer-heading"
class="facets-drawer__title h3"
>
Filtrer
</h2>
<button
class="facets-drawer__close button-unstyled close-button"
on:click="dialog-component/closeDialog"
type="button"
aria-label="Fermer"
autofocus
>
<span class="svg-wrapper svg-wrapper--small">
<svg aria-hidden="true" width="14" height="14" viewbox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</div>
<scroll-hint
class="facets-drawer__filters"
>
<div class="facets-remove facets-remove--mobile-and-vertical"><h3 class="visually-hidden">Activez des filtres :</h3>
</div>
<div class="facets__filters-wrapper">
</div>
<sorting-filter-component
class="sorting-filter sorting-filter__horizontal"
on:change="/updateFilterAndSorting"
on:keydown="/handleKeyDown"
data-should-use-select-on-mobile="true"
>
<div class="sorting-filter__container desktop:hidden">
<label
for="sort-select-template--32491494015314__main"
class="facets__label"
>Trier</label>
<div class="sorting-filter__select-wrapper">
<select
id="sort-select-template--32491494015314__main"
name="sort_by"
class="sorting-filter__select"
>
<option
value="manual"
selected
>
En vedette
</option>
<option
value="most-relevant"
>
Le plus pertinent
</option>
<option
value="best-selling"
>
Meilleures ventes
</option>
<option
value="title-ascending"
>
Alphabétique, de A à Z
</option>
<option
value="title-descending"
>
Alphabétique, de Z à A
</option>
<option
value="price-ascending"
>
Prix: faible à élevé
</option>
<option
value="price-descending"
>
Prix: élevé à faible
</option>
<option
value="created-ascending"
>
Date, de la plus ancienne à la plus récente
</option>
<option
value="created-descending"
>
Date, de la plus récente à la plus ancienne
</option>
</select>
<svg
aria-hidden="true"
focusable="false"
class="icon icon-caret"
width="8"
height="13"
viewbox="0 0 8 13"
>
<g opacity="0.6">
<path
d="M4.93509 1.08583C4.44566 0.596391 3.65213 0.596391 3.16269 1.08583L0.509308 3.73921C0.215647 4.03287 0.215647 4.50899 0.509308 4.80265C0.802969 5.09631 1.27909 5.09631 1.57275 4.80265L4.04889 2.32651L6.52504 4.80265C6.8187 5.09631 7.29482 5.09631 7.58848 4.80265C7.88214 4.50899 7.88214 4.03287 7.58848 3.73921L4.93509 1.08583Z"
fill="#333030"
/>
<path
d="M7.58848 9.81591L4.93509 12.4693C4.44566 12.9587 3.65213 12.9587 3.16269 12.4693L0.509308 9.81591C0.215647 9.52225 0.215647 9.04613 0.509308 8.75247C0.802969 8.45881 1.27909 8.45881 1.57275 8.75247L4.04889 11.2286L6.52504 8.75247C6.8187 8.45881 7.29482 8.45881 7.58848 8.75247C7.88214 9.04613 7.88214 9.52225 7.58848 9.81591Z"
fill="#333030"
/>
</g></svg>
</div>
</div>
<accordion-custom
data-disable-animation-on-desktop="true"
data-close-with-escape="true"
>
<details
ref="details"
id="Sorting-template--32491494015314__main"
data-default-sort-by="manual"
class="facets__panel mobile:hidden"
data-auto-close-details="desktop,mobile"
on:toggle="/handleToggle"
>
<summary
class="facets__summary"
role="button"
aria-expanded="false"
aria-controls="sorting-options-template--32491494015314__main-overflow"
ref="summary"
>
<span
class="facets__label"
id="sort-label-template--32491494015314__main"
>Trier</span>
<span
class="facets__status h6 desktop:hidden"
>En vedette</span>
<span class="svg-wrapper icon-caret icon-animated"><svg aria-hidden="true" width="14" height="14" viewbox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</summary>
<floating-panel-component
id="sorting-options-template--32491494015314__main-overflow"
class="sorting-filter__options color-scheme-1"
role="listbox"
aria-labelledby="sort-label-template--32491494015314__main"
ref="listbox"
>
<div class="sorting-filter__options-inner">
<label
for="sort-option-manual-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="true"
tabindex="0"
>
<input
type="radio"
name="sort_by"
id="sort-option-manual-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-overflow"
value="manual"
class="sorting-filter__input"
data-option-name="En vedette"
checked
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">En vedette</span>
</div>
</label>
<label
for="sort-option-most-relevant-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-most-relevant-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-overflow"
value="most-relevant"
class="sorting-filter__input"
data-option-name="Le plus pertinent"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Le plus pertinent</span>
</div>
</label>
<label
for="sort-option-best-selling-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-best-selling-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-overflow"
value="best-selling"
class="sorting-filter__input"
data-option-name="Meilleures ventes"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Meilleures ventes</span>
</div>
</label>
<label
for="sort-option-title-ascending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-title-ascending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-overflow"
value="title-ascending"
class="sorting-filter__input"
data-option-name="Alphabétique, de A à Z"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Alphabétique, de A à Z</span>
</div>
</label>
<label
for="sort-option-title-descending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-title-descending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-overflow"
value="title-descending"
class="sorting-filter__input"
data-option-name="Alphabétique, de Z à A"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Alphabétique, de Z à A</span>
</div>
</label>
<label
for="sort-option-price-ascending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-price-ascending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-overflow"
value="price-ascending"
class="sorting-filter__input"
data-option-name="Prix: faible à élevé"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Prix: faible à élevé</span>
</div>
</label>
<label
for="sort-option-price-descending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-price-descending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-overflow"
value="price-descending"
class="sorting-filter__input"
data-option-name="Prix: élevé à faible"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Prix: élevé à faible</span>
</div>
</label>
<label
for="sort-option-created-ascending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-created-ascending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-overflow"
value="created-ascending"
class="sorting-filter__input"
data-option-name="Date, de la plus ancienne à la plus récente"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Date, de la plus ancienne à la plus récente</span>
</div>
</label>
<label
for="sort-option-created-descending-template--32491494015314__main"
>
<div
class="sorting-filter__option"
role="option"
aria-selected="false"
tabindex="-1"
>
<input
type="radio"
name="sort_by"
id="sort-option-created-descending-template--32491494015314__main"
form="FacetFiltersForm--template--32491494015314__main-overflow"
value="created-descending"
class="sorting-filter__input"
data-option-name="Date, de la plus récente à la plus ancienne"
aria-hidden="true"
>
<span class="svg-wrapper icon-checkmark sorting-filter__checkmark"><svg aria-hidden="true" width="20" height="20" viewbox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
<span class="sorting-filter__label">Date, de la plus récente à la plus ancienne</span>
</div>
</label>
</div>
</floating-panel-component>
</details>
</accordion-custom>
</sorting-filter-component>
</scroll-hint>
</form>
</facets-form-component>
<div
class="facets__drawer-actions"
>
<facet-remove-component
data-url="/collections/massages-soins-saint-quentin"
active-class="facets__clear-all--active"
>
<button
type="button"
class="button-secondary facets__clear-all"
ref="clearButton"
on:click="/removeFilter?form=FacetFiltersFormComponent--template--32491494015314__main-overflow"
on:keydown="/removeFilter?form=FacetFiltersFormComponent--template--32491494015314__main-overflow"
>Tout effacer</button>
</facet-remove-component>
<button
class="button facets__see-results"
type="button"
on:click="dialog-component/closeDialog"
>Voir 20 articles</button>
</div>
</dialog>
</dialog-component>
<style data-shopify>
@media screen and (min-width: 750px) {
.product-grid--template--32491494015314__main:is(.product-grid--grid) {
--product-grid-columns-desktop: repeat(auto-fill, minmax(250px, 1fr));
}
/* This logic helps prevent displaying one column for an large or extra-large product card size on a small screen. We want it to display at least two columns. */
/* When zoomed out, fit as many 100px-wide columns as possible */
.product-grid--template--32491494015314__main[product-grid-view='zoom-out'] {
--product-grid-columns-desktop: repeat(auto-fill, minmax(6.25rem, 1fr));
}
.product-grid--template--32491494015314__main[product-grid-view='zoom-out'] .product-grid-view-zoom-out--details {
display: block;
}
.product-grid--template--32491494015314__main[product-grid-view='zoom-out'] .product-grid__card {
padding-inline-start: var(--zoom-out-padding-inline-start, 0);
padding-inline-end: var(--zoom-out-padding-inline-end, 0);
padding-block-start: var(--zoom-out-padding-block-start, 0);
padding-block-end: var(--zoom-out-padding-block-end, 0);
}
}
</style>
<div
id="ResultsList"
class="grid main-collection-grid collection-wrapper--full-width-on-mobile spacing-style"
style=" --grid--margin--mobile: 0 0; --grid-column--desktop: var(--centered); --grid-column--mobile: var(--full-width); --padding-inline-start: 0px; --padding-inline-end: 0px; "
>
<div
style=" grid-column: var(--full-width); --product-grid-gap-mobile: 12px 12px; --product-grid-gap-desktop: 24px 16px; container-type: inline-size; container-name: product-grid; "
>
<span ref="viewMorePrevious"></span>
<ul
class="product-grid product-grid--template--32491494015314__main product-grid--grid"
data-testid="product-grid"
product-grid-view="default"
ref="grid"
role="list"
data-last-page="1"
data-product-card-size="medium"
style="--mobile-columns: 2;"
>
<script>
(() => {
const grid = document.querySelector('.product-grid');
if (!grid) return;
const storedLayoutMobile = sessionStorage.getItem('product-grid-view-mobile') || 'default';
const storedLayoutDesktop = sessionStorage.getItem('product-grid-view-desktop') || 'default';
// No need to read the window width if no custom layouts were saved.
if (storedLayoutMobile === 'default' && storedLayoutDesktop === 'default') return;
const storedLayout = window.innerWidth >= 750 ? storedLayoutDesktop : storedLayoutMobile;
if (storedLayout === 'default') return;
grid.setAttribute('product-grid-view', storedLayout);
const options = document.querySelectorAll(
'input[type="radio"][name="grid"], input[type="radio"][name="grid-mobile"]'
);
for (const option of options) {
option.checked = option.value === storedLayout;
}
})();
</script>
<li
id="template--32491494015314__main-11188346257746"
class="product-grid__item product-grid__item--0"
data-page="1"
data-product-id="11188346257746"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188346257746"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=500"
on:click="/handleViewTransition"
>
<a
id="05ea347b7f21e3c24015451a1b60f3a4"
href="/products/massage-visage-eveil-du-lotus-saint-quentin?variant=54888942403922"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
L'Éveil du Lotus – Massage visage signature 1h
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188346257746"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/massage-visage-eveil-du-lotus-saint-quentin?variant=54888942403922"
aria-label="L'Éveil du Lotus – Massage visage signature 1h"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61034279403858"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61034279403858"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=3840" alt="Massage visage L'Éveil du Lotus à Saint-Quentin, soin signature médaillé de bronze au Championnat de France 2026" srcset="//lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="L'Éveil du Lotus – Massage visage signature 1h"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188346257746"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188346257746-AeDdvdGxpektGZlZyc__card-gallery" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54888942403922"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg?v=1790795403&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188346257746" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">L'Éveil du Lotus – Massage visage signature 1h</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/massage-visage-eveil-du-lotus-saint-quentin?variant=54888942403922"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">L'Éveil du Lotus – Massage visage signature 1h</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm"
data-product-id="11188346257746"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€120,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€120,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188795900242"
class="product-grid__item product-grid__item--1"
data-page="1"
data-product-id="11188795900242"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188795900242"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-1"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=500"
on:click="/handleViewTransition"
>
<a
id="92bb90f635fd5e25d5fdef1ed2e841a0"
href="/products/massage-visage-glow-up-saint-quentin?variant=54890100195666"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Glow Up – Massage visage signature 1h
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-1 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188795900242"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/massage-visage-glow-up-saint-quentin?variant=54890100195666"
aria-label="Glow Up – Massage visage signature 1h"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61034360176978"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61034360176978"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=3840" alt="Soin visage Glow Up à Saint-Quentin, Kobido et drainage, Prix du Public au Championnat de France 2025" srcset="//lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Glow Up – Massage visage signature 1h"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188795900242"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188795900242-AeDdvdGxpektGZlZyc__card-gallery-1" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890100195666"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/glow-up-soin-visage-prix-du-public-saint-quentin.jpg?v=1790795403&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188795900242" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Glow Up – Massage visage signature 1h</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/massage-visage-glow-up-saint-quentin?variant=54890100195666"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-1 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Glow Up – Massage visage signature 1h</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-1"
data-product-id="11188795900242"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€100,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€100,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188795933010"
class="product-grid__item product-grid__item--2"
data-page="1"
data-product-id="11188795933010"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188795933010"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-2"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=500"
on:click="/handleViewTransition"
>
<a
id="3357f5473a23f9b099ddf013a2b2209f"
href="/products/massage-visage-kobido-saint-quentin?variant=54890100228434"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Massage visage 40 min – Kobido, Cryolift ou Ventouses
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-2 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188795933010"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/massage-visage-kobido-saint-quentin?variant=54890100228434"
aria-label="Massage visage 40 min – Kobido, Cryolift ou Ventouses"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61073017667922"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61073017667922"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=3840" alt="Charlotte, facialiste primée, réalisant un massage visage liftant Kobido dans son espace bien-être à Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Massage visage 40 min – Kobido, Cryolift ou Ventouses"
data-quick-add-button="choose"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188795933010"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188795933010-AeDdvdGxpektGZlZyc__card-gallery-2" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890100228434"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/massage-visage-kobido-cryolift-ventouses-saint-quentin.jpg?v=1790866577&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188795933010" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Massage visage 40 min – Kobido, Cryolift ou Ventouses</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/massage-visage-kobido-saint-quentin?variant=54890100228434"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-2 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Massage visage 40 min – Kobido, Cryolift ou Ventouses</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-2"
data-product-id="11188795933010"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€65,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€65,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188795965778"
class="product-grid__item product-grid__item--3"
data-page="1"
data-product-id="11188795965778"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188795965778"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-3"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=500"
on:click="/handleViewTransition"
>
<a
id="70f492bc734bf4b26aa321b706d71b81"
href="/products/maderotherapie-visage-saint-quentin?variant=54890100326738"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Madérothérapie visage 40 min
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-3 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188795965778"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/maderotherapie-visage-saint-quentin?variant=54890100326738"
aria-label="Madérothérapie visage 40 min"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61034294739282"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61034294739282"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=3840" alt="Madérothérapie du visage aux outils en bois dans l'institut de Charlotte à Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Madérothérapie visage 40 min"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188795965778"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188795965778-AeDdvdGxpektGZlZyc__card-gallery-3" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890100326738"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/maderotherapie-visage-outils-bois-saint-quentin.jpg?v=1790795403&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188795965778" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Madérothérapie visage 40 min</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/maderotherapie-visage-saint-quentin?variant=54890100326738"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-3 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Madérothérapie visage 40 min</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-3"
data-product-id="11188795965778"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€65,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€65,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188798062930"
class="product-grid__item product-grid__item--4"
data-page="1"
data-product-id="11188798062930"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188798062930"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-4"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=500"
on:click="/handleViewTransition"
>
<a
id="8009b191b04d680249a6dd2231a6f974"
href="/products/massage-fascias-continuum-saint-quentin?variant=54890106913106"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Continuum – Massage profond des fascias
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-4 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188798062930"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/massage-fascias-continuum-saint-quentin?variant=54890106913106"
aria-label="Continuum – Massage profond des fascias"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61034306568530"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61034306568530"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=3840" alt="Massage des fascias Continuum aux ballons souples à Saint-Quentin, technique transmise par une championne du monde" srcset="//lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Continuum – Massage profond des fascias"
data-quick-add-button="choose"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188798062930"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188798062930-AeDdvdGxpektGZlZyc__card-gallery-4" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890106913106"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/continuum-massage-fascias-ballons-saint-quentin.jpg?v=1790795403&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188798062930" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Continuum – Massage profond des fascias</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/massage-fascias-continuum-saint-quentin?variant=54890106913106"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-4 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Continuum – Massage profond des fascias</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-4"
data-product-id="11188798062930"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€50,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€50,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188797964626"
class="product-grid__item product-grid__item--5"
data-page="1"
data-product-id="11188797964626"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188797964626"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-5"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=500"
on:click="/handleViewTransition"
>
<a
id="a3bb44ece359a9d9d2f94886aa9225d9"
href="/products/massage-corps-complet-saint-quentin?variant=54890105471314"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Voyage des Sens – Massage corps complet 1h
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-5 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188797964626"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/massage-corps-complet-saint-quentin?variant=54890105471314"
aria-label="Voyage des Sens – Massage corps complet 1h"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61048520606034"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61048520606034"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=3840" alt="Voyage des Sens, massage corps complet d'une heure à Saint-Quentin : suédois, thaï ou pierres chaudes" srcset="//lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Voyage des Sens – Massage corps complet 1h"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188797964626"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188797964626-AeDdvdGxpektGZlZyc__card-gallery-5" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890105471314"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/massage-corps-complet-voyage-des-sens-saint-quentin.jpg?v=1790795382&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188797964626" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Voyage des Sens – Massage corps complet 1h</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/massage-corps-complet-saint-quentin?variant=54890105471314"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-5 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Voyage des Sens – Massage corps complet 1h</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-5"
data-product-id="11188797964626"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€75,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€75,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188798980434"
class="product-grid__item product-grid__item--6"
data-page="1"
data-product-id="11188798980434"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188798980434"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-6"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=500"
on:click="/handleViewTransition"
>
<a
id="e0086233357f6f9db460a1091544215a"
href="/products/massage-sur-mesure-instant-zen-saint-quentin?variant=54890117726546"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
L'Instant Zen – Massage sur mesure
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-6 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188798980434"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/massage-sur-mesure-instant-zen-saint-quentin?variant=54890117726546"
aria-label="L'Instant Zen – Massage sur mesure"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61048286806354"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61048286806354"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=3840" alt="L'Instant Zen, massage sur mesure de 30 min à 1h30 à l'institut de Charlotte, Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="L'Instant Zen – Massage sur mesure"
data-quick-add-button="choose"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188798980434"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188798980434-AeDdvdGxpektGZlZyc__card-gallery-6" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890117726546"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/massage-sur-mesure-instant-zen-saint-quentin.jpg?v=1790795382&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188798980434" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">L'Instant Zen – Massage sur mesure</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/massage-sur-mesure-instant-zen-saint-quentin?variant=54890117726546"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-6 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">L'Instant Zen – Massage sur mesure</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-6"
data-product-id="11188798980434"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€40,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€40,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188799013202"
class="product-grid__item product-grid__item--7"
data-page="1"
data-product-id="11188799013202"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188799013202"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-7"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=500"
on:click="/handleViewTransition"
>
<a
id="89178a7b4f3a57c3ee0049f98f07b984"
href="/products/rituel-sacre-ayurvedique-saint-quentin?variant=54890117824850"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Rituel Sacré – Rituel ayurvédique 1h40
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-7 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188799013202"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/rituel-sacre-ayurvedique-saint-quentin?variant=54890117824850"
aria-label="Rituel Sacré – Rituel ayurvédique 1h40"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61057978335570"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61057978335570"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=3840" alt="Rituel Sacré ayurvédique de 1h40 à Saint-Quentin : massage balinais, Shirochampi et points de pression" srcset="//lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Rituel Sacré – Rituel ayurvédique 1h40"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188799013202"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188799013202-AeDdvdGxpektGZlZyc__card-gallery-7" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890117824850"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/rituel-sacre-ayurvedique-massage-balinais-saint-quentin.png?v=1790797990&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188799013202" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Rituel Sacré – Rituel ayurvédique 1h40</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/rituel-sacre-ayurvedique-saint-quentin?variant=54890117824850"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-7 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Rituel Sacré – Rituel ayurvédique 1h40</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-7"
data-product-id="11188799013202"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€130,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€130,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188799078738"
class="product-grid__item product-grid__item--8"
data-page="1"
data-product-id="11188799078738"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188799078738"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-8"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=500"
on:click="/handleViewTransition"
>
<a
id="f317b2a1f9557cbaa604f69686180e92"
href="/products/rituel-serenite-saint-quentin?variant=54890117890386"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Rituel Sérénité 1h20
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-8 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188799078738"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/rituel-serenite-saint-quentin?variant=54890117890386"
aria-label="Rituel Sérénité 1h20"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61058005270866"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61058005270866"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=3840" alt="Rituel Sérénité, massage doux et profond de 1h20 pour femmes à l'institut de Charlotte, Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Rituel Sérénité 1h20"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188799078738"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188799078738-AeDdvdGxpektGZlZyc__card-gallery-8" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890117890386"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/rituel-serenite-massage-relaxant-saint-quentin.png?v=1790797990&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188799078738" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Rituel Sérénité 1h20</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/rituel-serenite-saint-quentin?variant=54890117890386"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-8 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Rituel Sérénité 1h20</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-8"
data-product-id="11188799078738"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€100,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€100,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188799144274"
class="product-grid__item product-grid__item--9"
data-page="1"
data-product-id="11188799144274"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188799144274"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-9"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=500"
on:click="/handleViewTransition"
>
<a
id="15b883049dcf1df3ced0156ba45464c5"
href="/products/rituel-2h-evasion-absolue-saint-quentin?variant=54890117955922"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
2h d'Évasion absolue – Rituel sur mesure
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-9 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188799144274"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/rituel-2h-evasion-absolue-saint-quentin?variant=54890117955922"
aria-label="2h d'Évasion absolue – Rituel sur mesure"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61034314694994"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61034314694994"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=3840" alt="Paysage apaisant d'un lac en Thaïlande avec une barque et des fleurs de lotus, illustrant le voyage sensoriel du Rituel 2h Évasion absolue à l'institut Les Tendances de Charlotte, Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="2h d'Évasion absolue – Rituel sur mesure"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188799144274"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188799144274-AeDdvdGxpektGZlZyc__card-gallery-9" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890117955922"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188799144274" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">2h d'Évasion absolue – Rituel sur mesure</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/rituel-2h-evasion-absolue-saint-quentin?variant=54890117955922"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-9 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">2h d'Évasion absolue – Rituel sur mesure</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-9"
data-product-id="11188799144274"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€145,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€145,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188799045970"
class="product-grid__item product-grid__item--10"
data-page="1"
data-product-id="11188799045970"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188799045970"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-10"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=500"
on:click="/handleViewTransition"
>
<a
id="9ef33deb556d0e44e52c38545de8f480"
href="/products/rituel-harmonie-pieds-cranien-saint-quentin?variant=54890117857618"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Rituel Harmonie 50 min – Pieds et massage crânien
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-10 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188799045970"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/rituel-harmonie-pieds-cranien-saint-quentin?variant=54890117857618"
aria-label="Rituel Harmonie 50 min – Pieds et massage crânien"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61048307253586"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61048307253586"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=3840" alt="Rituel Harmonie à Saint-Quentin : bain de pieds, massage des pieds et massage crânien" srcset="//lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Rituel Harmonie 50 min – Pieds et massage crânien"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188799045970"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188799045970-AeDdvdGxpektGZlZyc__card-gallery-10" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890117857618"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/rituel-harmonie-pieds-cranien-saint-quentin.jpg?v=1790795382&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188799045970" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Rituel Harmonie 50 min – Pieds et massage crânien</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/rituel-harmonie-pieds-cranien-saint-quentin?variant=54890117857618"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-10 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Rituel Harmonie 50 min – Pieds et massage crânien</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-10"
data-product-id="11188799045970"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€70,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€70,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188795998546"
class="product-grid__item product-grid__item--11"
data-page="1"
data-product-id="11188795998546"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188795998546"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-11"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=500"
on:click="/handleViewTransition"
>
<a
id="a4392d11fa27322701f17104079b3b00"
href="/products/massage-cranien-shirochampi-saint-quentin?variant=54890100359506"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Massage crânien Shirochampi 45 min
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-11 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188795998546"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/massage-cranien-shirochampi-saint-quentin?variant=54890100359506"
aria-label="Massage crânien Shirochampi 45 min"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61048245879122"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61048245879122"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=3840" alt="Massage crânien Shirochampi, tête, nuque et épaules, à l'institut de Charlotte à Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Massage crânien Shirochampi 45 min"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188795998546"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188795998546-AeDdvdGxpektGZlZyc__card-gallery-11" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890100359506"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-shirochampi-saint-quentin.jpg?v=1790795381&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188795998546" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Massage crânien Shirochampi 45 min</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/massage-cranien-shirochampi-saint-quentin?variant=54890100359506"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-11 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Massage crânien Shirochampi 45 min</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-11"
data-product-id="11188795998546"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€60,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€60,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188796031314"
class="product-grid__item product-grid__item--12"
data-page="1"
data-product-id="11188796031314"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188796031314"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-12"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=500"
on:click="/handleViewTransition"
>
<a
id="15ff3deaa6dc921d9fec151e198ec194"
href="/products/massage-cranien-ayurvedique-saint-quentin?variant=54890100392274"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Massage crânien ayurvédique 30 min
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-12 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188796031314"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/massage-cranien-ayurvedique-saint-quentin?variant=54890100392274"
aria-label="Massage crânien ayurvédique 30 min"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61048270160210"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61048270160210"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=3840" alt="Massage crânien ayurvédique de 30 minutes à Saint-Quentin, détente du cuir chevelu et des épaules" srcset="//lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Massage crânien ayurvédique 30 min"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188796031314"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188796031314-AeDdvdGxpektGZlZyc__card-gallery-12" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890100392274"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/massage-cranien-ayurvedique-saint-quentin.jpg?v=1790795381&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188796031314" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Massage crânien ayurvédique 30 min</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/massage-cranien-ayurvedique-saint-quentin?variant=54890100392274"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-12 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Massage crânien ayurvédique 30 min</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-12"
data-product-id="11188796031314"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€40,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€40,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188797833554"
class="product-grid__item product-grid__item--13"
data-page="1"
data-product-id="11188797833554"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188797833554"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-13"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=500"
on:click="/handleViewTransition"
>
<a
id="6b26d674c4d17e6b0fb9773f69b9b21f"
href="/products/massage-japonais-pieds-saint-quentin?variant=54890104652114"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Massage japonais des pieds 45 min
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-13 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188797833554"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/massage-japonais-pieds-saint-quentin?variant=54890104652114"
aria-label="Massage japonais des pieds 45 min"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61048280285522"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61048280285522"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=3840" alt="Massage japonais des pieds avec bain relaxant à Saint-Quentin, institut réservé aux femmes" srcset="//lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Massage japonais des pieds 45 min"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188797833554"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188797833554-AeDdvdGxpektGZlZyc__card-gallery-13" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890104652114"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/massage-japonais-pieds-saint-quentin.jpg?v=1790795382&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188797833554" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Massage japonais des pieds 45 min</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/massage-japonais-pieds-saint-quentin?variant=54890104652114"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-13 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Massage japonais des pieds 45 min</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-13"
data-product-id="11188797833554"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€60,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€60,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188797866322"
class="product-grid__item product-grid__item--14"
data-page="1"
data-product-id="11188797866322"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188797866322"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-14"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=500"
on:click="/handleViewTransition"
>
<a
id="ffd47fdeaac9cacf4dd691f81c32ccc9"
href="/products/drainage-lymphatique-saint-quentin?variant=54890104684882"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Drainage lymphatique 1h – Jambes ou ventre
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-14 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188797866322"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/drainage-lymphatique-saint-quentin?variant=54890104684882"
aria-label="Drainage lymphatique 1h – Jambes ou ventre"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61034298999122"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61034298999122"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=3840" alt="Drainage lymphatique manuel des jambes ou du ventre à l'institut de Charlotte, Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Drainage lymphatique 1h – Jambes ou ventre"
data-quick-add-button="choose"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188797866322"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188797866322-AeDdvdGxpektGZlZyc__card-gallery-14" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890104684882"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/drainage-lymphatique-manuel-institut-saint-quentin.jpg?v=1790795403&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188797866322" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Drainage lymphatique 1h – Jambes ou ventre</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/drainage-lymphatique-saint-quentin?variant=54890104684882"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-14 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Drainage lymphatique 1h – Jambes ou ventre</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-14"
data-product-id="11188797866322"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€90,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€90,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188797997394"
class="product-grid__item product-grid__item--15"
data-page="1"
data-product-id="11188797997394"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188797997394"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-15"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=500"
on:click="/handleViewTransition"
>
<a
id="4c9b142bd930dc4ce04e982dc888058c"
href="/products/massage-femme-enceinte-saint-quentin?variant=54890105504082"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
En attendant bébé – Massage femme enceinte 1h
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-15 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188797997394"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/massage-femme-enceinte-saint-quentin?variant=54890105504082"
aria-label="En attendant bébé – Massage femme enceinte 1h"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61034302832978"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61034302832978"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=3840" alt="Massage femme enceinte en position latérale, soin En attendant bébé à Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="En attendant bébé – Massage femme enceinte 1h"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188797997394"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188797997394-AeDdvdGxpektGZlZyc__card-gallery-15" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890105504082"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/massage-grossesse-en-attendant-bebe-saint-quentin.jpg?v=1790795403&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188797997394" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">En attendant bébé – Massage femme enceinte 1h</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/massage-femme-enceinte-saint-quentin?variant=54890105504082"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-15 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">En attendant bébé – Massage femme enceinte 1h</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-15"
data-product-id="11188797997394"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€80,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€80,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188799897938"
class="product-grid__item product-grid__item--16"
data-page="1"
data-product-id="11188799897938"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188799897938"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-16"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=500"
on:click="/handleViewTransition"
>
<a
id="cefcbb077e10be306bc41e5774a8a8ae"
href="/products/rehaussement-cils-coreen-saint-quentin?variant=54890120872274"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Rehaussement de cils coréen
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-16 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188799897938"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/rehaussement-cils-coreen-saint-quentin?variant=54890120872274"
aria-label="Rehaussement de cils coréen"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61048330060114"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61048330060114"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=3840" alt="Rehaussement de cils coréen à Saint-Quentin, regard ouvert et naturel sans extensions" srcset="//lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Rehaussement de cils coréen"
data-quick-add-button="choose"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188799897938"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188799897938-AeDdvdGxpektGZlZyc__card-gallery-16" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890120872274"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/rehaussement-cils-coreen-saint-quentin.jpg?v=1790795382&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188799897938" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Rehaussement de cils coréen</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/rehaussement-cils-coreen-saint-quentin?variant=54890120872274"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-16 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Rehaussement de cils coréen</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-16"
data-product-id="11188799897938"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€65,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€65,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188799963474"
class="product-grid__item product-grid__item--17"
data-page="1"
data-product-id="11188799963474"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188799963474"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-17"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=500"
on:click="/handleViewTransition"
>
<a
id="8da4fdecead90cbf567f794ff3c07a67"
href="/products/soin-anti-callosites-pieds-saint-quentin?variant=54890120970578"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Soin anti-callosités des pieds 30 min
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-17 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188799963474"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/soin-anti-callosites-pieds-saint-quentin?variant=54890120970578"
aria-label="Soin anti-callosités des pieds 30 min"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61048336286034"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61048336286034"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=3840" alt="Soin anti-callosités des pieds à Saint-Quentin, technique douce sans produits agressifs" srcset="//lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Soin anti-callosités des pieds 30 min"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188799963474"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188799963474-AeDdvdGxpektGZlZyc__card-gallery-17" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890120970578"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/soin-anti-callosites-pieds-saint-quentin.jpg?v=1790795382&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188799963474" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Soin anti-callosités des pieds 30 min</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/soin-anti-callosites-pieds-saint-quentin?variant=54890120970578"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-17 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Soin anti-callosités des pieds 30 min</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-17"
data-product-id="11188799963474"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€30,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€30,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11188799865170"
class="product-grid__item product-grid__item--18"
data-page="1"
data-product-id="11188799865170"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11188799865170"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-18"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=500"
on:click="/handleViewTransition"
>
<a
id="e966e49c992d1322e787ff9e40e4c827"
href="/products/soin-enfant-jolie-mome-saint-quentin?variant=54890120839506"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Rituel Jolie Môme – Massage enfant 30 min
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-18 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0; "
data-product-id="11188799865170"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/soin-enfant-jolie-mome-saint-quentin?variant=54890120839506"
aria-label="Rituel Jolie Môme – Massage enfant 30 min"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61048320065874"
>
<div
class="product-media"
style="--ratio: 1.0"
data-media-id="61048320065874"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=3840" alt="Rituel Jolie Môme, soin bien-être pour enfant dès 5 ans à Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=3840 3840w" width="3840" height="3840" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Rituel Jolie Môme – Massage enfant 30 min"
data-quick-add-button="add"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11188799865170"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11188799865170-AeDdvdGxpektGZlZyc__card-gallery-18" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54890120839506"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/soin-enfant-jolie-mome-saint-quentin.jpg?v=1790795382&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11188799865170" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Rituel Jolie Môme – Massage enfant 30 min</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/soin-enfant-jolie-mome-saint-quentin?variant=54890120839506"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-18 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Rituel Jolie Môme – Massage enfant 30 min</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-18"
data-product-id="11188799865170"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€39,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€39,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
<li
id="template--32491494015314__main-11189994455378"
class="product-grid__item product-grid__item--19"
data-page="1"
data-product-id="11189994455378"
ref="cards[]"
>
<style data-shopify>
</style>
<product-card
class="product-card size-style"
style="--size-style-width: ;--size-style-height: ;"
data-product-id="11189994455378"
id="product-card-AUkRKU1o2eWFmYXJMZ__product-card-19"
data-product-transition="true"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=500"
on:click="/handleViewTransition"
>
<a
id="03d05edf654cdf1fb5796d5c647dabab"
href="/products/carte-cadeau-massage-saint-quentin?variant=54896088449362"
class="product-card__link"
ref="productCardLink"
>
<span class="visually-hidden">
Carte cadeau massage & soins à Saint-Quentin
</span>
</a>
<div
class="product-card__content layout-panel-flex layout-panel-flex--column product-grid__card spacing-style border-style gap-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--horizontal-alignment: ; --vertical-alignment: ;--vertical-alignment-mobile: ; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --product-card-gap: 4px; --quick-add-display: flex; --quick-add-mobile-display: none; --quick-add-mobile-opacity: 0; "
>
<div
ref="cardGallery"
class="card-gallery card-gallery-AeDdvdGxpektGZlZyc__card-gallery-19 spacing-style border-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --gallery-aspect-ratio: 1.0263929618768328; "
data-product-id="11189994455378"
on:pointerenter="/previewImage"
on:pointerleave="/resetImage"
data-view-transition-to-main-product
data-image-ratio="adapt"
>
<a
class="contents"
ref="cardGalleryLink"
href="/products/carte-cadeau-massage-saint-quentin?variant=54896088449362"
aria-label="Carte cadeau massage & soins à Saint-Quentin"
>
<slideshow-component
ref="slideshow"
style="--slideshow-timeline: --slide-0;--slide-min-height: auto;--slide-min-height-desktop: auto;"
initial-slide="0"
infinite
data-generic-media-size="1"
>
<slideshow-container ref="slideshowContainer">
<slideshow-slides
tabindex="-1"
ref="scroller"
>
<slideshow-slide
ref="slides[]"
aria-hidden="false"
style="--slideshow-timeline: --slide-0; --product-media-fit: cover; --grid-template-rows: 50dvh 1fr; --grid-template-rows-desktop: 70dvh 1fr;"
class="product-media-container media-fit product-media-container--image"
slide-id="61048087707986"
>
<div
class="product-media"
style="--ratio: 1.0263929618768328"
data-media-id="61048087707986"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=3840" alt="Carte cadeau massage et soin visage à offrir, institut de Charlotte à Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=1200 1200w, //lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=1600 1600w, //lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=1920 1920w, //lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=2560 2560w, //lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=3840 3840w" width="3840" height="3741" loading="eager" sizes="(min-width: 1862px) 14vw, (min-width: 1596px) 16vw, (min-width: 1330px) 20vw, (min-width: 1064px) 25vw, (min-width: 798px) 33vw, (min-width: 750px) 50vw, 100vw" class="product-media__image" data_max_resolution="//lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=3840" fetchpriority="auto" style="--focal-point: 50.0% 50.0%;">
</div>
</slideshow-slide>
</slideshow-slides>
</slideshow-container>
</slideshow-component>
</a>
<div
class="product-badges product-badges--top-right"
style=" --badge-border-radius: 2px; --badge-font-family: var(--font-body--family); --badge-font-weight: var(--font-body--weight); --badge-text-transform: none; "
></div>
<quick-add-component
class="quick-add color-scheme-1"
ref="quickAdd"
data-product-title="Carte cadeau massage & soins à Saint-Quentin"
data-quick-add-button="choose"
data-product-options-count="1"
>
<product-form-component
data-section-id="template--32491494015314__main"
data-product-id="11189994455378"
on:submit="/handleSubmit"
class="quick-add__product-form-component"
>
<div
class="visually-hidden"
aria-live="assertive"
role="status"
aria-atomic="true"
ref="liveRegion"
></div><form method="post" action="/cart/add" id="QuickAdd-ProductForm-11189994455378-AeDdvdGxpektGZlZyc__card-gallery-19" accept-charset="UTF-8" class="shopify-product-form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" /><input
type="hidden"
name="id"
ref="variantId"
value="54896088449362"
>
<input
type="hidden"
name="quantity"
value="1"
>
<add-to-cart-component
ref="addToCartButtonContainer"
data-product-variant-media="//lestendancesdecharlotte.com/cdn/shop/files/carte-cadeau-massage-saint-quentin.jpg?v=1790795382&width=100"
data-add-to-cart-animation="true"
>
<button
type="submit"
name="add"
ref="addToCartButton"
on:click="/handleClick"
class="button button quick-add__button quick-add__button--add add-to-cart-button"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>Ajouter</span>
</span>
</span>
</span>
<span class="add-to-cart__added">
<span class="svg-wrapper add-to-cart__added-icon"><svg aria-hidden="true" class="checkmark-burst" viewbox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g class="check">
<circle class="ring" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
<path class="tick" d="M9 12.75L11.25 15L15 9.75" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
</g>
<g class="burst">
<g style="--index: 0;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 1;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 2;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 3;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 4;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 5;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 6;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
<g style="--index: 7;">
<line class="line" stroke-linecap="round" pathlength="1" x1="12" y1="8.5" x2="12" y2="15.5" stroke="currentColor"/>
</g>
</g>
</svg>
</span>
</span>
</button>
</add-to-cart-component>
<button
class="button quick-add__button quick-add__button--choose add-to-cart-button"
type="button"
name="add"
on:click="quick-add-component/handleClick"
>
<span
class="add-to-cart-text"
>
<span
aria-hidden="true"
class="svg-wrapper add-to-cart-icon"
><svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M16.608 9.421V6.906H3.392v8.016c0 .567.224 1.112.624 1.513.4.402.941.627 1.506.627H8.63M8.818 3h2.333c.618 0 1.212.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.344c0-.622.246-1.218.683-1.658A2.33 2.33 0 0 1 8.82 3"/><path stroke="currentColor" stroke-linecap="round" stroke-width="var(--icon-stroke-width)" d="M14.608 12.563v5m2.5-2.5h-5"/></svg>
</span>
<span class="add-to-cart-text__content is-visually-hidden-mobile">
<span>
<span>
Choisir
</span>
</span>
</span>
</span>
</button><input type="hidden" name="product-id" value="11189994455378" /><input type="hidden" name="section-id" value="template--32491494015314__main" /></form></product-form-component>
</quick-add-component>
</div>
<div class="product-grid-view-zoom-out--details">
<h3 class="h4">Carte cadeau massage & soins à Saint-Quentin</h3>
</div>
<a
class="contents user-select-text"
ref="productTitleLink"
href="/products/carte-cadeau-massage-saint-quentin?variant=54896088449362"
>
<div class="spacing-style text-block text-block--AWktYS2NSazZqc3lnT__product_title_4nY4eT-19 custom text-block--align-left custom-typography custom-font-size custom-color" style=" --padding-block-start: 4px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground-heading);--font-size: 1rem; --font-weight: var(--font-body--weight);--font-family: var(--font-body--family); --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-normal); --letter-spacing: var(--letter-spacing--body-normal); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: left; ">
<p role="heading" aria-level="3">Carte cadeau massage & soins à Saint-Quentin</p>
</div>
</a>
<product-price
class="text-block text-block--align-left text-left h6 spacing-style"
data-block-id="AUW91Ly8wQUdUV21xM__price_EzJzMm-19"
data-product-id="11189994455378"
style=" --color: var(--color-foreground); --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --width: 100%; "
>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€30,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€30,00</span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
</div>
</div>
</product-price>
</div>
</product-card>
</li>
</ul>
<span ref="viewMoreNext"></span>
</div>
</div>
</div>
</results-list>
</div><section id="shopify-section-template--32491494015314__ltc_texte_bas" class="shopify-section"><div class="ltc-bas">
<style>.ltc-favorites-trigger { bottom: 82px !important; }</style>
<section class="cm-faq" aria-labelledby="cm-faq-titre">
<h2 id="cm-faq-titre">Questions fréquentes sur mes massages à Saint-Quentin</h2>
<details><summary>Où se trouve votre institut ?</summary><p>Au 14 rue Saint-André, 02100 Saint-Quentin, dans mon institut en plein centre-ville : à 100 m de l'hôtel de ville et à 200 m de la basilique, à environ 1 km de la gare.</p></details>
<details><summary>Vos massages sont-ils ouverts à tout le monde ?</summary><p>Mon institut est réservé aux femmes. Seule exception : le <a href="/products/soin-enfant-jolie-mome-saint-quentin">Rituel Jolie Môme</a>, ouvert aux petites filles comme aux petits garçons dès 5 ans, obligatoirement accompagnés d'un adulte.</p></details>
<details><summary>Quels sont vos horaires ?</summary><p>Je vous reçois du mardi au samedi, de 10 h à 19 h, uniquement sur rendez-vous.</p></details>
<details><summary>Comment réserver un massage ?</summary><p>Ouvrez la fiche du massage qui vous tente et cliquez sur « Prendre rendez-vous » : vous arrivez directement sur mon agenda en ligne, vous choisissez votre créneau, et la confirmation est immédiate.</p></details>
<details><summary>Que se passe-t-il si je dois annuler ou reporter ?</summary><p>Un rendez-vous est un engagement mutuel. Toute annulation ou tout report à moins de 48 heures du rendez-vous, ainsi que les reports répétés, entraînent la perte de l'acompte de 30 % (ou de 30 % de la carte cadeau utilisée).</p></details>
<details><summary>Proposez-vous des cartes cadeaux ?</summary><p>Oui, de 30 € à 150 €, valables 6 mois sur tous mes massages. Choisissez le montant sur <a href="/products/carte-cadeau-massage-saint-quentin">la page cartes cadeaux</a>, ou offrez un massage précis grâce au bouton « Offrir en carte cadeau » de chaque fiche.</p></details>
<details><summary>Quel massage choisir pour une première fois ?</summary><p>Pour le corps, le <a href="/products/massage-corps-complet-saint-quentin">Voyage des Sens</a> ou <a href="/products/massage-sur-mesure-instant-zen-saint-quentin">L'Instant Zen</a> : je vous oriente vers la technique la plus adaptée à votre état du jour. Pour le visage, <a href="/products/massage-visage-glow-up-saint-quentin">Glow Up</a> et <a href="/products/massage-visage-eveil-du-lotus-saint-quentin">L'Éveil du Lotus</a>, mes deux massages primés au Championnat de France.</p></details>
<details><summary>Peut-on se faire masser pendant la grossesse ?</summary><p>Oui, avec <a href="/products/massage-femme-enceinte-saint-quentin">En attendant bébé</a>, réalisé en position latérale. Ce massage de bien-être ne remplace pas le suivi médical : en cas de doute, demandez l'avis de votre sage-femme ou de votre médecin avant de réserver.</p></details>
<details><summary>Peut-on prolonger son massage ?</summary><p>Oui, avec une prestation bonus à 15 € : sauna japonais, 10 minutes de LED, massage de 10 minutes ou soin anti-callosités des pieds. Envoyez-moi un SMS au <a href="tel:+33652542420">06 52 54 24 20</a> après votre réservation pour l'ajouter.</p></details>
</section>
<h2>Massage bien-être à Saint-Quentin : le corps et le visage entre des mains expertes</h2>
<p>Envie d'un vrai moment pour vous, en plein centre de Saint-Quentin ? Mon institut, rue Saint-André, vous accueille du mardi au samedi pour des massages bien-être entièrement adaptés à votre état du jour. Que vous veniez du centre-ville, de Gauchy, de Harly, de Fayet ou de tout le Saint-Quentinois, chaque séance commence par un échange pour choisir la technique, la pression et le rythme qui vous conviennent.</p>
<h3>Des massages du corps pour relâcher les tensions</h3>
<p>Le <a href="/products/massage-corps-complet-saint-quentin">Voyage des Sens</a> vous fait découvrir le massage suédois, thaï, balinais, aux pierres chaudes ou ayurvédique, selon vos envies. Pour un travail plus profond, le <a href="/products/massage-fascias-continuum-saint-quentin">massage des fascias Continuum</a>, que j'ai appris auprès d'une championne du monde, aide à retrouver mobilité et légèreté. Le <a href="/products/drainage-lymphatique-saint-quentin">drainage lymphatique manuel</a> des jambes ou du ventre apporte une agréable sensation de légèreté, et <a href="/products/massage-sur-mesure-instant-zen-saint-quentin">L'Instant Zen</a> se compose sur mesure, de 30 minutes à 1h30.</p>
<h3>Une facialiste primée pour vos massages du visage</h3>
<p>Facialiste, j'ai créé deux massages du visage récompensés au Championnat de France : <a href="/products/massage-visage-eveil-du-lotus-saint-quentin">L'Éveil du Lotus</a>, médaille de bronze 2026, et <a href="/products/massage-visage-glow-up-saint-quentin">Glow Up</a>, Prix du Public 2025. Vous pouvez aussi découvrir le <a href="/products/massage-visage-kobido-saint-quentin">Kobido</a>, le massage liftant japonais, le Cryolift, les ventouses ou la <a href="/products/maderotherapie-visage-saint-quentin">madérothérapie</a>, en séance de 40 minutes.</p>
<h3>Massages ciblés, rituels et moments à part</h3>
<p>Pour une pause plus courte, le <a href="/products/massage-cranien-shirochampi-saint-quentin">massage crânien Shirochampi</a> et le <a href="/products/massage-japonais-pieds-saint-quentin">massage japonais des pieds</a> apaisent en moins d'une heure. Les rituels, du <a href="/products/rituel-sacre-ayurvedique-saint-quentin">Rituel Sacré</a> ayurvédique aux <a href="/products/rituel-2h-evasion-absolue-saint-quentin">2h d'Évasion absolue</a>, offrent une parenthèse complète. Les futures mamans profitent d'un <a href="/products/massage-femme-enceinte-saint-quentin">massage femme enceinte</a> en position latérale, et les enfants dès 5 ans d'un premier rituel tout en douceur.</p>
<h3>Un institut réservé aux femmes, au cœur de Saint-Quentin</h3>
<p>Mon institut est réservé aux femmes, pour que chacune se sente en confiance (seul le Rituel Jolie Môme accueille aussi les petits garçons). Il se trouve dans ma bijouterie, au 14 rue Saint-André, entre la basilique et l'hôtel de ville. La réservation se fait en ligne depuis chaque fiche, et vous pouvez aussi offrir un massage grâce aux <a href="/products/carte-cadeau-massage-saint-quentin">cartes cadeaux</a>.</p>
<p class="ltc-mention">Massages de bien-être et de relaxation, à visée non thérapeutique et non médicale.</p>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"DaySpa","@id":"https://lestendancesdecharlotte.com/collections/massages-soins-saint-quentin#institut","name":"Charlotte Bijoux, concept Store et massages","description":"Institut de Charlotte, facialiste à Saint-Quentin, réservé aux femmes : massages du corps et du visage, massages visage primés au Championnat de France, rituels sur mesure.","url":"https://lestendancesdecharlotte.com/collections/massages-soins-saint-quentin","image":"https://cdn.shopify.com/s/files/1/1071/4831/2914/files/eveil-du-lotus-massage-visage-medaille-saint-quentin.jpg","telephone":"+33652542420","priceRange":"30 € - 150 €","address":{"@type":"PostalAddress","streetAddress":"14 rue Saint-André","addressLocality":"Saint-Quentin","postalCode":"02100","addressRegion":"Hauts-de-France","addressCountry":"FR"},"geo":{"@type":"GeoCoordinates","latitude":49.84721,"longitude":3.28824},"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Tuesday","Wednesday","Thursday","Friday","Saturday"],"opens":"10:00","closes":"19:00"}],"award":["Médaille de bronze au Championnat de France de Massage Visage 2026 (L'Éveil du Lotus)","Prix du Public au Championnat de France de Massage Visage 2025 (Glow Up)"],"potentialAction":{"@type":"ReserveAction","target":"https://app.acuityscheduling.com/schedule/90276b39"},"hasOfferCatalog":{"@type":"OfferCatalog","name":"Massages","itemListElement":[{"@type":"Offer","price":"120.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"L'Éveil du Lotus, massage visage signature 1h","url":"https://lestendancesdecharlotte.com/products/massage-visage-eveil-du-lotus-saint-quentin"}},{"@type":"Offer","price":"100.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"Glow Up, massage visage signature 1h","url":"https://lestendancesdecharlotte.com/products/massage-visage-glow-up-saint-quentin"}},{"@type":"Offer","price":"65.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"Massage visage 40 min : Kobido, Cryolift ou Ventouses","url":"https://lestendancesdecharlotte.com/products/massage-visage-kobido-saint-quentin"}},{"@type":"Offer","price":"65.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"Madérothérapie visage 40 min","url":"https://lestendancesdecharlotte.com/products/maderotherapie-visage-saint-quentin"}},{"@type":"Offer","price":"50.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"Continuum, massage profond des fascias","url":"https://lestendancesdecharlotte.com/products/massage-fascias-continuum-saint-quentin"}},{"@type":"Offer","price":"75.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"Voyage des Sens, massage corps complet 1h","url":"https://lestendancesdecharlotte.com/products/massage-corps-complet-saint-quentin"}},{"@type":"Offer","price":"80.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"En attendant bébé, massage femme enceinte 1h","url":"https://lestendancesdecharlotte.com/products/massage-femme-enceinte-saint-quentin"}},{"@type":"Offer","price":"60.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"Massage crânien Shirochampi 45 min","url":"https://lestendancesdecharlotte.com/products/massage-cranien-shirochampi-saint-quentin"}},{"@type":"Offer","price":"60.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"Massage japonais des pieds 45 min","url":"https://lestendancesdecharlotte.com/products/massage-japonais-pieds-saint-quentin"}},{"@type":"Offer","price":"90.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"Drainage lymphatique 1h, jambes ou ventre","url":"https://lestendancesdecharlotte.com/products/drainage-lymphatique-saint-quentin"}},{"@type":"Offer","price":"130.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"Rituel Sacré, rituel ayurvédique 1h40","url":"https://lestendancesdecharlotte.com/products/rituel-sacre-ayurvedique-saint-quentin"}},{"@type":"Offer","price":"145.00","priceCurrency":"EUR","itemOffered":{"@type":"Service","name":"2h d'Évasion absolue, rituel sur mesure","url":"https://lestendancesdecharlotte.com/products/rituel-2h-evasion-absolue-saint-quentin"}}]}}</script>
<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Où se trouve votre institut ?","acceptedAnswer":{"@type":"Answer","text":"Au 14 rue Saint-André, 02100 Saint-Quentin, en plein centre-ville : à 100 m de l'hôtel de ville et à 200 m de la basilique, à environ 1 km de la gare."}},{"@type":"Question","name":"Vos massages sont-ils ouverts à tout le monde ?","acceptedAnswer":{"@type":"Answer","text":"L'institut de Charlotte est réservé aux femmes, à l'exception du Rituel Jolie Môme, ouvert aux enfants dès 5 ans obligatoirement accompagnés d'un adulte."}},{"@type":"Question","name":"Quels sont vos horaires ?","acceptedAnswer":{"@type":"Answer","text":"Du mardi au samedi, de 10 h à 19 h, uniquement sur rendez-vous."}},{"@type":"Question","name":"Comment réserver un massage ?","acceptedAnswer":{"@type":"Answer","text":"Depuis la fiche du massage choisi, le bouton Prendre rendez-vous mène directement à l'agenda en ligne : choix du créneau et confirmation immédiate."}},{"@type":"Question","name":"Que se passe-t-il si je dois annuler ou reporter ?","acceptedAnswer":{"@type":"Answer","text":"Toute annulation ou tout report à moins de 48 heures du rendez-vous, ainsi que les reports répétés, entraînent la perte de l'acompte de 30 % (ou de 30 % de la carte cadeau utilisée)."}},{"@type":"Question","name":"Proposez-vous des cartes cadeaux ?","acceptedAnswer":{"@type":"Answer","text":"Oui, de 30 € à 150 €, valables 6 mois sur tous les massages, à acheter en ligne sur la page cartes cadeaux du site ou depuis la fiche de chaque massage."}},{"@type":"Question","name":"Quel massage choisir pour une première fois ?","acceptedAnswer":{"@type":"Answer","text":"Pour le corps, le Voyage des Sens ou L'Instant Zen, adaptés à votre état du jour. Pour le visage, Glow Up et L'Éveil du Lotus, les deux massages primés au Championnat de France."}},{"@type":"Question","name":"Peut-on se faire masser pendant la grossesse ?","acceptedAnswer":{"@type":"Answer","text":"Oui, avec En attendant bébé, en position latérale. Ce massage de bien-être ne remplace pas le suivi médical : en cas de doute, demandez l'avis de votre sage-femme ou de votre médecin."}},{"@type":"Question","name":"Peut-on prolonger son massage ?","acceptedAnswer":{"@type":"Answer","text":"Oui, avec une prestation bonus à 15 € (sauna japonais, LED, massage de 10 minutes ou soin anti-callosités), à demander par SMS au 06 52 54 24 20 après la réservation."}}]}</script>
</div>
<style>
.ltc-bas { max-width: 46rem; margin: 3rem auto; padding: 0 1.25rem; line-height: 1.7; }
.ltc-bas h2 { margin: 2.5rem 0 1rem; }
.ltc-bas h3 { margin: 1.75rem 0 0.5rem; }
.ltc-bas ul { padding-left: 1.25rem; }
.ltc-bas li { margin-bottom: 0.4rem; }
.ltc-bas .cm-faq details { border-top: 1px solid rgba(0, 0, 0, 0.15); }
.ltc-bas .cm-faq details:last-of-type { border-bottom: 1px solid rgba(0, 0, 0, 0.15); }
.ltc-bas .cm-faq summary { cursor: pointer; padding: 1rem 2rem 1rem 0; font-weight: 600; list-style: none; position: relative; }
.ltc-bas .cm-faq summary::-webkit-details-marker { display: none; }
.ltc-bas .cm-faq summary::after { content: "+"; position: absolute; right: 0.25rem; top: 50%; transform: translateY(-50%); font-weight: 400; font-size: 1.25em; }
.ltc-bas .cm-faq details[open] summary::after { content: "–"; }
.ltc-bas .cm-faq summary:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.ltc-bas .cm-faq details p { margin: 0 0 1.25rem; }
.ltc-bas .ltc-mention { font-size: 0.875em; opacity: 0.75; }
</style>
</section>
</main>
<footer>
<!-- BEGIN sections: footer-group -->
<div id="shopify-section-sections--32491489231186__section_YLqTYn" class="shopify-section shopify-section-group-footer-group section-wrapper">
<div class="section-background color-scheme-1"></div>
<div
class="section section--page-width color-scheme-1"
data-testid="ui-test-section"
style=" "
>
<div class="custom-section-background">
</div>
<div
class="border-style custom-section-content"
style="--border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; "
>
<div
class="spacing-style layout-panel-flex layout-panel-flex--column section-content-wrapper mobile-column"
style=" --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--gap: 16px;--horizontal-alignment: center; --vertical-alignment: center;--vertical-alignment-mobile: center; --padding-block-start: max(20px, calc(var(--spacing-scale) * 40px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 40px)); "
data-testid="section-content"
>
<rte-formatter class="spacing-style text-block text-block--AdHQ3YlRraDNNeXpxK__text_iejqUW rte text-block--align-center rte" style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --width: 100%; --max-width: var(--max-width--body-normal); --text-align: center; ">
<h2>Recevez l'inspiration Zag </h2>
</rte-formatter>
<rte-formatter class="spacing-style text-block text-block--AQkVPeTQ0Y1k5cVJ1d__text_rbV9dT paragraph text-block--align-center rte" style=" --padding-block-start: 0px; --padding-block-end:0px; --padding-inline-start:0px; --padding-inline-end:0px; --color: var(--color-foreground); --width: 100%; --max-width: var(--max-width--body-normal); --text-align: center; ">
<p>Soyez les premiers informés des nouvelles collections et des offres spéciales. </p>
</rte-formatter>
<div
class="email-signup-block size-style spacing-style"
style="--size-style-width:50%;--size-style-height: ;--padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;"
>
<form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="email-signup__form spacing-style"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
<div
class="email-signup__input-group email-signup__input-group--integrated email-signup__input-group--arrow"
style="--border-width: 1px; --border-radius: 100px;"
>
<label
for="EmailInput-Ad1pzNHYxeVViY08wc__email_signup_Hc9BQC"
class="visually-hidden"
>
E-mail
</label>
<input
id="EmailInput-Ad1pzNHYxeVViY08wc__email_signup_Hc9BQC"
class="email-signup__input email-signup__input--all paragraph"
type="email"
name="contact[email]"
autocorrect="off"
autocapitalize="off"
autocomplete="email"
placeholder="Adresse e-mail"
required
>
<button
class="email-signup__button email-signup__button--integrated email-signup__button--arrow paragraph button-unstyled button-unstyled--Ad1pzNHYxeVViY08wc__email_signup_Hc9BQC"
aria-label="S’inscrire"
>
<svg
viewbox="0 0 20 20"
xmlns="http://www.w3.org/2000/svg"
focusable="false"
aria-hidden="true"
class="email-signup__button-icon"
>
<path
clip-rule="evenodd"
d="m11.246 5.31759c.0322-.07821.0833-.14723.1486-.20093.0654-.0537.143-.09041.2259-.10686.083-.01645.1688-.01214.2497.01257.0808.0247.1544.06902.214.12902l4.104 4.104c.0478.04765.0857.10426.1115.16659.0259.06232.0392.12913.0392.19661 0 .06747-.0133.13429-.0392.19661-.0258.06233-.0637.11893-.1115.16659l-4.104 4.10401c-.0963.0963-.227.1504-.3632.1504s-.2669-.0541-.3632-.1504-.1504-.227-.1504-.3632.0541-.2669.1504-.3632l3.2288-3.2278h-11.0736c-.13606 0-.26654-.0541-.36275-.15027-.0962-.0962-.15025-.22669-.15025-.36274 0-.13606.05405-.26654.15025-.36275.09621-.0962.22669-.15025.36275-.15025h11.0736l-3.2288-3.2278c-.0721-.07178-.1212-.16335-.1411-.2631s-.0097-.20316.0293-.2971z"
fill="currentColor"
fill-rule="evenodd"
/>
</svg>
</button>
</div></form>
</div>
<div id="shopify-block-ARUFKMzJVN1hvYmdla__icon_P8aLbm" class="shopify-block icon-block">
<a
href="https://www.instagram.com/charlotte_massages02/"
class="text-inherit"
target="_blank" rel="noopener"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/instagram.jpg?v=1778061331&width=1200" alt="Instagram de Charlotte Massages à Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/instagram.jpg?v=1778061331&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/instagram.jpg?v=1778061331&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/instagram.jpg?v=1778061331&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/instagram.jpg?v=1778061331&width=1200 1200w" width="1200" height="1200" class="icon-block__media icon-block-ARUFKMzJVN1hvYmdla__icon_P8aLbm" style="width: 66px;" sizes="(min-width: 1024px) 1024px, 100vw, 100vw">
</a>
</div>
<div id="shopify-block-AbEJ5S2xjcEYvMmYzd__icon_bg4HYb" class="shopify-block icon-block">
<a
href="https://www.facebook.com/CharlotteBijouxStQuentin/?locale=fr_FR"
class="text-inherit"
target="_blank" rel="noopener"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/Facebook_Logo_2023.png?v=1778061044&width=1200" alt="Facebook de Charlotte Bijoux Concept Store Massage" srcset="//lestendancesdecharlotte.com/cdn/shop/files/Facebook_Logo_2023.png?v=1778061044&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/Facebook_Logo_2023.png?v=1778061044&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/Facebook_Logo_2023.png?v=1778061044&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/Facebook_Logo_2023.png?v=1778061044&width=1200 1200w" width="1200" height="1200" class="icon-block__media icon-block-AbEJ5S2xjcEYvMmYzd__icon_bg4HYb" style="width: 66px;" sizes="(min-width: 1024px) 1024px, 100vw, 100vw">
</a>
</div>
<div id="shopify-block-AUDRnRW9lOGNCWHZqV__icon_WqFtFE" class="shopify-block icon-block">
<a
href="https://www.tiktok.com/@charlottesaintquentin"
class="text-inherit"
target="_blank" rel="noopener"
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/tiktok.avif?v=1778061515&width=1200" alt="TikTok de Charlotte à Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/tiktok.avif?v=1778061515&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/tiktok.avif?v=1778061515&width=352 352w, //lestendancesdecharlotte.com/cdn/shop/files/tiktok.avif?v=1778061515&width=832 832w, //lestendancesdecharlotte.com/cdn/shop/files/tiktok.avif?v=1778061515&width=1200 1200w" width="1200" height="1200" class="icon-block__media icon-block-AUDRnRW9lOGNCWHZqV__icon_WqFtFE" style="width: 66px;" sizes="(min-width: 1024px) 1024px, 100vw, 100vw">
</a>
</div>
<div
class="group-block group-block--height-fit group-block--width-fill border-style spacing-style size-style"
style=" --border-width: 1px; --border-style: none; --border-color:rgb(var(--color-border-rgb) / 1.0); --border-radius:0px; --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px; --size-style-width: 100%;--size-style-height: fit;--size-style-width-mobile: 100%; --size-style-width-mobile-min: 5rem; "
data-testid="group-block"
><div class="group-block__media-wrapper">
</div>
<div
class="group-block-content layout-panel-flex layout-panel-flex--column mobile-column"
style="--flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;--gap: 12px;--horizontal-alignment: flex-start; --vertical-alignment: center;--vertical-alignment-mobile: center;"
>
</div>
</div>
</div>
</div>
</div>
</div><div id="shopify-section-sections--32491489231186__footer_utilities" class="shopify-section shopify-section-group-footer-group footer-utilities">
<div class="section-background color-scheme-3"></div>
<div
class="section section--page-width color-scheme-3"
>
<div
class="utilities utilities--blocks-3 spacing-style"
style="--padding-block-start: 12px;--padding-block-end: 0px; --border-width: 1px; --gap: 24px;"
data-testid="footer-utilities"
>
<div
class="footer-utilities__group-copyright custom-typography custom-font-size"
style="--color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);"
>
<span class="footer-utilities__text">
© 2026
<a href="/" title="">Les tendances de Charlotte</a>, <a target="_blank" rel="nofollow" href="https://fr.shopify.com?utm_campaign=poweredby&utm_medium=shopify&utm_source=onlinestore">Commerce électronique propulsé par Shopify</a>
</span>
</div>
<anchored-popover-component
data-hover-triggered="true"
>
<button
class="policy-list-trigger button-unstyled"
popovertarget="terms-policies-popover"
popovertargetaction="toggle"
ref="trigger"
style="--color: ;--font-size: 0.75rem; --font-weight: ;--font-family: ; --text-transform: none; --text-wrap: pretty; --line-height: var(--line-height--body-); --letter-spacing: var(--letter-spacing--body-);"
>
Conditions générales et politiques
</button>
<div
class="terms-policies-popover color-scheme-1"
id="terms-policies-popover"
popover="auto"
ref="popover"
>
<ul
class="policy_list list-unstyled custom-typography custom-font-size"
><li>
<a
href="/policies/privacy-policy"
class="footer-utilities__text"
>Politique de confidentialité</a>
</li><li>
<a
href="/policies/refund-policy"
class="footer-utilities__text"
>Politique de remboursement</a>
</li><li>
<a
href="/policies/terms-of-service"
class="footer-utilities__text"
>Conditions d’utilisation</a>
</li><li>
<a
href="/policies/contact-information"
class="footer-utilities__text"
>Coordonnées</a>
</li><li>
<a
href="/policies/shipping-policy"
class="footer-utilities__text"
>Politique d’expédition</a>
</li><li>
<a
href="/policies/legal-notice"
class="footer-utilities__text"
>Mentions légales</a>
</li><li>
<a
href="/policies/terms-of-sale"
class="footer-utilities__text"
>Conditions générales de vente</a>
</li><li>
<a
href="#shopifyReshowConsentBanner"
class="footer-utilities__text"
>Préférences en matière de cookies</a>
</li></ul>
</div>
</anchored-popover-component>
<div
class="social-icons__wrapper"
>
<div
class="social-icons__icon-wrapper"
>
<a
href="https://www.facebook.com/CharlotteBijouxStQuentin/"
target="_blank"
rel="noopener noreferrer"
aria-label="Facebook"
>
<span class="social-icons__icon-label">Facebook</span>
<svg
class="social-icons__icon icon-default"
aria-hidden="true"
focusable="false"
xmlns="http://www.w3.org/2000/svg"
viewbox="0 0 20 20"
>
<path d="M18 10.049C18 5.603 14.419 2 10 2c-4.419 0-8 3.603-8 8.049C2 14.067 4.925 17.396 8.75 18v-5.624H6.719v-2.328h2.03V8.275c0-2.017 1.195-3.132 3.023-3.132.874 0 1.79.158 1.79.158v1.98h-1.009c-.994 0-1.303.621-1.303 1.258v1.51h2.219l-.355 2.326H11.25V18c3.825-.604 6.75-3.933 6.75-7.951Z" /></svg>
</a>
</div>
<div
class="social-icons__icon-wrapper"
>
<a
href="https://www.instagram.com/explore/locations/1021939484/charlotte-bijoux-concept-store-massages/"
target="_blank"
rel="noopener noreferrer"
aria-label="Instagram"
>
<span class="social-icons__icon-label">Instagram</span>
<svg
class="social-icons__icon icon-default"
aria-hidden="true"
focusable="false"
xmlns="http://www.w3.org/2000/svg"
viewbox="0 0 20 20"
>
<path
fill-rule="evenodd"
d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.43 2.43 0 0 0-.912.593 2.486 2.486 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23 0 2.134.01 2.39.046 3.229.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046 2.134 0 2.39-.01 3.23-.046.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23 0-2.134-.01-2.39-.055-3.229-.027-.784-.164-1.204-.274-1.495a2.43 2.43 0 0 0-.593-.913 2.604 2.604 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045 1.1-.014 2.202.001 3.302.045.664.014 1.321.14 1.943.374a3.968 3.968 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.896 3.896 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.152 4.152 0 0 1-1.414-.922 4.128 4.128 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.44 4.44 0 0 1 .92-1.414 4.18 4.18 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805Zm1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93Zm5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355Z"
clip-rule="evenodd"
/></svg>
</a>
</div>
</div>
</div>
</div>
</div>
<!-- END sections: footer-group -->
</footer>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/dialog.js?v=150888536568694194021790842512"
type="module"
></script>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/predictive-search.js?v=149240552485540508541790842512"
type="module"
fetchpriority="low"
></script>
<dialog-component
id="search-modal"
class="search-modal"
>
<dialog
ref="dialog"
on:click="/closeDialogOnClickOutside"
on:keydown="/closeDialogOnEscapePress"
class="search-modal__content dialog-modal"
scroll-lock
aria-labelledby="search-modal-heading"
>
<h2
id="search-modal-heading"
class="visually-hidden"
>
Rechercher
</h2>
<predictive-search-component
class="predictive-search color-scheme-1"
style="--product-corner-radius: 0px; --card-corner-radius: 0px;"
data-section-id="predictive-search"
data-testid="search-component--modal"
role="search"
aria-label="Rechercher"
>
<form
action="/search"
method="get"
role="search"
class="predictive-search-form"
ref="form"
on:keydown="/onSearchKeyDown"
>
<div
class="predictive-search-form__header"
>
<div class="predictive-search-form__header-inner">
<label
for="cmdk-input"
class="visually-hidden"
>Rechercher</label>
<input
class="search-input"
id="cmdk-input"
type="search"
name="q"
role="combobox"
aria-expanded="false"
aria-owns="predictive-search-results"
aria-controls="predictive-search-results"
aria-haspopup="listbox"
aria-autocomplete="list"
autocomplete="off"
placeholder="Rechercher"
ref="searchInput"
on:input="/search"
on:keydown="/onSearchKeyDown"
>
<input
name="options[prefix]"
type="hidden"
value="last"
>
<span class="svg-wrapper predictive-search__icon">
<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
</span>
<button
type="button"
class="button-unstyled predictive-search__reset-button"
ref="resetButton"
hidden
on:click="/resetSearch"
>
Effacer
</button>
</div>
<button
type="button"
class="button predictive-search__close-modal-button"
aria-label="Fermer la boîte de dialogue"
on:click="dialog-component/closeDialog"
ref="closeModalButton"
>
<span class="svg-wrapper">
<svg aria-hidden="true" width="14" height="14" viewbox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</span>
</button>
</div>
<div class="predictive-search-form__content-wrapper">
<div
class="predictive-search-form__content"
ref="predictiveSearchResults"
on:click="/handleModalClick"
>
<div
id="predictive-search-results"
class="predictive-search-dropdown"
role="listbox"
aria-expanded="true"
style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);"
>
<div class="predictive-search-results__inner">
<div
id="predictive-search-products"
class="predictive-search-results__products"
data-testid="products-list-default--modal"
>
<h4 class="predictive-search-results__title">
Produits
</h4>
<ul
class="predictive-search-results__list predictive-search-results__wrapper-products list-unstyled"
>
<li
class="predictive-search-results__card predictive-search-results__card--product"
ref="resultsItems[]"
>
<product-card-link
data-product-id="11188799144274"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=500"
data-product-transition="true"
on:click="/handleViewTransition"
><div
class="resource-card"
data-resource-type="product"
>
<a
class="resource-card__link"
href="/products/rituel-2h-evasion-absolue-saint-quentin"
>
<span class="visually-hidden">
2h d'Évasion absolue – Rituel sur mesure
</span>
</a>
<div
class="resource-card__media"
style="--resource-card-aspect-ratio: 4 / 5;"
ref="cardGallery"
data-view-transition-to-main-product
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=500" alt="Paysage apaisant d'un lac en Thaïlande avec une barque et des fleurs de lotus, illustrant le voyage sensoriel du Rituel 2h Évasion absolue à l'institut Les Tendances de Charlotte, Saint-Quentin" srcset="//lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/lac-thailande-rituel-evasion-massage-saint-quentin.jpg?v=1790847040&width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" ref="imagesToTransition[]" style="object-position: 50.0% 50.0%;">
</div>
<div class="resource-card__content">
<p class="resource-card__title paragraph">2h d'Évasion absolue – Rituel sur mesure</p>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€145,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€145,00</span>
</span>
</div>
</div>
</div>
</div></product-card-link>
</li>
<li
class="predictive-search-results__card predictive-search-results__card--product"
ref="resultsItems[]"
>
<product-card-link
data-product-id="10753587741010"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/Boucle_d_oreille_Abril_Zag.webp?v=1777560259&width=500"
data-product-transition="true"
on:click="/handleViewTransition"
><div
class="resource-card"
data-resource-type="product"
>
<a
class="resource-card__link"
href="/products/boucles-doreilles-abril-laccumulation-celeste"
>
<span class="visually-hidden">
Boucles d'oreilles Abril ZAG- L'accumulation céleste
</span>
</a>
<div
class="resource-card__media"
style="--resource-card-aspect-ratio: 4 / 5;"
ref="cardGallery"
data-view-transition-to-main-product
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/Boucle_d_oreille_Abril_Zag.webp?v=1777560259&width=500" alt="Boucles d'oreilles Abril ZAG – Multi-créoles étoile géométrique acier doré or fin – vue du bijou" srcset="//lestendancesdecharlotte.com/cdn/shop/files/Boucle_d_oreille_Abril_Zag.webp?v=1777560259&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/Boucle_d_oreille_Abril_Zag.webp?v=1777560259&width=352 352w" width="500" height="583" loading="lazy" class="resource-card__image" sizes="auto" ref="imagesToTransition[]" style="object-position: 50.0% 50.0%;">
<img src="//lestendancesdecharlotte.com/cdn/shop/files/boucles_d_oreilles_abril.webp?v=1777560064&width=500" alt="Boucles d'oreilles Abril ZAG – Multi-créoles étoile géométrique acier doré or fin – détail du bijou" srcset="//lestendancesdecharlotte.com/cdn/shop/files/boucles_d_oreilles_abril.webp?v=1777560064&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/boucles_d_oreilles_abril.webp?v=1777560064&width=352 352w" width="500" height="583" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" ref="imagesToTransition[]" data-media-id="58068778910034" style="object-position: 50.0% 50.0%;">
</div>
<div class="resource-card__content">
<p class="resource-card__title paragraph">Boucles d'oreilles Abril ZAG- L'accumulation céleste</p>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€45,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€45,00</span>
</span>
</div>
</div>
</div>
</div></product-card-link>
</li>
<li
class="predictive-search-results__card predictive-search-results__card--product"
ref="resultsItems[]"
>
<product-card-link
data-product-id="11077882184018"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-01.jpg?v=1787855418&width=500"
data-product-transition="true"
on:click="/handleViewTransition"
><div
class="resource-card"
data-resource-type="product"
>
<a
class="resource-card__link"
href="/products/boucles-oreilles-adigo-zag-double-anneaux-acier"
>
<span class="visually-hidden">
Boucles d'oreilles Adigo Zag – Double Anneau Concentrique Acier Inoxydable
</span>
</a>
<div
class="resource-card__media"
style="--resource-card-aspect-ratio: 4 / 5;"
ref="cardGallery"
data-view-transition-to-main-product
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-01.jpg?v=1787855418&width=500" alt="Boucles d'oreilles Adigo Zag portées, double anneau concentrique en acier inoxydable" srcset="//lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-01.jpg?v=1787855418&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-01.jpg?v=1787855418&width=352 352w" width="500" height="583" loading="lazy" class="resource-card__image" sizes="auto" ref="imagesToTransition[]" style="object-position: 50.0% 50.0%;">
<img src="//lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-02.jpg?v=1787855419&width=500" alt="Détail du double anneau des boucles Adigo Zag, acier poli" srcset="//lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-02.jpg?v=1787855419&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-02.jpg?v=1787855419&width=352 352w" width="500" height="583" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" ref="imagesToTransition[]" data-media-id="60234861412690" style="object-position: 50.0% 50.0%;">
</div>
<div class="resource-card__content">
<p class="resource-card__title paragraph">Boucles d'oreilles Adigo Zag – Double Anneau Concentrique Acier Inoxydable</p>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€45,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€45,00</span>
</span>
</div>
</div>
</div>
</div></product-card-link>
</li>
<li
class="predictive-search-results__card predictive-search-results__card--product"
ref="resultsItems[]"
>
<product-card-link
data-product-id="11077882904914"
data-featured-media-url="//lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-dore-01.jpg?v=1787855419&width=500"
data-product-transition="true"
on:click="/handleViewTransition"
><div
class="resource-card"
data-resource-type="product"
>
<a
class="resource-card__link"
href="/products/boucles-oreilles-adigo-zag-double-anneaux-acier-dore"
>
<span class="visually-hidden">
Boucles d'oreilles Adigo Zag – Double Anneaux Acier Doré Or Fin
</span>
</a>
<div
class="resource-card__media"
style="--resource-card-aspect-ratio: 4 / 5;"
ref="cardGallery"
data-view-transition-to-main-product
>
<img src="//lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-dore-01.jpg?v=1787855419&width=500" alt="Boucles d'oreilles Adigo ZAG acier doré hypoallergénique porté, bijoux femme" srcset="//lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-dore-01.jpg?v=1787855419&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-dore-01.jpg?v=1787855419&width=352 352w" width="500" height="583" loading="lazy" class="resource-card__image" sizes="auto" ref="imagesToTransition[]" style="object-position: 50.0% 50.0%;">
<img src="//lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-dore-02.jpg?v=1787855419&width=500" alt="Détail boucles d'oreilles Adigo ZAG, finition dorée" srcset="//lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-dore-02.jpg?v=1787855419&width=240 240w, //lestendancesdecharlotte.com/cdn/shop/files/boucles-doreilles-adigo-acier-dore-02.jpg?v=1787855419&width=352 352w" width="500" height="583" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" ref="imagesToTransition[]" data-media-id="60234863149394" style="object-position: 50.0% 50.0%;">
</div>
<div class="resource-card__content">
<p class="resource-card__title paragraph">Boucles d'oreilles Adigo Zag – Double Anneaux Acier Doré Or Fin</p>
<div ref="priceContainer">
<div
class="price__regular"
>
<span class="price">€59,00</span>
</div>
<div
class="price__sale price__hidden"
>
<span class="price-item__group">
<span class="visually-hidden">Prix régulier </span>
<span class="price-item--regular compare-at-price"></span>
</span>
<span class="price-item__group">
<span class="visually-hidden">Prix promotionnel </span>
<span class="price-item--sale price">€59,00</span>
</span>
</div>
</div>
</div>
</div></product-card-link>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="predictive-search-form__footer">
<button
class="button predictive-search__search-button"
ref="viewAllButton"
>
Tout afficher
</button>
</div>
</div>
</form>
</predictive-search-component>
</dialog>
</dialog-component>
<script
src="//lestendancesdecharlotte.com/cdn/shop/t/18/assets/gift-card-recipient-form.js?v=129634859299628245901790842512"
type="module"
fetchpriority="low"
></script>
<quick-add-dialog id="quick-add-dialog">
<dialog
class="quick-add-modal dialog-modal color-scheme-1"
ref="dialog"
scroll-lock
>
<button
ref="closeButton"
on:click="/closeDialog"
class="button button-unstyled close-button quick-add-modal__close"
aria-label="Fermer la boîte de dialogue"
><svg aria-hidden="true" width="14" height="14" viewbox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
</button>
<div
id="quick-add-modal-content"
class="quick-add-modal__content"
></div>
</dialog>
</quick-add-dialog>
<style>
.ltc-favorite-action{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(20,34,53,.14);border-radius:999px;background:rgba(255,255,255,.92);color:#263950;cursor:pointer;box-shadow:0 5px 14px rgba(20,34,53,.08);transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.ltc-favorite-action:hover{transform:translateY(-1px);border-color:#1f3a5f}.ltc-favorite-action[aria-pressed="true"]{background:#1f3a5f;border-color:#1f3a5f;color:#fff}.ltc-favorite-action svg{width:18px;height:18px;stroke:currentColor;fill:transparent;stroke-width:1.8}.ltc-favorite-action[aria-pressed="true"] svg{fill:currentColor}
product-card{position:relative}.ltc-favorite-card-action{position:absolute;right:12px;top:12px}
.ltc-favorites-trigger{position:fixed;left:18px;bottom:18px;z-index:1100;display:flex;align-items:center;gap:9px;border:0;border-radius:999px;background:#1f3a5f;color:#fff;padding:12px 16px;box-shadow:0 15px 30px rgba(20,34,53,.26);font:600 14px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.ltc-favorites-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.ltc-favorites-count{display:grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:#e5c17c;color:#24364c;font-size:11px}
.ltc-favorites-backdrop{position:fixed;inset:0;z-index:1190;background:rgba(9,20,33,.42);opacity:0;pointer-events:none;transition:opacity .22s ease}.ltc-favorites-backdrop.is-open{opacity:1;pointer-events:auto}.ltc-favorites-drawer{position:fixed;z-index:1200;right:0;top:0;width:min(440px,100%);height:100dvh;display:flex;flex-direction:column;background:#fdfcf9;color:#17283d;box-shadow:-18px 0 48px rgba(10,21,33,.2);transform:translateX(105%);transition:transform .28s cubic-bezier(.23,1,.32,1);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.ltc-favorites-drawer.is-open{transform:translateX(0)}.ltc-favorites-head{display:flex;align-items:center;justify-content:space-between;padding:22px 22px 18px;border-bottom:1px solid rgba(20,34,53,.1)}.ltc-favorites-kicker{margin:0 0 3px;color:#927037;font-size:10px;letter-spacing:.16em;font-weight:800}.ltc-favorites-title{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:400;letter-spacing:-.02em}.ltc-favorites-close{width:38px;height:38px;border:1px solid rgba(20,34,53,.12);border-radius:50%;background:transparent;color:#273c54;font-size:24px;cursor:pointer}.ltc-favorites-list{flex:1;overflow:auto;padding:18px 22px}.ltc-favorites-empty{margin:42px 0;text-align:center;color:#657083;font-size:14px;line-height:1.65}.ltc-favorite-item{display:grid;grid-template-columns:76px 1fr auto;gap:13px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(20,34,53,.08)}.ltc-favorite-item img{width:76px;height:91px;object-fit:cover;border-radius:10px;background:#f4f1ea}.ltc-favorite-item-name{display:block;color:#1a2d43;font-size:14px;font-weight:700;line-height:1.35;text-decoration:none}.ltc-favorite-item-price{display:block;margin-top:5px;color:#6b7280;font-size:13px}.ltc-favorite-remove{width:30px;height:30px;border:0;background:transparent;color:#7b8795;font-size:20px;cursor:pointer}.ltc-favorites-footer{padding:17px 22px 22px;border-top:1px solid rgba(20,34,53,.1);background:#fff}.ltc-favorites-note{margin:0 0 12px;color:#6b7280;font-size:12px;line-height:1.45}.ltc-favorites-share{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.ltc-favorites-share button,.ltc-favorites-share a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid rgba(31,58,95,.2);border-radius:10px;background:#fff;color:#1f3a5f;font:700 12px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-decoration:none;cursor:pointer}.ltc-favorites-share button:first-child{background:#1f3a5f;color:#fff;border-color:#1f3a5f}.ltc-favorites-share [disabled]{opacity:.45;cursor:not-allowed}@media(max-width:640px){.ltc-favorites-trigger{bottom:16px;left:14px;padding:11px 13px}.ltc-favorites-trigger-text{display:none}.ltc-favorites-drawer{width:100%}.ltc-favorites-share{grid-template-columns:1fr}}
</style>
<div id="ltc-favorites-root" aria-live="polite">
<button class="ltc-favorites-trigger" type="button" aria-label="Ouvrir mes coups de cœur" aria-expanded="false">
<svg viewbox="0 0 24 24" aria-hidden="true"><path d="M20.8 4.8a5.4 5.4 0 0 0-7.6 0L12 6l-1.2-1.2a5.4 5.4 0 0 0-7.6 7.6L12 21l8.8-8.6a5.4 5.4 0 0 0 0-7.6Z"/></svg>
<span class="ltc-favorites-trigger-text">Mes coups de cœur</span><span class="ltc-favorites-count">0</span>
</button>
<div class="ltc-favorites-backdrop" aria-hidden="true"></div>
<aside class="ltc-favorites-drawer" aria-label="Mes coups de cœur" aria-hidden="true">
<header class="ltc-favorites-head"><div><p class="ltc-favorites-kicker">VOTRE SÉLECTION</p><h2 class="ltc-favorites-title">Coups de cœur</h2></div><button class="ltc-favorites-close" type="button" aria-label="Fermer">×</button></header>
<div class="ltc-favorites-list"></div>
<footer class="ltc-favorites-footer"><p class="ltc-favorites-note">Partagez votre sélection pour glisser une idée cadeau ou demander un avis.</p><div class="ltc-favorites-share"><button type="button" data-ltc-share>Partager</button><a data-ltc-email href="#">E-mail</a><button type="button" data-ltc-copy>Copier le lien</button></div></footer>
</aside>
</div>
<script>
(() => {
if (window.LTCFavorites) return;
const STORAGE_KEY = 'ltc-favorite-handles-v1';
const root = document.querySelector('#ltc-favorites-root');
if (!root) return;
const trigger = root.querySelector('.ltc-favorites-trigger');
const count = root.querySelector('.ltc-favorites-count');
const drawer = root.querySelector('.ltc-favorites-drawer');
const backdrop = root.querySelector('.ltc-favorites-backdrop');
const list = root.querySelector('.ltc-favorites-list');
const closeButton = root.querySelector('.ltc-favorites-close');
const shareButton = root.querySelector('[data-ltc-share]');
const emailLink = root.querySelector('[data-ltc-email]');
const copyButton = root.querySelector('[data-ltc-copy]');
const productCache = new Map();
const heartIcon = '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M20.8 4.8a5.4 5.4 0 0 0-7.6 0L12 6l-1.2-1.2a5.4 5.4 0 0 0-7.6 7.6L12 21l8.8-8.6a5.4 5.4 0 0 0 0-7.6Z"/></svg>';
const money = value => new Intl.NumberFormat(document.documentElement.lang || 'fr-FR', { style: 'currency', currency: window.Shopify?.currency?.active || 'EUR' }).format(Number(value || 0) / 100);
const read = () => { try { const raw = JSON.parse(localStorage.getItem(STORAGE_KEY) || '[]'); return Array.isArray(raw) ? [...new Set(raw.filter(value => typeof value === 'string' && value))] : []; } catch { return []; } };
const write = handles => { localStorage.setItem(STORAGE_KEY, JSON.stringify([...new Set(handles)])); update(); };
const getHandle = href => { try { const match = new URL(href, location.origin).pathname.match(/\/products\/([^/?#]+)/); return match ? decodeURIComponent(match[1]) : ''; } catch { return ''; } };
const sharedUrl = () => { const url = new URL(location.href); const handles = read(); if (handles.length) url.searchParams.set('favoris', handles.join(',')); else url.searchParams.delete('favoris'); return url.toString(); };
const productUrl = handle => new URL('/products/' + encodeURIComponent(handle), location.origin).toString();
const fetchProduct = async handle => {
if (productCache.has(handle)) return productCache.get(handle);
const response = await fetch('/products/' + encodeURIComponent(handle) + '.js');
if (!response.ok) throw new Error('Produit indisponible');
const product = await response.json();
productCache.set(handle, product);
return product;
};
const escapeHtml = value => String(value || '').replace(/[&<>'"]/g, char => ({ '&':'&','<':'<','>':'>',"'":''','"':'"' }[char]));
const addButton = (container, handle, className) => {
if (!container || !handle || container.querySelector('[data-ltc-favorite-handle="' + CSS.escape(handle) + '"]')) return;
const button = document.createElement('button');
button.type = 'button'; button.className = 'ltc-favorite-action ' + className; button.dataset.ltcFavoriteHandle = handle;
button.setAttribute('aria-label', 'Ajouter aux coups de cœur'); button.innerHTML = heartIcon;
button.addEventListener('click', event => { event.preventDefault(); event.stopPropagation(); toggle(handle); });
container.appendChild(button);
};
const injectButtons = () => {
document.querySelectorAll('product-card a[href*="/products/"], .card a[href*="/products/"]').forEach(link => {
const handle = getHandle(link.href); const card = link.closest('product-card, .card');
if (card && handle) addButton(card, handle, 'ltc-favorite-card-action');
});
const selected = new Set(read());
document.querySelectorAll('[data-ltc-favorite-handle]').forEach(button => {
const active = selected.has(button.dataset.ltcFavoriteHandle); button.setAttribute('aria-pressed', String(active)); button.setAttribute('aria-label', active ? 'Retirer des coups de cœur' : 'Ajouter aux coups de cœur');
});
};
const renderList = async () => {
const handles = read();
if (!handles.length) { list.innerHTML = '<p class="ltc-favorites-empty">Votre liste est vide.<br>Appuyez sur le cœur d’un bijou pour le garder de côté.</p>'; return []; }
list.innerHTML = '<p class="ltc-favorites-empty">Préparation de votre sélection…</p>';
const products = (await Promise.all(handles.map(handle => fetchProduct(handle).catch(() => null)))).filter(Boolean);
const validHandles = products.map(product => product.handle);
if (validHandles.length !== handles.length) localStorage.setItem(STORAGE_KEY, JSON.stringify(validHandles));
list.innerHTML = products.map(product => {
const image = product.featured_image || product.images?.[0] || '';
return '<article class="ltc-favorite-item"><a href="' + escapeHtml(product.url || '/products/' + product.handle) + '"><img src="' + escapeHtml(image) + '" alt="' + escapeHtml(product.title) + '" loading="lazy"></a><div><a class="ltc-favorite-item-name" href="' + escapeHtml(product.url || '/products/' + product.handle) + '">' + escapeHtml(product.title) + '</a><span class="ltc-favorite-item-price">' + money(product.price) + '</span></div><button class="ltc-favorite-remove" type="button" data-ltc-remove="' + escapeHtml(product.handle) + '" aria-label="Retirer ' + escapeHtml(product.title) + '">×</button></article>';
}).join('');
list.querySelectorAll('[data-ltc-remove]').forEach(button => button.addEventListener('click', () => write(read().filter(handle => handle !== button.dataset.ltcRemove))));
return products;
};
const updateShareTargets = async () => {
const handles = read();
const url = sharedUrl();
const disabled = !handles.length;
[shareButton, copyButton].forEach(button => { if (button) button.disabled = disabled; });
if (emailLink) {
const products = (await Promise.all(handles.map(handle => fetchProduct(handle).catch(() => null)))).filter(Boolean);
const names = products.map(product => '• ' + product.title + ' — ' + productUrl(product.handle)).join('\n');
const body = 'Bonjour,\n\nVoici ma liste de coups de cœur chez Les Tendances de Charlotte :\n\n' + (names || url) + '\n\nVoir toute la sélection : ' + url;
emailLink.href = disabled ? '#' : 'mailto:?subject=' + encodeURIComponent('Mes coups de cœur — Les Tendances de Charlotte') + '&body=' + encodeURIComponent(body);
emailLink.style.pointerEvents = disabled ? 'none' : '';
}
};
const update = () => { const handles = read(); count.textContent = handles.length; injectButtons(); updateShareTargets(); if (drawer.classList.contains('is-open')) renderList(); };
const toggle = handle => { const handles = read(); write(handles.includes(handle) ? handles.filter(value => value !== handle) : [...handles, handle]); };
const open = async () => { drawer.classList.add('is-open'); backdrop.classList.add('is-open'); drawer.setAttribute('aria-hidden', 'false'); trigger.setAttribute('aria-expanded', 'true'); await renderList(); updateShareTargets(); };
const close = () => { drawer.classList.remove('is-open'); backdrop.classList.remove('is-open'); drawer.setAttribute('aria-hidden', 'true'); trigger.setAttribute('aria-expanded', 'false'); };
const copy = async () => { try { await navigator.clipboard.writeText(sharedUrl()); copyButton.textContent = 'Lien copié'; setTimeout(() => copyButton.textContent = 'Copier le lien', 1800); } catch { window.prompt('Copiez ce lien :', sharedUrl()); } };
trigger.addEventListener('click', open); closeButton.addEventListener('click', close); backdrop.addEventListener('click', close);
document.addEventListener('keydown', event => { if (event.key === 'Escape') close(); });
copyButton.addEventListener('click', copy);
shareButton.addEventListener('click', async () => { const data = { title: 'Mes coups de cœur — Les Tendances de Charlotte', text: 'Voici ma sélection de bijoux coups de cœur.', url: sharedUrl() }; if (navigator.share) { try { await navigator.share(data); } catch (error) { if (error?.name !== 'AbortError') copy(); } } else copy(); });
const fromSharedLink = new URL(location.href).searchParams.get('favoris');
if (fromSharedLink) { const incoming = fromSharedLink.split(',').map(value => value.trim()).filter(value => /^[a-z0-9-]+$/i.test(value)); if (incoming.length) { write([...read(), ...incoming]); setTimeout(open, 450); } }
window.LTCFavorites = { open, toggle, handles: read };
let queued = false; const observer = new MutationObserver(() => { if (!queued) { queued = true; requestAnimationFrame(() => { queued = false; injectButtons(); }); } });
observer.observe(document.documentElement, { childList: true, subtree: true });
update(); injectButtons();
})();
</script>
<script>
// Blog product-image links: verify the linked product still exists before navigating.
// If it's been removed or unpublished, send the visitor to the homepage instead of a 404.
function checkProductLink(event, handle) {
event.preventDefault();
var url = '/products/' + handle;
fetch(url)
.then(function (r) {
window.location.href = r.ok ? url : '/';
})
.catch(function () {
window.location.href = '/';
});
return false;
}
</script>
<div id="shopify-block-AdmdXU3VUQ3hMTm1rN__8764476057892802672" class="shopify-block shopify-app-block"><link rel="preconnect" href="https://app.restockrocket.io" crossorigin><link rel="preconnect" href="https://e1dayx-t1.myshopify.com" crossorigin><!-- Config and setup JS -->
<script id="RestockRocketConfig">
window._RestockRocketConfig = window._RestockRocketConfig || {}
window._RestockRocket = window._RestockRocket || {}
window._Stoq = window._RestockRocket
window._StoqConfig = window._RestockRocketConfig
try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { }
function normalizeLocale(locale) {
if (!locale || locale.trim() === '') {
return '';
}
return locale.toString().toLowerCase().replace(/-/g, '_');
}
window._RestockRocketConfig.locale = 'fr';
window._RestockRocketConfig.normalizedLocale = normalizeLocale('fr');
window._RestockRocketConfig.shop = 'e1dayx-t1.myshopify.com';
window._RestockRocketConfig.pageType = 'collection';
window._RestockRocketConfig.liquidRenderedAt = 1791241875;window._RestockRocketConfig.marketId = 115990069586;window._RestockRocketConfig.countryName = 'France';
window._RestockRocketConfig.countryIsoCode = 'FR';window._RestockRocketConfig.languageIsoCode = 'fr';window._RestockRocketConfig.cartInventoryQuantity = {};
if (!window._RestockRocketConfig.cartToken) {
try {
const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/);
if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]);
} catch (e) { }
}
window._RestockRocketConfig.cachedSettings = {"id":73657,"shop_id":73641,"currency":"EUR","created_at":"2026-09-22T16:36:47.053Z","updated_at":"2026-10-01T04:58:53.906Z","enable_app":true,"enable_signup_widget":true,"storefront_button_text":"Je le veux dès son retour","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Prévenez-moi","storefront_form_description":"Recevez un email dès que cet article est de nouveau disponible !","storefront_form_button_text":"Je le veux dès son retour","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promis, pas de spam. Vous ne recevrez qu'une notification pour ce produit.","storefront_form_error":"Merci de saisir une adresse email valide","storefront_form_success":"Merci ! Nous vous préviendrons dès que le produit sera disponible.","enable_powered_by":true,"show_button_on_preorder":false,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"preorderButtonDelayAmount":1000},"storefront_form_email_placeholder":"Adresse email","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"/* Theme defaults from Horizon (any version) */\n \n\n.restock-rocket-button {\n height: 55px !important;\n border-radius: 15px !important;\n}\n\n","js_config":"/* Theme defaults from Horizon (any version) */\nlet selector = 'dialog[open]'; window.addEventListener('stoq:preorder-modal:opened', function(event) { console.log('Preorder modal opened!', event.detail); const dialog = document.querySelector(selector); if (dialog) { dialog.close() } }); window.addEventListener('stoq:restock-modal:opened', function(event) { console.log('Restock modal opened!', event.detail); const dialog = document.querySelector(selector); if (dialog) { dialog.close() } });","collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too!","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_custom_domain_enabled":false,"optin_success_text":"Inscription confirmée ! Vous recevrez une alerte dès que le produit sera réapprovisionné.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":false,"insert_button_after_selector":".product-form-buttons","insert_button_after_selector_type":"afterend","storefront_button_position_type":"specific","storefront_form_duplicate_error":"Vous êtes déjà inscrit(e) aux alertes pour ce produit.","storefront_mixed_cart_error":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","storefront_error_heading":"Error","default_locale":"fr","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":".product-card__content","insert_button_after_selector_index":".product-card__content","push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again.","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Merci de remplir au moins un des champs ci-dessus","storefront_form_push_input":"Send push notification","insert_button_after_selector_page":".product-card__content","show_button_on_page":false,"insert_button_after_selector_search":".product-card__content","show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":"","index_buttons_container":"","page_buttons_container":"","search_buttons_container":"","extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"Ce produit est actuellement épuisé. Laissez votre email pour être prévenu(e) dès son retour en stock !","preorder_enabled":false,"preorder_buy_button_selector":"","preorder_add_to_cart_button_selector":"add-to-cart-component button","preorder_badge_selector":"product-price div","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":"","preorder_index_badge_selector":"","preorder_page_badge_selector":"","preorder_search_badge_selector":"","preorder_badge_selector_type":"beforeend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":".add-to-cart-text__content","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":".product-form-buttons","preorder_payment_insert_selector_type":"beforebegin","preorder_price_container_selector":".price","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":null,"preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"product-price .price","preorder_price_format":"€{{amount_with_comma_separator}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":".shopify-product-form","inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":10,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","configure_notify_me_enabled":false,"restock_note_insert_selector":null,"restock_note_insert_selector_type":"afterend","restock_note_background_color":"#f3f4f6","restock_note_text_color":"#202223","restock_note_border_radius":4,"preorder_modal_continue_button_text":"Continue","preorder_modal_cancel_button_text":"Cancel","meta_pixel_enabled":false,"meta_pixel_id":null,"cache":true,"cached_at":"2026-10-01T04:58:53.935Z","multi_language_enabled":false,"translation_locale":"fr","disable_refresh_on_stale_liquid":false,"api_host":"https://ext.stoqapp.com"};window._RestockRocketConfig.storefrontAccessToken = "94d46c904470881c1e6b605f92cb7f9c";
window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production';
window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = { preorder_variant_ids: [] };window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = { variant_preorder_limits: {} };window._RestockRocketConfig.cachedVariantShippingTexts = { variant_shipping_texts: {} };
window._RestockRocketConfig.sellingPlans = [];(function() {
const cachedData = {"plans":[],"disabled_plan_ids":[],"has_in_stock_offer":false,"has_preorder_offer":false,"read_flags":{"enable_storefront_product_reads":true,"enable_storefront_integrations_read":true,"enable_storefront_selling_plans_read":true},"cached_at":"2026-10-04T10:56:01Z"};
if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) {
window._RestockRocketConfig.readFlags = cachedData.read_flags || {};
const oldPlans = window._RestockRocketConfig.sellingPlans;
const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0
? oldPlans.reduce(function(max, plan) {
if (plan.updated_at) {
const planDate = new Date(plan.updated_at);
const maxDate = max ? new Date(max) : null;
return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max;
}
return max;
}, '')
: null;
const cachedDate = new Date(cachedData.cached_at);
const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null;
const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate));
if (useCached) {
if (Array.isArray(cachedData.plans)) {
window._RestockRocketConfig.sellingPlans = cachedData.plans;
window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || [];
console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')');
}
} else {
window._RestockRocketConfig.disabledSellingPlanIds = [];
console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')');
}
}
})();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = [];
try {
var _sqCfg = window._RestockRocketConfig;
var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) &&
_sqCfg.sellingPlans.some(function (p) { return p && p.enabled; });
var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds &&
_sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length;
_sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount);
} catch (e) { }
try {
var _sqc = window._RestockRocketConfig;
var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false);
var _sqPre = (_sqc.cachedPreorderVariantIds &&
_sqc.cachedPreorderVariantIds.preorder_variant_ids) || [];
var _sqArm = false;
if (_sqOn && _sqc.preordersConfigured) {
if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) {
_sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; });
} else {
_sqArm = (_sqc.integrations || []).some(function (i) {
return i && i.type === 'featured_product' && i.enabled &&
Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1;
});
}
}
if (_sqArm && document.documentElement) {
_sqc.acceleratedGateArmed = true;
document.documentElement.classList.add('stoq-buy-now-pending');
setTimeout(function () {
document.documentElement.classList.remove('stoq-buy-now-pending');
}, 6000);
}
} catch (e) { }
window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-product.js'
window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-collection.js'
window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-product-bis.js'
window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a10b23-799c-7a38-a052-ddf9175946a6/restockrocket-1-600/assets/restockrocket-collection-bis.js'
window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io'
try {
const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/);
window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || '';
} catch (e) {
window._RestockRocketConfig.appVersion = '';
}
const SETTINGS_CACHE_DURATION = 15 * 60 * 1000;
const LIQUID_CACHE_MAX_AGE = 15 * 60;
const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt;
if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) {
console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh');
window._RestockRocketConfig.isLiquidCacheFresh = true;
window._RestockRocketConfig.liquidCacheAge = null;
} else {
const now = Math.floor(Date.now() / 1000);
const liquidCacheAge = now - liquidRenderedAt;
window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge);
if (liquidCacheAge < 0) {
console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`);
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else if (liquidCacheAge <= LIQUID_CACHE_MAX_AGE) {
console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`);
window._RestockRocketConfig.isLiquidCacheFresh = true;
} else {
console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`);
window._RestockRocketConfig.isLiquidCacheFresh = false;
}
}
function checkSettingsExpiry(settings) {
try {
if (!settings || !settings.updated_at) {
console.debug('STOQ - Invalid settings data structure');
return null;
}
if (!settings.cache) {
console.debug('STOQ - settings caching disabled');
return null;
}
if (settings.multi_language_enabled) {
if (!settings.translations) {
console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh');
return null;
}
if (window._RestockRocketConfig.normalizedLocale &&
!Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) {
console.debug('STOQ - locale not explicitly translated, will use default language from cache');
}
}
const updatedAt = new Date(settings.updated_at);
if (isNaN(updatedAt.getTime())) {
console.debug('STOQ - Invalid updated_at date format in settings');
return null;
}
const age = Date.now() - updatedAt.getTime();
if (age < SETTINGS_CACHE_DURATION) {
console.debug('STOQ - settings changed recently, skipping cache');
return null;
}
return settings;
} catch (error) {
console.debug('STOQ - Error checking settings cache:', error);
return null;
}
}
function createRestockRocketContainer() {
const restockRocketContainer = document.createElement('div');
restockRocketContainer.id = 'restock-rocket';
document.body.appendChild(restockRocketContainer);
}
function createRestockRocketScript(scriptUrl) {
const restockRocketScriptElement = document.createElement('script');
restockRocketScriptElement.setAttribute('defer', 'defer');
restockRocketScriptElement.src = scriptUrl;
document.body.appendChild(restockRocketScriptElement);
}
createRestockRocketContainer()
console.debug('STOQ - extension activated')
try {
const _stoqInitConfig = window._RestockRocketConfig;
const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants))
? _stoqInitConfig.product.variants.map(function(v) { return v.id })
: [];
const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id;
var _stoqPageSeq = 0;
try {
_stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1;
window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq));
} catch (e) { }
Shopify?.analytics?.publish?.('stoq_initialized', {
cart_token: _stoqInitConfig.cartToken || '',
page_url: window.location.href,
page_type: _stoqInitConfig.pageType || '',
shop_domain: _stoqInitConfig.shop || '',
market_id: _stoqInitConfig.marketId || '',
country_code: _stoqInitConfig.countryIsoCode || '',
detected_variant_ids: _stoqDetectedVariantIds,
selected_variant_id: _stoqSelectedVariantId || '',
page_load_seq: _stoqPageSeq,
liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0,
app_version: _stoqInitConfig.appVersion || '',
liquid_cache_age: _stoqInitConfig.liquidCacheAge,
inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '',
inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId],
});
} catch (e) {
console.debug('STOQ - stoq_initialized publish failed:', e);
}
try {
var _sqTrack = window._RestockRocketConfig;
if (_sqTrack.preordersConfigured) {
document.addEventListener('click', function (e) {
try {
var t = e.target;
if (!t || !t.closest) return;
var host = t.closest('.shopify-payment-button, shopify-payment-terms');
if (!host) return;
var channel = host.matches && host.matches('shopify-payment-terms')
? 'shop_pay_installments' : 'buy_now';
var form = host.closest('form');
var vidEl = form && form.querySelector('[name="id"]');
var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || '';
var _sqVidNum = Number(variantId);
var _sqPlan = null;
var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : [];
var _sqMktId = Number(_sqTrack.marketId);
var _sqForVariant = function (pl) {
return pl && pl.enabled && Array.isArray(pl.variant_ids) &&
pl.variant_ids.indexOf(_sqVidNum) !== -1;
};
_sqPlans.forEach(function (pl) {
if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled &&
Array.isArray(pl.shopify_market_ids) &&
pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; }
});
if (!_sqPlan) {
_sqPlans.forEach(function (pl) {
if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; }
});
}
Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', {
variant_id: variantId,
product_id: (_sqTrack.product && _sqTrack.product.id) || '',
channel: channel,
market_id: _sqTrack.marketId || '',
country_code: _sqTrack.countryIsoCode || '',
page_type: _sqTrack.pageType || '',
cart_token: _sqTrack.cartToken || '',
page_url: (window.location && window.location.href) || '',
properties: {
is_preorder_variant: (function () {
var vid = Number(variantId);
var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; };
return has(_sqTrack.preorderVariantIds) ||
has(_sqTrack.cachedPreorderVariantIds &&
_sqTrack.cachedPreorderVariantIds.preorder_variant_ids);
})(),
in_enabled_plan: !!_sqPlan,
is_instock_variant: (function () {
var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; };
return has(_sqTrack.inStockVariantIds) ||
has(_sqTrack.cachedInStockVariantIds &&
_sqTrack.cachedInStockVariantIds.in_stock_variant_ids);
})(),
enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '',
enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '',
block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false),
gate_armed: !!_sqTrack.acceleratedGateArmed,
gate_active_at_click: !!(document.documentElement &&
document.documentElement.classList.contains('stoq-buy-now-pending')),
blocked: (function () {
try {
var rr = window._RestockRocket;
return !!(rr && typeof rr.willBlockAcceleratedClick === 'function' &&
rr.willBlockAcceleratedClick(e));
} catch (err) { return false; }
})(),
},
});
} catch (err) { }
}, true);
}
} catch (e) { }
function applyTranslations(settings) {
try {
if (!settings || !settings.multi_language_enabled) {
return settings;
}
if (!settings.translations) {
console.debug('STOQ - No translations found, skipping translation');
return settings;
}
const normalizedLocale = window._RestockRocketConfig.normalizedLocale;
const translations = settings.translations;
if (!normalizedLocale) {
console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {}));
delete settings.translations;
return settings;
}
console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);
const translatedFields = translations[normalizedLocale];
if (translatedFields && typeof translatedFields === 'object') {
Object.keys(translatedFields).forEach(function(key) {
const value = translatedFields[key];
if (value !== null && value !== undefined && value !== '') {
settings[key] = value;
}
});
} else {
console.debug('STOQ - No translated fields found for locale:', normalizedLocale);
}
delete settings.translations;
return settings;
} catch (e) {
console.debug('STOQ - error applying translations:', e);
return settings;
}
}
function setupCartSellingPlanUpdater(settings) {
window.addEventListener('stoq:inventory-data-loaded', function(event) {
console.debug('STOQ - Inventory data loaded, updating cart selling plans');
if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) {
window._RestockRocket.updateCartSellingPlans()
.then(hasUpdates => {
if (hasUpdates) {
console.debug('STOQ - cart selling plans updated successfully');
} else {
console.debug('STOQ - no cart selling plan updates needed');
}
})
.catch(error => {
console.error('STOQ - error updating cart selling plans:', error);
});
}
});
}
function storefrontGraphql(query, variables) {
const cfg = window._RestockRocketConfig;
if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) {
return Promise.reject(new Error('Storefront API unavailable'));
}
return fetch(
`https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken,
},
body: JSON.stringify({ query: query, variables: variables }),
}
)
.then(function(response) {
if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); }
return response.json();
})
.then(function(body) {
if (body && body.errors && body.errors.length) {
throw new Error('Storefront API errors: ' + body.errors.map(function(e) { return e && e.message; }).join(', '));
}
return body && body.data;
});
}
function fetchStorefrontShopMetafield(key) {
const cfg = window._RestockRocketConfig;
const query = 'query StoqShopMetafield($namespace: String!, $key: String!) { shop { metafield(namespace: $namespace, key: $key) { value } } }';
return storefrontGraphql(query, { namespace: cfg.metafieldNamespace, key: key })
.then(function(data) {
const value = data && data.shop && data.shop.metafield && data.shop.metafield.value;
if (!value) { throw new Error('Storefront API returned no ' + key + ' metafield value'); }
return JSON.parse(value);
});
}
(function loadStorefrontSettings() {
const cfg = window._RestockRocketConfig;
if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return;
function run() {
// The live-settings read is one more shop-level metafield fetch, so it
// shares fetchStorefrontShopMetafield with the integrations/selling_plans
// reads rather than re-issuing the same query + parse.
fetchStorefrontShopMetafield('settings')
.then(function(settings) {
cfg.storefrontSettings = settings;
console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings');
})
.catch(function(e) {
console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message);
});
}
if (typeof window.requestIdleCallback === 'function') {
window.requestIdleCallback(run, { timeout: 5000 });
} else {
setTimeout(run, 0);
}
})();
const cachedSettings = window._RestockRocketConfig.cachedSettings;
const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null;
if (validCachedSettings) {
console.debug('STOQ - using cached settings');
initializeScripts(validCachedSettings);
} else {
console.debug('STOQ - fetching fresh settings');
const headers = {
'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop,
'ngrok-skip-browser-warning': 'skip'
};
if (window.Shopify?.theme?.role === 'main') {
headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name;
headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version;
headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id;
}
fetch(
`${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`,
{ headers }
)
.then(function(response) {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(function(settings) {
initializeScripts(settings);
})
.catch(function(error) {
if (cachedSettings) {
console.debug('STOQ - using expired cached settings as fallback');
initializeScripts(cachedSettings);
} else {
console.error('STOQ - failed to load settings:', error);
}
})
.catch(function(e) {
console.error(e)
})
}
function fetchEmbedConfig(endpoint, apply) {
return fetch(
`${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`,
{
headers: {
'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop,
'ngrok-skip-browser-warning': 'skip'
}
}
)
.then(function(response) {
if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`);
return response.json();
})
.then(function(data) {
try {
apply(data);
} catch (applyError) {
console.error('STOQ - apply failed for ' + endpoint + ':', applyError);
throw applyError;
}
})
.catch(function(error) {
console.debug(`STOQ - using cached ${endpoint}:`, error.message);
});
}
function refreshShopConfig(source) {
const cfg = window._RestockRocketConfig;
const viaEmbed = function() { return fetchEmbedConfig(source.endpoint, source.apply); };
const flagOn = !!cfg.readFlags && cfg.readFlags[source.flag] === true;
if (!flagOn || source.embedOnly === true) { return viaEmbed(); }
return fetchStorefrontShopMetafield(source.metafieldKey)
.then(function(value) {
if (!source.isValid(value)) { throw new Error(source.metafieldKey + ' metafield is not a valid ' + source.endpoint + ' payload'); }
source.apply(value);
console.debug('STOQ - refreshed ' + source.endpoint + ' from the Storefront API');
})
.catch(function(error) {
console.debug('STOQ - Storefront ' + source.endpoint + ' read failed, using embed:', error.message);
return viaEmbed();
});
}
function refreshIntegrations() {
const cfg = window._RestockRocketConfig;
return refreshShopConfig({
endpoint: 'integrations',
metafieldKey: 'integrations',
flag: 'enable_storefront_integrations_read',
isValid: function(value) { return Array.isArray(value); },
apply: function(data) {
cfg.integrations = data;
}
});
}
function refreshSellingPlans(embedOnly) {
const cfg = window._RestockRocketConfig;
return refreshShopConfig({
embedOnly: embedOnly === true,
endpoint: 'selling_plans',
metafieldKey: 'cachedSellingPlans',
flag: 'enable_storefront_selling_plans_read',
isValid: function(value) { return !!value && Array.isArray(value.plans); },
apply: function(data) {
cfg.sellingPlans = data.plans;
cfg.disabledSellingPlanIds = data.disabled_plan_ids || [];
if (data && data.read_flags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) {
cfg.readFlags = data.read_flags;
}
}
});
}
function initializeScripts(settings) {
settings = applyTranslations(settings);
window._RestockRocketConfig.settings = settings;
console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`);
const forceEmbedSellingPlans = settings.force_embed_selling_plans === true;
const staleRefresh = !window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid;
if (forceEmbedSellingPlans || staleRefresh) {
console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)'));
const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)];
if (staleRefresh) { refreshes.push(refreshIntegrations()); }
Promise.race([
Promise.all(refreshes),
new Promise(function(resolve) { setTimeout(resolve, 1000); })
]).then(function() { loadScripts(settings); });
return;
}
loadScripts(settings);
}
function loadScripts(settings) {
setupCartSellingPlanUpdater(settings);
if(settings.enable_app) {
const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) {
return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType);
})
const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans)
&& window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; });
const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds)
&& window._RestockRocketConfig.disabledSellingPlanIds.length > 0;
const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds;
const collectionScriptUrl = usePreorderBuild
? window._RestockRocketConfig.scriptUrlCollection
: window._RestockRocketConfig.scriptUrlCollectionBis;
const productScriptUrl = usePreorderBuild
? window._RestockRocketConfig.scriptUrlProduct
: window._RestockRocketConfig.scriptUrlProductBis;
const pageType = window._RestockRocketConfig.pageType;
const collectionPageTypes = ['collection', 'index', 'search', 'page'];
if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) {
createRestockRocketScript(collectionScriptUrl);
} else if(pageType === 'product') {
createRestockRocketScript(productScriptUrl);
} else if(hijackIntegration) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else if(usePreorderBuild) {
createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
} else {
console.debug(`STOQ - no scripts enabled for ${pageType}`);
}
const appLoadedEvent = new CustomEvent('stoq:loaded', {
detail: {
pageType: window._RestockRocketConfig.pageType,
enabled: settings.enable_app,
settings: settings,
preorderEnabled: settings.preorder_enabled
}
});
console.debug('STOQ - dispatching app loaded event');
window.dispatchEvent(appLoadedEvent);
}
}
</script><style id="RestockRocketStyle">html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}</style>
</div><script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
<shopify-chat></shopify-chat>
</body>
</html>