/*
Theme Name: Bijouchou (Blocksy enfant)
Template: blocksy
Description: Thème enfant de Blocksy pour Bijouchou : petits bijoux à petits prix.
Author: Bijouchou
Version: 1.0.45
Text Domain: bijouchou
*/

:root {
	--bjc-turquoise: #20B9BC;
	--bjc-turquoise-fonce: #179A9D;
	--bjc-corail: #FF704F;
	--bjc-corail-fonce: #E85B3B;
	--bjc-citron: #D8ED55;
	--bjc-jaune: #FFE16B;
	--bjc-creme: #FFF4E8;
	--bjc-peche: #FDE9D7;
	--bjc-petrole: #073F49;
	--bjc-titre: 'Kalam', 'Comic Sans MS', cursive;
	--bjc-logo: 'Fredoka', 'DM Sans', sans-serif;
	--bjc-texte: 'DM Sans', system-ui, sans-serif;
	--theme-font-family: var(--bjc-texte);
	--theme-palette-color-1: #FF704F;
	--theme-palette-color-2: #E85B3B;
	--theme-palette-color-3: #073F49;
	--theme-palette-color-4: #073F49;
	--theme-palette-color-5: #EADBC8;
	--theme-palette-color-6: #FDE9D7;
	--theme-palette-color-7: #FFF4E8;
	--theme-palette-color-8: #FFFFFF;
	--theme-link-initial-color: #073F49;
	--theme-link-hover-color: #FF704F;
	--theme-button-background-initial-color: #FF704F;
	--theme-button-background-hover-color: #E85B3B;
}

body {
	font-family: var(--bjc-texte);
	color: var(--bjc-petrole);
	background: var(--bjc-creme);
}

h1, h2, h3, .page-title, .woocommerce-products-header__title {
	font-family: var(--bjc-titre);
	font-weight: 700;
	color: var(--bjc-petrole);
	letter-spacing: 0;
}

/* ---------- En-tête ---------- */
[data-row="top"] { background: var(--bjc-turquoise) !important; }
.bjc-annonce { margin: 0; color: #fff; font-weight: 500; font-size: 14px; text-align: center; }
[data-row="middle"] { background: var(--bjc-creme) !important; }
.site-title, .site-title a {
	font-family: var(--bjc-logo) !important;
	font-weight: 700 !important;
	font-size: 34px !important;
	line-height: 1 !important;
	color: var(--bjc-turquoise) !important;
	letter-spacing: 0.01em;
	text-transform: none;
}
.site-title a::after {
	content: '';
	display: inline-block;
	width: 22px; height: 22px;
	margin-left: 6px;
	vertical-align: top;
	background: no-repeat center/contain url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23FF704F%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%3E%3Cpath%20d%3D%27M4%208l5%203M6%202l4%207M14%201l-1%207%27%2F%3E%3C%2Fsvg%3E");
}
.ct-header [data-id="menu"] > ul > li > a { color: var(--bjc-petrole) !important; font-weight: 500; text-transform: none !important; font-size: 15px; letter-spacing: 0 !important; }
.ct-header [data-id="menu"] > ul > li > a:hover,
.ct-header [data-id="menu"] > ul > li.current-menu-item > a { color: var(--bjc-turquoise) !important; }
.ct-header .ct-cart-item .ct-dynamic-count-cart { background: var(--bjc-corail) !important; color: #fff !important; }

/* ---------- Boutons ---------- */
.button, button.button, .wp-element-button, input[type="submit"], .added_to_cart, .checkout-button, #place_order {
	border-radius: 999px !important;
}
.bjc-btn {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 14px 30px;
	background: var(--bjc-corail); color: #fff !important;
	border-radius: 999px; font-weight: 700; font-size: 16px;
	text-decoration: none; box-shadow: 0 6px 0 rgba(7,63,73,0.08);
	transition: background .2s, transform .2s;
}
.bjc-btn:hover { background: var(--bjc-corail-fonce); transform: translateY(-2px); }
.bjc-btn--petrole { background: var(--bjc-petrole); }
.bjc-btn--petrole:hover { background: #0B5562; }

/* ---------- Accueil ---------- */
.bjc-accueil .hero-section, .bjc-accueil .entry-header { display: none !important; }
.bjc-accueil .site-main > .ct-container-full, .bjc-accueil article .entry-content { padding-top: 0 !important; }
.bjc-accueil [data-vertical-spacing] { padding-top: 0 !important; }
.bjc-accueil .entry-content > * { max-width: none; }

.bjc-hero {
	display: grid; grid-template-columns: 1fr 1.25fr; align-items: center;
	min-height: 460px; margin: 0 calc(50% - 50vw); width: 100vw;
	background: var(--bjc-creme); overflow: hidden;
}
.bjc-hero__texte { padding: 48px 32px 48px max(24px, calc(50vw - 600px)); }
.bjc-hero__titre { font-size: clamp(42px, 5.4vw, 68px); line-height: 1.05; margin: 0 0 22px; transform: rotate(-2deg); }
.bjc-souligne { color: var(--bjc-corail); position: relative; display: inline-block; }
.bjc-souligne::after {
	content: ''; position: absolute; left: 0; right: 0; bottom: -10px; height: 14px;
	background: no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20200%2014%27%20preserveAspectRatio%3D%27none%27%3E%3Cpath%20d%3D%27M3%2010%20C%2060%202%2C%20140%202%2C%20197%206%27%20fill%3D%27none%27%20stroke%3D%27%23FF704F%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}
.bjc-hero__sous { font-size: 18px; line-height: 1.5; margin: 0 0 28px; }
.bjc-hero__photo { height: 100%; min-height: 460px; position: relative; }
.bjc-hero__photo img {
	position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 20%;
	clip-path: ellipse(100% 120% at 100% 50%);
}

.bjc-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; padding: 48px 0 24px; }
.bjc-cat { text-align: center; text-decoration: none; color: var(--bjc-petrole); }
.bjc-cat__blob {
	display: block; aspect-ratio: 4 / 3; overflow: hidden;
	border-radius: 58% 42% 55% 45% / 52% 60% 40% 48%;
	transition: transform .25s;
}
.bjc-cat:nth-child(2) .bjc-cat__blob { border-radius: 45% 55% 40% 60% / 60% 45% 55% 40%; }
.bjc-cat:nth-child(3) .bjc-cat__blob { border-radius: 60% 40% 50% 50% / 45% 55% 45% 55%; }
.bjc-cat:nth-child(4) .bjc-cat__blob { border-radius: 50% 50% 60% 40% / 40% 60% 50% 50%; }
.bjc-cat__blob img { width: 100%; height: 100%; object-fit: contain; padding: 6% 14%; box-sizing: border-box; mix-blend-mode: multiply; }
.bjc-cat__blob--jaune { background: var(--bjc-jaune); }
.bjc-cat__blob--turquoise { background: #8FDCDD; }
.bjc-cat__blob--corail { background: #FF9A80; }
.bjc-cat__blob--citron { background: var(--bjc-citron); }
.bjc-cat:hover .bjc-cat__blob { transform: rotate(-3deg) scale(1.03); }
.bjc-cat__nom { display: block; margin-top: 12px; font-family: var(--bjc-titre); font-size: 26px; }

.bjc-section { padding: 40px 0; }
.bjc-entete { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.bjc-titre { font-size: clamp(32px, 4vw, 44px); margin: 0; }
/* Kalam : le « œ » a une grande marge à droite, on la resserre */
.bjc-oe { margin-right: -0.16em; }
.bjc-voir { color: var(--bjc-petrole); font-weight: 500; font-size: 15px; text-decoration: underline; text-underline-offset: 6px; }

.bjc-promo {
	display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap;
	margin: 32px 0; padding: 36px 32px;
	background: var(--bjc-citron); border-radius: 28px;
}
.bjc-promo p { margin: 0; }
.bjc-promo__texte { font-family: var(--bjc-titre); font-size: 30px; line-height: 1.1; transform: rotate(-2deg); }
.bjc-promo__pastille {
	background: var(--bjc-corail); color: #fff; font-family: var(--bjc-titre); font-size: 34px;
	padding: 10px 26px; border-radius: 50% 45% 50% 45% / 55% 50% 50% 45%; transform: rotate(-3deg);
}
.bjc-promo__suite { font-family: var(--bjc-titre); font-size: 24px; }

.bjc-histoire {
	display: grid; grid-template-columns: 0.9fr 1.1fr; align-items: center; gap: 48px;
	margin: 48px 0; padding: 48px 56px; border-radius: 36px;
	background: var(--bjc-turquoise); color: #fff; position: relative; overflow: hidden;
}
.bjc-histoire::after { content: ''; position: absolute; right: -60px; bottom: -60px; width: 220px; height: 220px; border-radius: 50%; background: rgba(255,255,255,.12); }
.bjc-histoire__visuel { position: relative; }
.bjc-histoire__blob { display: block; aspect-ratio: 1; max-width: 380px; margin: 0 auto; background: var(--bjc-citron); border-radius: 58% 42% 55% 45% / 52% 60% 40% 48%; overflow: hidden; transform: rotate(-4deg); }
.bjc-histoire__blob img { width: 100%; height: 100%; object-fit: contain; padding: 12%; box-sizing: border-box; mix-blend-mode: multiply; }
.bjc-histoire__sticker {
	position: absolute; right: 4%; top: 6%; width: 120px; height: 120px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center; text-align: center;
	background: var(--bjc-corail); color: #fff; font-family: var(--bjc-titre); font-size: 24px; line-height: 1.1;
	transform: rotate(12deg); box-shadow: 0 6px 0 rgba(7,63,73,.15);
}
.bjc-histoire__texte { position: relative; z-index: 1; }
.bjc-histoire__sur { margin: 0 0 8px; color: var(--bjc-citron); font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.bjc-histoire__titre { color: #fff !important; font-size: clamp(32px, 3.6vw, 46px); line-height: 1.1; margin: 0 0 18px; }
.bjc-histoire__texte p { font-size: 17px; line-height: 1.6; margin: 0 0 12px; color: #fff; }
.bjc-histoire__texte strong { color: #fff; }
.bjc-histoire .bjc-btn { margin-top: 10px; }
.bjc-fiche-plus { list-style: none; margin: 20px 0 0; padding: 16px 20px; background: #fff; border-radius: 18px; border: 2px dashed var(--bjc-turquoise); }
.bjc-fiche-plus li { margin: 4px 0; font-size: 15px; }

/* ---------- Cartes produits ---------- */
ul.products { --bjc-carte-fond: #FFF0B3; }
ul.products li.product {
	background: #fff; border-radius: 26px; padding: 10px 10px 16px !important; overflow: visible;
	box-shadow: 0 4px 0 rgba(7,63,73,0.06);
	transition: transform .25s cubic-bezier(.3,1.6,.6,1), box-shadow .25s;
	position: relative;
}
ul.products li.product:nth-child(4n+2) { --bjc-carte-fond: #C9EFF0; }
ul.products li.product:nth-child(4n+3) { --bjc-carte-fond: #FFD6CB; }
ul.products li.product:nth-child(4n+4) { --bjc-carte-fond: #EEF7B5; }
ul.products li.product:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 0 14px 0 -4px var(--bjc-carte-fond), 0 18px 30px rgba(7,63,73,0.10); }
ul.products li.product:nth-child(even):hover { transform: translateY(-6px) rotate(1deg); }
ul.products li.product figure { margin: 0 0 14px !important; position: relative; }
ul.products li.product .ct-media-container {
	display: block; border-radius: 20px !important; overflow: hidden; margin: 0 !important;
	background: var(--bjc-carte-fond) !important; aspect-ratio: 1 / 1;
}
ul.products li.product .ct-media-container img {
	aspect-ratio: 1 / 1 !important; width: 100% !important; height: 100% !important;
	object-fit: contain !important; padding: 6%; box-sizing: border-box;
	mix-blend-mode: multiply; transition: transform .35s;
}
ul.products li.product:hover .ct-media-container img { transform: scale(1.06); }
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
	font-family: var(--bjc-texte) !important; font-size: 15px !important; font-weight: 500 !important; line-height: 1.35 !important;
	padding: 0 8px; margin-bottom: 6px !important; min-height: 2.7em;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
ul.products li.product .woocommerce-loop-product__title a, ul.products li.product h2 a { color: var(--bjc-petrole) !important; }
ul.products li.product .price { padding: 0 8px; color: var(--bjc-petrole) !important; font-family: var(--bjc-logo); font-weight: 700; font-size: 20px !important; }
ul.products li.product .price del { opacity: .45; font-family: var(--bjc-texte); font-weight: 400; font-size: 13px; }
ul.products li.product .price ins { text-decoration: none; color: var(--bjc-corail) !important; }
ul.products li.product .ct-woo-card-actions { padding: 0 8px; margin-top: 10px; }
ul.products li.product .button {
	background: var(--bjc-petrole) !important; color: #fff !important; border: 0 !important;
	width: 100%; justify-content: center; font-weight: 700; min-height: 42px;
	transition: background .2s, transform .2s;
}
ul.products li.product .button::before { content: '+ '; font-weight: 700; margin-right: 2px; }
ul.products li.product .button:hover { background: var(--bjc-corail) !important; transform: scale(1.03); }
.onsale, ul.products li.product .onsale {
	background: var(--bjc-corail) !important; color: #fff !important;
	font-family: var(--bjc-logo); font-size: 15px !important; font-weight: 700; text-transform: none !important; letter-spacing: 0 !important;
	border-radius: 50% !important; width: 58px !important; height: 58px !important; min-height: 0 !important; padding: 0 !important;
	display: flex !important; align-items: center; justify-content: center; text-align: center; line-height: 1.05;
	top: -10px !important; left: -10px !important; right: auto !important; z-index: 3;
	transform: rotate(-12deg); box-shadow: 0 3px 0 rgba(7,63,73,0.15);
}
ul.products li.product:nth-child(4n+3) .onsale, ul.products li.product:nth-child(4n+4) .onsale { background: var(--bjc-turquoise) !important; }
.single-product .price, .single-product .summary .price { color: var(--bjc-corail) !important; }
.single_add_to_cart_button { background: var(--bjc-corail) !important; }
.single_add_to_cart_button:hover { background: var(--bjc-corail-fonce) !important; }

/* ---------- Réassurance & pied de page ---------- */
.bjc-reass {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
	max-width: 1200px; margin: 40px auto 0; padding: 28px 24px;
}
.bjc-reass__item { background: #fff; border-radius: 20px; padding: 20px 16px; text-align: center; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.bjc-reass__item strong { font-size: 16px; }
.bjc-reass__ico { font-size: 26px; }
.bjc-reass a { color: var(--bjc-corail); }

.ct-footer, .ct-footer [data-row] { background: var(--bjc-turquoise) !important; color: #fff !important; }
.ct-footer [data-row="bottom"] { background: var(--bjc-turquoise-fonce) !important; }
.ct-footer a { color: #fff !important; }
.ct-footer a:hover { color: var(--bjc-citron) !important; }
.a316-pied ul { list-style: none; margin: 0; padding: 0; }
.a316-pied li { margin: 0 0 8px; }
.a316-pied__titre { font-weight: 700; font-size: 16px; margin: 0 0 14px; color: #fff; }
.a316-pied p { color: #fff; }
.a316-pied .a316-pied__titre[style] { font-family: var(--bjc-logo); font-size: 34px !important; }

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
	.bjc-histoire { grid-template-columns: 1fr; gap: 24px; padding: 32px 20px; text-align: center; border-radius: 28px; }
	.bjc-histoire__blob { max-width: 240px; }
	.bjc-histoire__sticker { width: 92px; height: 92px; font-size: 19px; right: 8%; }
	ul.products li.product { padding: 6px 6px 12px !important; border-radius: 20px; }
	.onsale, ul.products li.product .onsale { width: 48px !important; height: 48px !important; font-size: 13px !important; top: -6px !important; left: -6px !important; }
	ul.products li.product .price { font-size: 17px !important; }
	.bjc-hero { grid-template-columns: 1fr; }
	.bjc-hero__photo { min-height: 300px; order: -1; }
	.bjc-hero__photo img { clip-path: ellipse(120% 100% at 50% 0%); }
	.bjc-hero__texte { padding: 28px 16px 40px; text-align: center; }
	.bjc-cats { grid-template-columns: repeat(2, 1fr); gap: 18px; }
	.bjc-cat__nom { font-size: 22px; }
	.bjc-reass { grid-template-columns: repeat(2, 1fr); padding: 16px; }
	.site-title, .site-title a { font-size: 28px !important; }
}

.ct-breadcrumbs a { color: var(--bjc-turquoise-fonce) !important; }
.cookie-notification .ct-button, .cookie-notification button.ct-accept { background: var(--bjc-corail) !important; border-color: var(--bjc-corail) !important; }

.single-product div.product .onsale { top: 16px !important; left: 16px !important; width: 64px !important; height: 64px !important; font-size: 17px !important; }

/* ---------- Fiche produit : description ---------- */
.bjc-desc {
	display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 32px; align-items: start;
	max-width: 1200px; margin: 48px auto 0;
}
.bjc-desc__texte { background: #fff; border-radius: 28px; padding: 36px 40px; font-size: 16px; line-height: 1.7; }
.bjc-desc__sur { font-family: var(--bjc-titre); font-size: 28px; color: var(--bjc-turquoise-fonce); margin: 0 0 12px; transform: rotate(-1.5deg); display: inline-block; }
.bjc-desc__texte > p { margin: 0 0 16px; }
.bjc-desc__texte, .bjc-desc__texte p:not(.bjc-desc__sur), .bjc-desc__intro { font-size: 15px !important; line-height: 1.6 !important; }
.bjc-desc__texte .bjc-desc__sur { font-size: 24px !important; line-height: 1.2 !important; }
.bjc-astuces { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0 8px; }
.bjc-astuce { border-radius: 20px; padding: 20px 22px; background: var(--bjc-creme); }
.bjc-astuce:nth-child(1) { background: #C9EFF0; }
.bjc-astuce:nth-child(2) { background: #FFF0B3; }
.bjc-astuce:nth-child(3) { background: #FFD6CB; }
.bjc-astuce h3 { font-family: var(--bjc-logo); font-size: 18px !important; margin: 0 0 6px !important; }
.bjc-astuce p { margin: 0; font-size: 15px; line-height: 1.6; }
.bjc-fin { display: inline-block; margin: 18px 0 0 !important; background: var(--bjc-citron); color: var(--bjc-petrole); border-radius: 999px; padding: 8px 18px; font-size: 14px; font-weight: 500; }
.bjc-desc__carte { background: var(--bjc-turquoise); color: #fff; border-radius: 28px; padding: 28px 26px; position: sticky; top: 24px; }
.bjc-desc__carte-titre { font-family: var(--bjc-titre); font-size: 26px; margin: 0 0 14px; color: #fff; }
.bjc-desc__carte dl { margin: 0; }
.bjc-desc__ligne { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 2px dashed rgba(255,255,255,.35); font-size: 15px; }
.bjc-desc__ligne dt { font-weight: 500; opacity: .9; }
.bjc-desc__ligne dd { margin: 0; font-weight: 700; text-align: right; }
.bjc-desc__ecrin { margin: 18px 0 0; background: #fff; color: var(--bjc-petrole); border-radius: 999px; padding: 10px 16px; text-align: center; font-weight: 700; font-size: 15px; }
.single-product .related.products { margin-top: 72px !important; padding-top: 8px; }
.single-product .related.products > h2 { font-size: 34px !important; text-align: center; margin-bottom: 28px !important; }
@media (max-width: 900px) {
	.bjc-desc { grid-template-columns: 1fr; gap: 20px; margin-top: 32px; }
	.bjc-desc__carte { position: static; order: -1; }
	.bjc-desc__texte { padding: 24px 20px; }
	.bjc-astuces { grid-template-columns: 1fr; }
	.single-product .related.products { margin-top: 48px !important; }
}

/* Réassurance : même largeur que le reste du site */
.bjc-reass { width: var(--theme-container-edge-spacing, 90vw); max-width: var(--theme-normal-container-max-width, 1290px); box-sizing: border-box; padding-left: 0; padding-right: 0; }

/* ---------- Compte client : connexion, menu du compte, fenêtre de connexion ---------- */
:root { --theme-form-field-border-radius: 12px; }
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-navigation ul { border-radius: 20px; overflow: hidden; }
.woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-message { background: #fff; border-radius: 20px; }
.woocommerce-form-login { background: #fff; border-radius: 28px; padding: 32px 28px; border: 0; }
#account-modal .ct-account-modal { border-radius: 28px; }
#account-modal .ct-account-modal .ct-button, #account-modal .ct-account-modal .button { border-radius: 999px; }

/* Menu mobile : liens Mon compte et Contact, plus discrets, sous les catégories */
#offcanvas .bjc-menu-plus > a { font-family: var(--bjc-texte); font-size: 18px; font-weight: 500; }
#offcanvas .bjc-menu-plus--premier { margin-top: 18px; padding-top: 18px; border-top: 2px dashed rgba(7, 63, 73, 0.15); }
#offcanvas .bjc-menu-plus > a { display: inline-flex; align-items: center; gap: 12px; }
#offcanvas .bjc-menu-plus > a::before { content: ''; width: 20px; height: 20px; flex: none; background: var(--bjc-corail); -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
#offcanvas .bjc-ico-compte > a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015%2015%22%3E%3Cpath%20d%3D%22M7.5%2C0C3.4%2C0%2C0%2C3.4%2C0%2C7.5c0%2C1.7%2C0.5%2C3.2%2C1.5%2C4.5c1.4%2C1.9%2C3.6%2C3%2C6%2C3s4.6-1.1%2C6-3c1-1.3%2C1.5-2.9%2C1.5-4.5C15%2C3.4%2C11.6%2C0%2C7.5%2C0zM7.5%2C13.5c-1.4%2C0-2.8-0.5-3.8-1.4c1.1-0.9%2C2.4-1.4%2C3.8-1.4s2.8%2C0.5%2C3.8%2C1.4C10.3%2C13%2C8.9%2C13.5%2C7.5%2C13.5z%20M12.3%2C11c-1.3-1.1-3-1.8-4.8-1.8S4%2C9.9%2C2.7%2C11c-0.8-1-1.2-2.2-1.2-3.5c0-3.3%2C2.7-6%2C6-6s6%2C2.7%2C6%2C6C13.5%2C8.8%2C13.1%2C10%2C12.3%2C11zM7.5%2C3C6.1%2C3%2C5%2C4.1%2C5%2C5.5S6.1%2C8%2C7.5%2C8S10%2C6.9%2C10%2C5.5S8.9%2C3%2C7.5%2C3zM7.5%2C6.5c-0.5%2C0-1-0.5-1-1s0.5-1%2C1-1s1%2C0.5%2C1%2C1S8%2C6.5%2C7.5%2C6.5z%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2015%2015%22%3E%3Cpath%20d%3D%22M7.5%2C0C3.4%2C0%2C0%2C3.4%2C0%2C7.5c0%2C1.7%2C0.5%2C3.2%2C1.5%2C4.5c1.4%2C1.9%2C3.6%2C3%2C6%2C3s4.6-1.1%2C6-3c1-1.3%2C1.5-2.9%2C1.5-4.5C15%2C3.4%2C11.6%2C0%2C7.5%2C0zM7.5%2C13.5c-1.4%2C0-2.8-0.5-3.8-1.4c1.1-0.9%2C2.4-1.4%2C3.8-1.4s2.8%2C0.5%2C3.8%2C1.4C10.3%2C13%2C8.9%2C13.5%2C7.5%2C13.5z%20M12.3%2C11c-1.3-1.1-3-1.8-4.8-1.8S4%2C9.9%2C2.7%2C11c-0.8-1-1.2-2.2-1.2-3.5c0-3.3%2C2.7-6%2C6-6s6%2C2.7%2C6%2C6C13.5%2C8.8%2C13.1%2C10%2C12.3%2C11zM7.5%2C3C6.1%2C3%2C5%2C4.1%2C5%2C5.5S6.1%2C8%2C7.5%2C8S10%2C6.9%2C10%2C5.5S8.9%2C3%2C7.5%2C3zM7.5%2C6.5c-0.5%2C0-1-0.5-1-1s0.5-1%2C1-1s1%2C0.5%2C1%2C1S8%2C6.5%2C7.5%2C6.5z%22%2F%3E%3C%2Fsvg%3E"); }
#offcanvas .bjc-ico-contact > a::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222.5%22%20y%3D%225%22%20width%3D%2219%22%20height%3D%2214%22%20rx%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M3%206.5l9%206.5%209-6.5%22%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%222.5%22%20y%3D%225%22%20width%3D%2219%22%20height%3D%2214%22%20rx%3D%222.5%22%2F%3E%3Cpath%20d%3D%22M3%206.5l9%206.5%209-6.5%22%2F%3E%3C%2Fsvg%3E"); }

/* ---------- Message « livraison offerte » : encadré bien visible ---------- */
[class*="ct-shipping-progress"] { background: #FFE6DE; border: 2px dashed var(--bjc-corail); border-radius: 18px; padding: 14px 16px; margin: 16px 0; color: var(--bjc-petrole); }
[class*="ct-shipping-progress"] .ct-message { font-size: 15px; font-weight: 500; line-height: 1.45; margin-bottom: 10px; }
[class*="ct-shipping-progress"] .ct-message strong { color: var(--bjc-corail); font-weight: 700; }
[class*="ct-shipping-progress"] .ct-progress-bar { height: 8px; border-radius: 99px; background: #fff; overflow: hidden; }
[class*="ct-shipping-progress"] .ct-progress-bar span { height: 100%; border-radius: 99px; }
[class*="ct-shipping-progress"]:has(.ct-progress-bar span[style*="100%"]) { background: #DDF4F4; border: 2px solid var(--bjc-turquoise); }
[class*="ct-shipping-progress"]:has(.ct-progress-bar span[style*="100%"]) .ct-message { font-weight: 700; color: var(--bjc-turquoise-fonce, #12898B); }
.bjc-livraison-fiche .ct-message:only-child { margin-bottom: 0; }

/* ---------- Espace client : tableau de bord ---------- */
.bjc-compte__hello { background: var(--bjc-turquoise); color: #fff; border-radius: 28px; padding: 28px 30px; margin-bottom: 20px; }
.bjc-compte__titre { font-family: var(--bjc-titre); font-size: 32px; line-height: 1.2; margin: 0 0 6px; color: #fff; transform: rotate(-1deg); display: inline-block; }
.bjc-compte__texte { margin: 0; font-size: 16px; }
.bjc-compte__cartes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bjc-compte__carte { display: flex; flex-direction: column; gap: 4px; padding: 22px 20px; border-radius: 24px; color: var(--bjc-petrole) !important; text-decoration: none !important; transition: transform .2s; }
.bjc-compte__carte:hover { transform: translateY(-3px) rotate(-1deg); }
.bjc-compte__carte strong { font-family: var(--bjc-logo); font-size: 20px; }
.bjc-compte__carte span:last-child { font-size: 14px; opacity: .85; }
.bjc-compte__ico { font-size: 30px; }
.bjc-compte__carte--corail { background: #FFE6DE; }
.bjc-compte__carte--turquoise { background: #DDF4F4; }
.bjc-compte__carte--citron { background: #F3F9C9; }
.bjc-compte__bas { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 22px; }
.bjc-compte__bas p { margin: 0; }
.bjc-compte__bas p a { color: var(--bjc-corail); }
.woocommerce-MyAccount-navigation li a svg, .woocommerce-MyAccount-navigation li a .ct-icon { color: var(--bjc-corail); }
.woocommerce-MyAccount-navigation li.is-active a svg, .woocommerce-MyAccount-navigation li.is-active a .ct-icon { color: #fff; }
.woocommerce-account .woocommerce-Address { background: #fff; border: 0 !important; border-radius: 24px; padding: 24px !important; }
.woocommerce-account .woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.woocommerce-account .woocommerce-Address-title h2, .woocommerce-account .woocommerce-Address-title h3 { margin: 0; }
.woocommerce-account .woocommerce-Address-title .edit { background: var(--bjc-corail); color: #fff !important; border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 700; text-decoration: none; }
.woocommerce-account .woocommerce-Address-title .edit:hover { background: var(--bjc-corail-fonce); }
.woocommerce-account .woocommerce-EditAccountForm, .woocommerce-account .woocommerce-address-fields { background: #fff; border-radius: 24px; padding: 24px; }
.woocommerce:has(.bjc-compte) .ct-acount-nav, .woocommerce:has(.bjc-compte) .woocommerce-MyAccount-navigation { display: none !important; }
.woocommerce:has(.bjc-compte) .woocommerce-MyAccount-content { width: 100% !important; max-width: none !important; flex: 1 1 100% !important; margin: 0 !important; padding: 0 !important; }
.bjc-compte__sortie { text-align: center; margin: 28px 0 0; }
.bjc-compte__deco { display: inline-block; padding: 10px 22px; border: 2px solid var(--bjc-petrole); border-radius: 999px; color: var(--bjc-petrole) !important; font-weight: 700; text-decoration: none !important; }
.bjc-compte__deco:hover { background: var(--bjc-petrole); color: #fff !important; }
@media (max-width: 689.98px) {
	.bjc-compte__cartes { grid-template-columns: 1fr; gap: 12px; }
	.bjc-compte__carte { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 14px; padding: 16px 18px; }
	.bjc-compte__carte span:last-child { flex-basis: 100%; padding-left: 44px; margin-top: -4px; }
	.bjc-compte__titre { font-size: 28px; }
	.bjc-compte__bas { flex-direction: column; align-items: stretch; text-align: center; }
	.bjc-compte__bas .bjc-btn { justify-content: center; }
}

/* ---------- Titres des pages client (panier, commande, compte) : décorés ---------- */
:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .tax-product_cat, .post-type-archive-product) .hero-section .page-title { position: relative; display: table; padding-bottom: 14px; transform: rotate(-1.5deg); }
:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .tax-product_cat, .post-type-archive-product) .hero-section .page-title::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 12px; background: no-repeat center / 100% 100% url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20200%2014%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M3%209%20C%2040%202%2C%2080%2013%2C%20120%206%20S%20180%204%2C%20197%208%22%20fill%3D%22none%22%20stroke%3D%22%23FF704F%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E"); }

:is(.tax-product_cat, .post-type-archive-product) .hero-section .page-title { margin-left: auto; margin-right: auto; }

/* ---------- Téléphone : photos des cartes qui défilent au doigt ---------- */
@media (hover: none) {
	ul.products li.product .bjc-defil { position: relative; }
	.bjc-defil__bande { display: flex; gap: 2px; width: 100%; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.bjc-defil__bande::-webkit-scrollbar { display: none; }
	ul.products li.product .bjc-defil__bande img { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; transform: none !important; }
	.bjc-defil__trait { position: absolute; left: 25%; right: 25%; bottom: 10px; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, 0.7); overflow: hidden; pointer-events: none; }
	.bjc-defil__trait i { display: block; height: 100%; border-radius: 4px; background: var(--bjc-petrole); transition: transform .25s; }
}

/* ---------- Mobile : boutons des cartes produits sur une ligne ---------- */
@media (max-width: 689.98px) {
	ul.products li.product .button { font-size: 0 !important; min-height: 40px; padding: 0 10px !important; white-space: nowrap; }
	ul.products li.product .button::before { content: 'Au panier'; display: inline !important; font-size: 14px; margin: 0; position: static !important; opacity: 1 !important; width: auto !important; height: auto !important; background: none !important; filter: none !important; z-index: auto !important; transition: none !important; }
	ul.products li.product .button.product_type_variable::before { content: 'Choisir'; }
	ul.products li.product .added_to_cart { font-size: 13px; white-space: nowrap; }
	.bjc-reass { gap: 12px; }
	.bjc-reass__item { padding: 20px 8px; justify-content: center; }
	.bjc-reass__item strong, .bjc-reass__item span:not(.bjc-reass__ico) { white-space: nowrap; }
	.bjc-desc { width: var(--theme-container-edge-spacing, 88vw); margin-left: auto; margin-right: auto; }
}

/* ===== Page panier (02/11) ===== */
/* Panier rempli : liste des bijoux et récapitulatif dans des cartes blanches
   (bordure, arrondi et marges du récapitulatif = réglages Blocksy « Cart Page ») */
.woocommerce-cart .woocommerce-cart-form { background: #fff; border-radius: 20px; padding: 10px 28px 24px; align-self: start; }
.woocommerce-cart .cart_totals { background: #fff; }
.woocommerce-cart .cart_totals > h2 { font-family: var(--bjc-titre); font-size: 28px; color: var(--bjc-petrole); margin-bottom: 8px; }
.woocommerce-cart .woocommerce-shipping-destination { display: none; }
.woocommerce-cart .order-total th, .woocommerce-cart .order-total .amount { font-size: 20px; }
.woocommerce-cart button[name="update_cart"] { background: transparent; color: var(--bjc-petrole); border: 2px solid var(--bjc-turquoise); }
.woocommerce-cart button[name="update_cart"]:not(:disabled):hover { background: var(--bjc-turquoise); color: #fff; }
.woocommerce-cart button[name="update_cart"]:disabled { opacity: .45; }
.woocommerce-cart .checkout-button { font-size: 17px; min-height: 52px; }
@media (max-width: 689.98px) {
	.woocommerce-cart .woocommerce-cart-form { padding: 4px 16px 18px; }
}

/* Panier vide : carte souriante + bouton + coups de cœur */
.wc-empty-cart-message .cart-empty {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px;
	background: #fff; border: 2px dashed var(--bjc-corail); border-radius: 24px;
	padding: 40px 24px 28px; max-width: 640px; margin: 0 auto;
	color: var(--bjc-petrole); font-size: 16px;
}
.wc-empty-cart-message .cart-empty > svg { display: none; }
.wc-empty-cart-message .cart-empty::before { position: static; width: auto; height: auto; content: '🛍️'; font-size: 54px; line-height: 1; margin-bottom: 8px; }
.wc-empty-cart-message .bjc-vide__titre { display: block; font-family: var(--bjc-titre); font-size: 32px; line-height: 1.15; transform: rotate(-1.5deg); }
.woocommerce-cart .return-to-shop { text-align: center; margin: 22px 0 0; }
.woocommerce-cart .return-to-shop .button { min-height: 50px; padding: 0 30px; font-size: 16px; }
.woocommerce-cart .bjc-vide-idees { margin-top: 56px; }
.woocommerce-cart .bjc-vide-idees .bjc-titre { text-align: center; margin-bottom: 24px; }
@media (max-width: 689.98px) {
	.wc-empty-cart-message .bjc-vide__titre { font-size: 26px; }
	.woocommerce-cart .bjc-vide-idees { margin-top: 40px; }
}

/* ===== Page de commande (02/11) =====
   Bordure, arrondi, marges du récapitulatif = réglages Blocksy « Checkout Page » */
.woocommerce-checkout .ct-customer-details { background: #fff; border-radius: 20px; padding: 28px; align-self: start; }
.woocommerce-checkout .ct-order-review { background: #fff; }
.woocommerce-checkout form.checkout h3 { font-family: var(--bjc-titre); font-size: 26px; color: var(--bjc-petrole); }
.woocommerce-checkout .order-total th, .woocommerce-checkout .order-total .amount { font-size: 20px; }
.woocommerce-checkout #place_order { font-size: 17px; min-height: 52px; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: #fff; border-radius: 16px; }
@media (max-width: 689.98px) {
	.woocommerce-checkout .ct-customer-details { padding: 20px 16px; }
}

/* ===== Page de remerciement (page Blocksy « Merci Bijouchou ») ===== */
.ct-order-review-block { background: #fff; border-radius: 20px; padding: 28px; }
.ct-order-review-block .woocommerce-order-overview { border: 0; background: var(--bjc-creme); border-radius: 16px; }
.ct-order-review-block .woocommerce-order-overview li { border-color: #fff !important; }
.ct-order-review-block h2 { font-size: 24px; margin: 28px 0 14px; }
.ct-order-review-block address { border-radius: 16px; }
@media (max-width: 689.98px) {
	.ct-order-review-block { padding: 18px 16px; }
}

/* Fiche produit : bloc « Paiement 100 % sécurisé » compact et arrondi (logos et taille = réglage Blocksy) */
.entry-summary .ct-payment-methods { border-radius: 16px; padding: 4px 14px 12px; }
.entry-summary .ct-payment-methods legend { font-size: 13px; padding: 0 8px; }
/* Cartes mobiles : coins arrondis aussi pendant le défilement des photos (iPhone) */
.bjc-defil, .bjc-defil__bande { border-radius: 20px; -webkit-mask-image: -webkit-radial-gradient(white, black); isolation: isolate; }
