/*
Theme Name: Uncode Child
Description: Child theme for Uncode theme
Author: Undsgn™
Author URI: http://www.undsgn.com
Template: uncode
Version: 1.0.0
Text Domain: uncode
*/
/* Polices hebergees sur le serveur de Panache (plus aucun appel a Google) */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;src:url("/wp-content/uploads/fonts/panache-playfair.woff2") format("woff2");}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400 900;font-display:swap;src:url("/wp-content/uploads/fonts/panache-playfair-italique.woff2") format("woff2");}
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:300;font-display:swap;src:url("/wp-content/uploads/fonts/panache-ubuntu-300.woff2") format("woff2");}
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url("/wp-content/uploads/fonts/panache-ubuntu-400.woff2") format("woff2");}
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:500;font-display:swap;src:url("/wp-content/uploads/fonts/panache-ubuntu-500.woff2") format("woff2");}
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url("/wp-content/uploads/fonts/panache-ubuntu-700.woff2") format("woff2");}

/* ===========================================================
   PANACHE - DA moune.studio
   Noir sur blanc. Playfair Display pour l'affichage,
   Ubuntu pour le texte courant.
   =========================================================== */

:root{
	--pan-noir:#000;
	--pan-papier:#fff;
	--pan-display:"Playfair Display", Georgia, serif;
	--pan-texte:"Ubuntu", Helvetica, Arial, sans-serif;
}

body, body p, body li, body .btn, body input, body textarea, body select{
	font-family:var(--pan-texte);
	font-weight:300;
	color:var(--pan-noir);
}
body{background:var(--pan-papier)}

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6{
	font-family:var(--pan-display);
	color:var(--pan-noir);
}

/* --- hero --- */
.pan-logo, .pan-logo h1{
	font-family:var(--pan-display)!important;
	font-weight:900!important;
	font-size:clamp(76px,13vw,200px)!important;
	line-height:.86!important;
	letter-spacing:-.035em!important;
	margin:0!important;
	color:var(--pan-noir)!important;
}
.pan-sur, .pan-sur h6{
	font-family:var(--pan-texte)!important;
	font-weight:500!important;
	font-size:clamp(11px,1.1vw,14px)!important;
	letter-spacing:.34em!important;
	text-transform:uppercase!important;
	margin:18px 0 0!important;
}
.pan-ville, .pan-ville h6{
	font-family:var(--pan-texte)!important;
	font-weight:400!important;
	font-size:10px!important;
	letter-spacing:.42em!important;
	text-transform:uppercase!important;
	margin:7px 0 0!important;
}
.pan-intro, .pan-intro div{
	font-family:var(--pan-texte)!important;
	font-weight:300!important;
	font-size:15.5px!important;
	line-height:1.72!important;
	max-width:46ch;
	margin:clamp(24px,3vw,38px) auto 0!important;
}
.pan-claim, .pan-claim h2{
	font-family:var(--pan-display)!important;
	font-style:italic!important;
	font-weight:900!important;
	font-size:clamp(28px,4.2vw,58px)!important;
	line-height:1.04!important;
	letter-spacing:-.02em!important;
	margin:clamp(30px,4vw,52px) 0 0!important;
}

/* --- titres de section --- */
.pan-eyebrow, .pan-eyebrow h6{
	font-family:var(--pan-texte)!important;
	font-weight:400!important;
	font-size:11px!important;
	letter-spacing:.2em!important;
	text-transform:uppercase!important;
	margin:0 0 12px!important;
}
.pan-h2, .pan-h2 h2{
	font-family:var(--pan-display)!important;
	font-weight:900!important;
	font-size:clamp(34px,5.2vw,68px)!important;
	line-height:1!important;
	letter-spacing:-.02em!important;
	margin:0!important;
	text-wrap:balance;
}
.pan-h2 em{font-style:italic}
.pan-lede, .pan-lede div{
	font-family:var(--pan-texte)!important;
	font-weight:300!important;
	font-size:16px!important;
	line-height:1.75!important;
	max-width:62ch;
	margin:0!important;
}
.pan-corps, .pan-corps div{
	font-family:var(--pan-texte)!important;
	font-weight:300!important;
	font-size:15.5px!important;
	line-height:1.78!important;
	max-width:54ch;
	margin:0 0 16px!important;
}

/* --- manifeste --- */
.pan-manifeste, .pan-manifeste h2{
	font-family:var(--pan-display)!important;
	font-style:italic!important;
	font-weight:900!important;
	font-size:clamp(32px,6vw,84px)!important;
	line-height:1.1!important;
	letter-spacing:-.025em!important;
	text-align:center!important;
	margin:0!important;
	text-wrap:balance;
}

/* --- phrases cles --- */
.pan-cle, .pan-cle div{
	font-family:var(--pan-display)!important;
	font-weight:700!important;
	font-size:clamp(16px,1.45vw,21px)!important;
	line-height:1.25!important;
	margin:0!important;
}

/* --- produits --- */
.pan-prod-titre, .pan-prod-titre h3{
	font-family:var(--pan-display)!important;
	font-weight:700!important;
	font-size:20px!important;
	line-height:1.2!important;
	margin:14px 0 0!important;
}
.pan-prod-desc, .pan-prod-desc div{
	font-family:var(--pan-texte)!important;
	font-weight:300!important;
	font-size:13.5px!important;
	line-height:1.6!important;
	margin:6px 0 0!important;
}
.pan-prix, .pan-prix div{
	font-family:var(--pan-texte)!important;
	font-weight:400!important;
	font-size:11px!important;
	letter-spacing:.14em!important;
	text-transform:uppercase!important;
	margin:10px 0 0!important;
}

/* --- avis --- */
.pan-avis, .pan-avis div{
	font-family:var(--pan-display)!important;
	font-weight:400!important;
	font-size:clamp(18px,2vw,28px)!important;
	line-height:1.5!important;
	margin:0!important;
}
.pan-avis-src, .pan-avis-src div{
	font-family:var(--pan-texte)!important;
	font-size:11px!important;
	letter-spacing:.18em!important;
	text-transform:uppercase!important;
	font-weight:400!important;
	margin:16px 0 0!important;
}

/* --- filets --- */
.pan-filet-haut{border-top:1px solid var(--pan-noir)}
.pan-filet-bas{border-bottom:1px solid var(--pan-noir)}
.pan-filet-gauche{border-left:1px solid var(--pan-noir)}

/* --- boutons --- */
.pan-btn a, a.pan-btn, .btn.pan-btn{
	font-family:var(--pan-texte)!important;
	font-weight:500!important;
	font-size:11px!important;
	letter-spacing:.2em!important;
	text-transform:uppercase!important;
	color:var(--pan-noir)!important;
	background:transparent!important;
	border:1px solid var(--pan-noir)!important;
	border-radius:0!important;
	padding:14px 26px!important;
	transition:background .3s ease, color .3s ease;
}
.pan-btn a:hover, a.pan-btn:hover{
	background:var(--pan-noir)!important;
	color:var(--pan-papier)!important;
}

/* --- entete et pied --- */
.menu-primary .menu-item > a, .menu-horizontal .menu-item > a{
	font-family:var(--pan-texte)!important;
	font-weight:500!important;
	font-size:11px!important;
	letter-spacing:.2em!important;
	text-transform:uppercase!important;
}
.logo-container .logo-image, #masthead .logo-text{
	font-family:var(--pan-display)!important;
	font-weight:900!important;
}


/* ===========================================================
   PANACHE - tout en noir, aucun gris
   =========================================================== */
body, body p, body li, body a, body span, body div, body td, body th,
body h1, body h2, body h3, body h4, body h5, body h6,
body .h1, body .h2, body .h3, body .h4, body .h5, body .h6,
body strong, body em, body blockquote, body label,
.pan-logo *, .pan-sur *, .pan-ville *, .pan-intro *, .pan-claim *,
.pan-eyebrow *, .pan-h2 *, .pan-lede *, .pan-corps *, .pan-manifeste *,
.pan-cle *, .pan-prod-titre *, .pan-prod-desc *, .pan-prix *,
.pan-avis *, .pan-avis-src *{
	color:#000;
}
.pan-logo, .pan-sur, .pan-ville, .pan-intro, .pan-claim,
.pan-eyebrow, .pan-h2, .pan-lede, .pan-corps, .pan-manifeste,
.pan-cle, .pan-prod-titre, .pan-prod-desc, .pan-prix,
.pan-avis, .pan-avis-src{
	color:#000!important;
}
.pan-logo *, .pan-sur *, .pan-ville *, .pan-intro *, .pan-claim *,
.pan-eyebrow *, .pan-h2 *, .pan-lede *, .pan-corps *, .pan-manifeste *,
.pan-cle *, .pan-prod-titre *, .pan-prod-desc *, .pan-prix *,
.pan-avis *, .pan-avis-src *{
	color:#000!important;
}


/* ===========================================================
   PANACHE - blocs accueil
   =========================================================== */
.pan-raw img{max-width:100%;height:auto;display:block}
.pan-raw p{margin:0}

/* --- hero --- */
.pan-hero{position:relative;overflow:hidden;padding-block:clamp(40px,6vw,90px) clamp(44px,6vw,96px)}
.pan-hero-core{position:relative;z-index:2;text-align:center;max-width:760px;margin:0 auto}
.pan-hero-h1{font-family:var(--pan-display);font-weight:900;font-size:clamp(76px,13vw,200px);line-height:.86;letter-spacing:-.035em;margin:0;color:#000}
.pan-hero-sub{margin:18px 0 0!important;font-family:var(--pan-texte);font-weight:500;font-size:clamp(11px,1.1vw,14px);letter-spacing:.34em;text-transform:uppercase}
.pan-hero-ville{margin:7px 0 0!important;font-family:var(--pan-texte);font-weight:400;font-size:10px;letter-spacing:.42em;text-transform:uppercase}
.pan-hero-txt{margin:clamp(24px,3vw,38px) auto 0!important;max-width:46ch;font-size:15.5px;line-height:1.72;font-weight:300}
.pan-hero-claim{font-family:var(--pan-display);font-style:italic;font-weight:900;font-size:clamp(28px,4.2vw,58px);line-height:1.04;letter-spacing:-.02em;margin:clamp(30px,4vw,52px) 0 0!important}
.pan-hero-cta{margin:clamp(26px,3.4vw,44px) 0 0!important}
.pan-hero-art{position:absolute;inset:0;z-index:1;pointer-events:none}
.pan-hero-art img{position:absolute;width:auto}
.pan-hero-art .pa1{top:14%;left:-2%;width:clamp(110px,13vw,215px)}
.pan-hero-art .pa2{top:4%;right:-1%;width:clamp(100px,12vw,190px)}
.pan-hero-art .pa3{bottom:2%;left:5%;width:clamp(100px,12vw,190px)}
.pan-hero-art .pa4{bottom:8%;right:4%;width:clamp(110px,13.5vw,220px)}
@media (max-width:1080px){
	.pan-hero-art{position:static;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:center;margin-top:34px}
	.pan-hero-art img{position:static;width:100%!important}
}

/* --- boutons --- */
a.pan-btn{display:inline-flex;align-items:center;gap:10px;border:1px solid #000;padding:14px 26px;font-family:var(--pan-texte);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#000;background:transparent;transition:background .3s ease,color .3s ease}
a.pan-btn:hover{background:#000;color:#fff}
a.pan-btn span{font-weight:400;font-size:14px;line-height:1}

/* --- phrases cles --- */
.pan-keys{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #000;border-bottom:1px solid #000}
.pan-keys > div{padding:clamp(24px,3vw,40px) clamp(14px,2vw,28px);border-left:1px solid #000;display:flex;align-items:center}
.pan-keys > div:first-child{border-left:0;padding-left:0}
.pan-keys p{font-family:var(--pan-display);font-weight:700;font-size:clamp(16px,1.45vw,21px);line-height:1.25}
@media (max-width:860px){
	.pan-keys{grid-template-columns:1fr 1fr}
	.pan-keys > div:nth-child(odd){border-left:0;padding-left:0}
	.pan-keys > div:nth-child(3),.pan-keys > div:nth-child(4){border-top:1px solid #000}
}

/* --- produits --- */
.pan-prods{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,34px);padding-block:clamp(48px,6vw,90px)}
.pan-prods .ph{aspect-ratio:4/5;display:grid;place-items:center;padding:4%;overflow:hidden}
.pan-prods .ph img{width:100%;height:100%;object-fit:contain;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.pan-prods article:hover .ph img{transform:scale(1.05)}
.pan-prods h3{font-family:var(--pan-display);font-weight:700;font-size:20px;line-height:1.2;margin:14px 0 0}
.pan-prods .d{font-size:13.5px;line-height:1.6;margin:6px 0 0!important;font-weight:300}
.pan-prods .p{font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:10px 0 0!important;font-weight:400}
@media (max-width:860px){.pan-prods{grid-template-columns:repeat(2,1fr)}}

/* --- manifeste --- */
.pan-manif{position:relative;overflow:hidden;padding-block:clamp(70px,9vw,140px);border-top:1px solid #000}
.pan-manif img{position:absolute;z-index:1}
.pan-manif .pm1{top:4%;left:1%;width:clamp(70px,8vw,130px)}
.pan-manif .pm2{top:42%;right:0;width:clamp(64px,7.5vw,120px);transform:translateX(24%)}
.pan-manif .pm3{bottom:6%;left:16%;width:clamp(66px,8vw,126px)}
.pan-manif-txt{position:relative;z-index:2;font-family:var(--pan-display);font-style:italic;font-weight:900;font-size:clamp(32px,6vw,84px);line-height:1.1;letter-spacing:-.025em;text-align:center;text-wrap:balance}
.pan-manif-foot{position:relative;z-index:2;text-align:center;margin-top:clamp(28px,3.4vw,46px)!important;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400}
@media (max-width:820px){.pan-manif img{display:none}.pan-manif-txt{font-size:clamp(28px,7vw,42px)}}

/* --- porteuse de sens --- */
.pan-sens{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center;padding-block:clamp(56px,7vw,110px);border-top:1px solid #000;overflow:hidden}
.pan-sens-eyebrow{display:flex;gap:clamp(24px,4vw,64px);padding-bottom:24px;border-bottom:1px solid #000;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400}
.pan-sens-txt h2{font-family:var(--pan-display);font-weight:900;font-size:clamp(34px,5.2vw,64px);line-height:1;letter-spacing:-.02em;margin:28px 0 24px}
.pan-sens-txt h2 em{font-style:italic}
.pan-sens-txt p{font-size:15.5px;line-height:1.78;margin:0 0 16px!important;max-width:54ch;font-weight:300}
.pan-sens-txt .cta{margin-top:clamp(24px,3vw,40px)!important}
.pan-sens-img img{width:112%;max-width:none;transform:translateX(9%)}
@media (max-width:900px){.pan-sens{grid-template-columns:1fr;gap:34px}.pan-sens-img img{width:100%;transform:none}}

/* --- avis --- */
.pan-avis-wrap{padding-block:clamp(56px,7vw,110px);border-top:1px solid #000;display:grid;gap:clamp(16px,2vw,26px)}
.pan-avis-card{border:1px solid #000;padding:clamp(26px,4vw,60px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,60px);align-items:center}
.pan-avis-card blockquote{margin:0;font-family:var(--pan-display);font-weight:400;font-size:clamp(17px,1.7vw,24px);line-height:1.5}
.pan-avis-id{text-align:center;width:clamp(130px,12vw,170px)}
.pan-avis-id .oval{display:flex;align-items:center;justify-content:center;width:clamp(76px,7vw,94px);height:clamp(52px,5vw,64px);border:1px solid #000;border-radius:50%;margin:0 auto 14px;font-family:var(--pan-display);font-weight:900;font-size:clamp(24px,2.4vw,30px)}
.pan-avis-id .src{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.pan-avis-id .date{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:300;margin-top:4px}
@media (max-width:760px){.pan-avis-card{grid-template-columns:1fr;gap:22px}.pan-avis-id{width:auto;text-align:left}.pan-avis-id .oval{margin-left:0}}

/* --- contact --- */
.pan-contact{padding-block:clamp(56px,7vw,110px);border-top:1px solid #000}
.pan-contact-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end}
.pan-contact-head .eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;margin:0 0 12px!important}
.pan-contact-head h2{font-family:var(--pan-display);font-weight:900;font-size:clamp(34px,5.2vw,64px);line-height:1;letter-spacing:-.02em;margin:0}
.pan-contact-head h2 em{font-style:italic}
.pan-contact-head .lede{font-size:16px;line-height:1.75;max-width:60ch;font-weight:300}
.pan-contact-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,64px);margin-top:clamp(36px,4.5vw,64px)}
.pan-contact-cols h4{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin:0 0 14px}
.pan-contact-cols p{font-size:14.5px;line-height:1.75;font-weight:300;margin:0}
.pan-contact-cols .tel{font-family:var(--pan-display);font-size:22px;line-height:1.4;margin-bottom:6px!important}
@media (max-width:900px){.pan-contact-head{grid-template-columns:1fr;gap:22px}.pan-contact-cols{grid-template-columns:1fr;gap:28px}}


/* ===========================================================
   PANACHE - pages interieures
   =========================================================== */
.pan-page-tete{padding-block:clamp(50px,7vw,110px) clamp(30px,4vw,56px)}
.pan-page-tete .eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;margin:0 0 14px!important}
.pan-page-tete h1{font-family:var(--pan-display);font-weight:900;font-size:clamp(44px,7vw,104px);line-height:.98;letter-spacing:-.03em;margin:0}
.pan-page-tete h1 em{font-style:italic}
.pan-page-tete .lede{font-size:17px;line-height:1.7;max-width:56ch;margin:22px 0 0!important;font-weight:300}

/* catalogue */
.pan-catalogue{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.6vw,38px);padding-bottom:clamp(50px,6vw,96px);border-bottom:1px solid #000}
.pan-catalogue .ph{aspect-ratio:1/1;display:grid;place-items:center;padding:6%;overflow:hidden}
.pan-catalogue .ph img{width:100%;height:100%;object-fit:contain;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.pan-catalogue article:hover .ph img{transform:scale(1.06)}
.pan-catalogue h3{font-family:var(--pan-display);font-weight:700;font-size:17px;line-height:1.25;margin:10px 0 0;text-align:center}
@media (max-width:900px){.pan-catalogue{grid-template-columns:repeat(2,1fr)}}

/* blocs de texte */
.pan-textes{display:grid;gap:clamp(44px,6vw,90px);padding-block:clamp(50px,6.5vw,100px)}
.pan-textes h2{font-family:var(--pan-display);font-weight:900;font-size:clamp(30px,4.4vw,56px);line-height:1.02;letter-spacing:-.02em;margin:0 0 22px}
.pan-textes h2 em{font-style:italic}
.pan-textes p{font-size:16px;line-height:1.78;max-width:66ch;margin:0 0 16px!important;font-weight:300}
.pan-textes .cta{margin-top:26px!important}

.pan-encart{border:1px solid #000;padding:clamp(26px,4vw,52px);margin-bottom:clamp(50px,6vw,96px);text-align:center}
.pan-encart .gros{font-family:var(--pan-display);font-size:clamp(19px,2.2vw,28px);line-height:1.45;margin:0 0 12px!important}
.pan-encart p{font-size:15px;line-height:1.7;font-weight:300;margin:0}

/* notre histoire */
.pan-histoire-cles{display:flex;gap:clamp(20px,3vw,44px);flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid #000;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400}
.pan-chap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:center;padding-block:clamp(48px,6vw,96px);border-top:1px solid #000;overflow:hidden}
.pan-chap-inv .pan-chap-txt{order:2}
.pan-chap-inv .pan-chap-img{order:1}
.pan-chap .num{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin:0 0 14px!important}
.pan-chap h2{font-family:var(--pan-display);font-weight:900;font-size:clamp(30px,4.4vw,56px);line-height:1.02;letter-spacing:-.02em;margin:0 0 24px}
.pan-chap h2 em{font-style:italic}
.pan-chap p{font-size:15.5px;line-height:1.78;margin:0 0 16px!important;max-width:58ch;font-weight:300}
.pan-chap .cta{margin-top:26px!important}
.pan-chap-img img{width:100%}
.pan-chap-plein{grid-template-columns:1fr}
.pan-deux-col{column-count:2;column-gap:clamp(28px,4vw,64px)}
.pan-deux-col p{max-width:none;break-inside:avoid}
@media (max-width:900px){
	.pan-chap{grid-template-columns:1fr;gap:30px}
	.pan-chap-inv .pan-chap-txt,.pan-chap-inv .pan-chap-img{order:initial}
	.pan-deux-col{column-count:1}
}

.pan-coeur{padding-block:clamp(48px,6vw,96px);border-top:1px solid #000;text-align:center}
.pan-coeur .num{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin:0 0 14px!important}
.pan-coeur h2{font-family:var(--pan-display);font-weight:900;font-size:clamp(30px,4.4vw,56px);line-height:1.02;letter-spacing:-.02em;margin:0 auto 24px;max-width:22ch}
.pan-coeur h2 em{font-style:italic}
.pan-coeur .intro,.pan-coeur .fin{font-size:16px;line-height:1.78;max-width:60ch;margin:0 auto!important;font-weight:300}
.pan-citation{font-family:var(--pan-display);font-style:italic;font-weight:400;font-size:clamp(19px,2.4vw,32px);line-height:1.5;max-width:26ch;margin:clamp(30px,4vw,54px) auto 0;border:0;padding:0}
.pan-coeur .signature{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;margin:20px 0 clamp(30px,4vw,50px)!important}

.pan-fonds{padding-block:clamp(48px,6vw,96px) clamp(56px,7vw,110px);border-top:1px solid #000}
.pan-fonds .num{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin:0 0 14px!important}
.pan-fonds h2{font-family:var(--pan-display);font-weight:900;font-size:clamp(30px,4.4vw,56px);line-height:1.02;letter-spacing:-.02em;margin:0 0 24px}
.pan-fonds h2 em{font-style:italic}
.pan-fonds p{font-size:16px;line-height:1.78;max-width:66ch;margin:0 0 16px!important;font-weight:300}
.pan-fonds .cta{margin-top:26px!important}

/* contact */
.pan-contact-page{padding-bottom:clamp(44px,5vw,80px);border-bottom:1px solid #000}
.pan-contact-livraison{margin-top:clamp(36px,4.5vw,64px);padding-top:26px;border-top:1px solid #000}
.pan-contact-livraison p{font-size:16px;line-height:1.75;max-width:62ch;font-weight:300;margin:0}
.pan-carte{padding-block:clamp(44px,5vw,80px)}
.pan-carte iframe{width:100%;height:clamp(300px,42vw,460px);border:1px solid #000;display:block;filter:grayscale(1) contrast(1.08)}


/* ===========================================================
   PANACHE - entete et pied de page
   =========================================================== */

/* masquer le pied de page de la demo Uncode */
#colophon, .footer-last, .footer-center, .row-footer{display:none!important}

/* notre pied de page */
.pan-footer{border-top:1px solid #000;background:#fff;color:#000}
.pan-footer-in{max-width:1380px;margin:0 auto;padding:clamp(48px,6vw,96px) clamp(20px,5vw,72px) clamp(26px,3vw,42px)}
.pan-footer-lead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end}
.pan-footer .eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;margin:0 0 10px}
.pan-footer-logo{display:block;font-family:var(--pan-display);font-weight:900;font-size:clamp(50px,8vw,120px);line-height:.9;letter-spacing:-.035em;color:#000}
.pan-footer .lede{font-size:16px;line-height:1.75;font-weight:300;max-width:56ch;margin:0}
.pan-footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px);margin-top:clamp(38px,5vw,70px)}
.pan-footer-cols h4{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin:0 0 14px;color:#000}
.pan-footer-cols p{font-size:14.5px;line-height:1.75;font-weight:300;margin:0;color:#000}
.pan-footer-cols .tel{font-family:var(--pan-display);font-size:22px;line-height:1.4;margin-bottom:6px}
.pan-footer-cols .tel a{color:#000;text-decoration:none}
.pan-footer-bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:clamp(38px,5vw,70px);padding-top:20px;border-top:1px solid #000;font-size:11px;letter-spacing:.06em;color:#000}
@media (max-width:900px){.pan-footer-lead{grid-template-columns:1fr;gap:24px}.pan-footer-cols{grid-template-columns:1fr;gap:28px}}


/* ===========================================================
   PANACHE - notre entete
   =========================================================== */
/* on masque entierement l'entete du theme */
#masthead, .masthead, .navbar-wrapper, .menu-wrapper, .main-header,
.uncode-close-offcanvas-mobile, .menu-container, .mobile-menu-container{display:none!important}
body{padding-top:0!important}

.pan-header{position:relative;z-index:50;background:#fff}
.pan-topbar{border-bottom:1px solid #000}
.pan-topbar-in{max-width:1380px;margin:0 auto;padding:9px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px}
.pan-corniere{font-family:var(--pan-texte);font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#000;white-space:nowrap}
.pan-annonce{flex:1;text-align:center;font-family:var(--pan-texte);font-weight:400;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#000}
@media (max-width:860px){.pan-corniere{display:none}}

.pan-nav{border-bottom:1px solid #000}
.pan-nav-in{max-width:1380px;margin:0 auto;padding:18px clamp(20px,5vw,72px);display:flex;align-items:baseline;justify-content:space-between;gap:24px}
.pan-nav-logo{font-family:var(--pan-display);font-weight:900;font-size:clamp(26px,3vw,34px);letter-spacing:-.015em;line-height:1;color:#000;text-decoration:none}
.pan-menu{display:flex;gap:clamp(16px,2.4vw,38px);align-items:baseline;list-style:none;margin:0;padding:0}
.pan-menu li{margin:0;padding:0;list-style:none}
.pan-menu a{position:relative;padding-bottom:3px;font-family:var(--pan-texte);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#000;text-decoration:none}
.pan-menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:#000;transition:right .35s cubic-bezier(.2,.7,.3,1)}
.pan-menu a:hover::after{right:0}
@media (max-width:680px){.pan-nav-in{flex-direction:column;align-items:flex-start;gap:14px}.pan-menu{gap:14px;flex-wrap:wrap}.pan-menu a{font-size:10px}}

/* largeur de contenu alignee sur l'entete */
.pan-raw{max-width:1380px;margin:0 auto}


/* ===========================================================
   PANACHE - hero bord a bord
   =========================================================== */
.pan-row-hero .pan-raw,
.pan-row-manif .pan-raw{max-width:none!important;margin:0!important}
.pan-row-hero > .row-inner > .column_child,
.pan-row-hero .vc_col-sm-12,
.pan-row-manif > .row-inner > .column_child{padding-left:0!important;padding-right:0!important}
.pan-row-hero, .pan-row-manif{padding-left:0!important;padding-right:0!important}
.pan-row-hero .row-inner, .pan-row-manif .row-inner{max-width:none!important;width:100%!important}

/* le texte du hero reste centre dans la largeur de lecture */
.pan-hero-core{padding-inline:clamp(20px,5vw,72px)}
.pan-manif-txt, .pan-manif-foot{padding-inline:clamp(20px,5vw,72px)}

/* les patisseries vont chercher les bords de l'ecran */
.pan-hero-art .pa1{left:0;transform:translateX(-18%)}
.pan-hero-art .pa2{right:0;transform:translateX(16%)}
.pan-hero-art .pa3{left:0;transform:translateX(12%)}
.pan-hero-art .pa4{right:0;transform:translateX(-4%)}
.pan-manif .pm1{left:0;transform:translateX(-14%)}
.pan-manif .pm3{left:8%}
@media (max-width:1080px){
	.pan-hero-art img{transform:none!important}
	.pan-hero-art{padding-inline:clamp(20px,5vw,72px)}
}


/* ===========================================================
   PANACHE - corrections V1
   =========================================================== */

/* 1 - tout le contenu de nos blocs en noir pur */
.pan-raw, .pan-raw *,
.pan-footer, .pan-footer *,
.pan-header, .pan-header *{color:#000!important}
.pan-raw h1, .pan-raw h2, .pan-raw h3, .pan-raw h4, .pan-raw h5, .pan-raw h6,
.pan-raw p, .pan-raw span, .pan-raw em, .pan-raw strong, .pan-raw blockquote,
.pan-raw a, .pan-raw div, .pan-raw li, .pan-raw sup{color:#000!important}

/* 2 - plus aucun filet bleu sur les citations */
.pan-raw blockquote{border:0!important;border-left:0!important;padding-left:0!important;background:none!important;font-style:inherit}
.pan-citation{border:0!important;padding:0!important}

/* 3 - citation du fondateur plus large */
.pan-citation{max-width:34ch}
@media (min-width:1200px){.pan-citation{max-width:38ch;font-size:clamp(22px,2.1vw,30px)}}

/* 4 - visuels des chapitres plus mesures */
.pan-chap-img{display:flex;justify-content:center}
.pan-chap-img img{width:auto;max-width:100%;max-height:clamp(280px,32vw,440px);object-fit:contain}

/* 5 - largeur de lecture sur tres grand ecran */
@media (min-width:1600px){
	.pan-raw{max-width:1500px}
	.pan-coeur h2{max-width:24ch}
}


/* ===========================================================
   PANACHE - carrousel avis
   =========================================================== */
.pan-avis-slider{padding-block:clamp(56px,7vw,110px);border-top:1px solid #000}
.pan-avis-carte{border:1px solid #000;padding:clamp(30px,4.6vw,72px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(26px,4.5vw,70px);align-items:center;min-height:clamp(240px,24vw,320px)}
.pan-avis-carte[hidden]{display:none!important}
.pan-avis-carte blockquote{margin:0;font-family:var(--pan-display);font-weight:400;font-size:clamp(18px,1.9vw,27px);line-height:1.5}
.pan-avis-id{text-align:center;width:clamp(140px,13vw,180px)}
.pan-avis-id .oval{display:flex;align-items:center;justify-content:center;width:clamp(80px,7.5vw,100px);height:clamp(54px,5.2vw,68px);border:1px solid #000;border-radius:50%;margin:0 auto 14px;font-family:var(--pan-display);font-weight:900;font-size:clamp(26px,2.6vw,32px)}
.pan-avis-id .src{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
.pan-avis-id .date{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:300;margin-top:4px}
.pan-avis-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}
.pan-avis-puces{display:flex;gap:9px}
.pan-avis-puces button{width:8px;height:8px;padding:0;border-radius:50%;cursor:pointer;border:1px solid #000;background:transparent}
.pan-avis-puces button[aria-current="true"]{background:#000}
.pan-avis-fleches{display:flex;gap:10px}
.pan-avis-fleches button{width:42px;height:42px;border:1px solid #000;background:transparent;cursor:pointer;display:grid;place-items:center;color:#000;transition:background .3s ease,color .3s ease}
.pan-avis-fleches button:hover{background:#000;color:#fff}
.pan-avis-fleches button:hover svg{color:#fff}
.pan-avis-fleches svg{width:18px;height:8px}
@media (max-width:760px){
	.pan-avis-carte{grid-template-columns:1fr;gap:24px;min-height:0}
	.pan-avis-id{width:auto;text-align:left}
	.pan-avis-id .oval{margin-left:0}
}

/* la flottaison passe au-dessus du contenu */
.pan-hero-art img, .pan-manif img{transition:none;z-index:3}
.pan-hero-art{z-index:3}
.pan-hero-core{position:relative;z-index:2}


/* ===========================================================
   PANACHE - ajustements V3
   =========================================================== */

/* 1 - bandeau noir defilant */
.pan-topbar{background:#000!important;border-bottom:0}
.pan-topbar-in{padding:0 0!important;max-width:none;min-height:40px;overflow:hidden}
.pan-ruban{width:100%;overflow:hidden;white-space:nowrap}
.pan-ruban-piste{display:inline-flex;align-items:center;gap:26px;padding-block:12px;animation:pan-defile 38s linear infinite;will-change:transform}
.pan-ruban-piste span{font-family:var(--pan-texte)!important;font-weight:500;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#fff!important;white-space:nowrap}
.pan-ruban-piste .sep{font-size:13px;opacity:.55}
.pan-header .pan-topbar *{color:#fff!important}
@keyframes pan-defile{from{transform:translate3d(0,0,0)}to{transform:translate3d(-33.333%,0,0)}}
.pan-ruban:hover .pan-ruban-piste{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.pan-ruban-piste{animation:none}}

/* 2 - intitules de colonnes en Playfair minuscules */
.pan-footer-cols h4, .pan-contact-cols h4, .pan-contact-page h4{
	font-family:var(--pan-display)!important;
	font-weight:700!important;
	font-size:17px!important;
	letter-spacing:0!important;
	text-transform:none!important;
	margin:0 0 14px!important;
}

/* 3 - produits plus petits, gouttieres plus larges */
.pan-prods{grid-template-columns:repeat(4,1fr);gap:clamp(30px,4.5vw,72px)}
.pan-prods .ph{aspect-ratio:1/1;padding:12%}
.pan-prods article a{text-decoration:none;display:block}
.pan-prods h3{font-size:18px}
.pan-prods article:hover h3{text-decoration:underline;text-underline-offset:4px}

/* 4 - catalogue en 5 colonnes */
.pan-catalogue{grid-template-columns:repeat(5,1fr);gap:clamp(24px,3.2vw,52px)}
.pan-catalogue .ph{aspect-ratio:1/1;padding:12%}
.pan-catalogue article a{text-decoration:none;display:block}
.pan-catalogue h3{font-size:15.5px;margin:12px 0 0}
.pan-catalogue .d{font-size:12.5px;line-height:1.55;margin:6px 0 0;text-align:center;font-weight:300}
.pan-catalogue .p{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;margin:8px 0 0;text-align:center;font-weight:400}
.pan-catalogue article:hover h3{text-decoration:underline;text-underline-offset:4px}
.pan-catalogue article[hidden]{display:none!important}
@media (max-width:1200px){.pan-catalogue{grid-template-columns:repeat(4,1fr)}}
@media (max-width:900px){.pan-catalogue{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.pan-catalogue{grid-template-columns:repeat(2,1fr)}}

/* 5 - barre de filtres */
.pan-catalogue-wrap{padding-bottom:clamp(50px,6vw,96px);border-bottom:1px solid #000}
.pan-filtres{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(30px,4vw,56px);padding-bottom:22px;border-bottom:1px solid #000}
.pan-filtres button{
	font-family:var(--pan-texte);font-weight:500;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
	color:#000;background:transparent;border:1px solid #000;border-radius:0;padding:11px 20px;cursor:pointer;
	transition:background .25s ease,color .25s ease;
}
.pan-filtres button:hover{background:#000;color:#fff}
.pan-filtres button.on{background:#000;color:#fff}

/* 6 - carte avec son repere */
.pan-carte-lien{margin-top:16px!important;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:400}
.pan-carte-lien a{border-bottom:1px solid #000;text-decoration:none}


/* ===========================================================
   PANACHE - etats inverses (texte blanc sur noir)
   =========================================================== */
.pan-raw a.pan-btn:hover,
.pan-raw a.pan-btn:hover *{color:#fff!important}
.pan-raw .pan-avis-fleches button:hover,
.pan-raw .pan-avis-fleches button:hover *,
.pan-raw .pan-avis-fleches button:hover svg{color:#fff!important}
.pan-header .pan-ruban-piste span{color:#fff!important}


/* ===========================================================
   PANACHE - ajustements V4
   =========================================================== */

/* 1 - pied de page pleine largeur sur grand ecran */
.pan-footer-in{max-width:none;padding-inline:clamp(20px,5vw,90px)}
@media (min-width:1900px){.pan-footer-in{padding-inline:clamp(60px,6vw,140px)}}

/* 2 - filtres facon demo : texte simple, selection encadree */
.pan-filtres{gap:clamp(14px,2vw,34px);align-items:center;justify-content:flex-start}
.pan-filtres button{
	border:1px solid transparent!important;
	background:transparent!important;
	padding:9px 2px!important;
	font-family:var(--pan-texte);
	font-weight:500;
	font-size:12px;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:#000!important;
	transition:border-color .25s ease,padding .25s ease;
}
.pan-filtres button:hover{
	background:transparent!important;
	color:#000!important;
	border-bottom-color:#000!important;
}
.pan-filtres button:hover *{color:#000!important}
.pan-filtres button.on{
	background:transparent!important;
	color:#000!important;
	border:1px solid #000!important;
	padding:9px 18px!important;
}
.pan-filtres button.on *{color:#000!important}


/* ===========================================================
   PANACHE - filtre actif lisible
   =========================================================== */
.pan-raw .pan-catalogue-wrap .pan-filtres button,
.pan-raw .pan-catalogue-wrap .pan-filtres button.on,
.pan-raw .pan-catalogue-wrap .pan-filtres button:hover{color:#000!important}


/* ===========================================================
   PANACHE - fiche produit
   =========================================================== */
.pan-catalogue-4{grid-template-columns:repeat(4,1fr)!important;max-width:1100px}
.pan-catalogue-note{margin-top:clamp(34px,4vw,56px)!important;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:400}

.pan-fiche{padding-block:clamp(34px,4.5vw,64px) clamp(50px,6vw,96px)}
.pan-fiche-fil{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;margin:0 0 clamp(26px,3.4vw,46px)!important}
.pan-fiche-fil a{border-bottom:1px solid #000;text-decoration:none}
.pan-fiche-fil span{opacity:.6}
.pan-fiche-fil .cat{opacity:1}

.pan-fiche-haut{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,90px);align-items:center;padding-bottom:clamp(44px,5.5vw,84px);border-bottom:1px solid #000}
.pan-fiche-visuel{display:flex;justify-content:center}
.pan-fiche-visuel img{width:100%;max-width:520px;height:auto}
.pan-fiche-texte h1{font-family:var(--pan-display);font-weight:900;font-size:clamp(34px,4.6vw,62px);line-height:1;letter-spacing:-.025em;margin:0 0 24px}
.pan-fiche-texte h1 em{font-style:italic}
.pan-fiche-desc{font-size:16px;line-height:1.78;font-weight:300;max-width:52ch;margin:0!important}
.pan-fiche-prix{margin-top:clamp(28px,3.4vw,44px);padding-top:24px;border-top:1px solid #000}
.pan-fiche-prix .montant{font-family:var(--pan-display);font-weight:900;font-size:clamp(28px,3vw,40px);line-height:1;margin:0!important}
.pan-fiche-prix .unite{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;margin:8px 0 0!important}
.pan-fiche-commande{margin-top:clamp(26px,3.2vw,40px)}
.pan-fiche-commande .titre{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin:0 0 10px!important}
.pan-fiche-commande .tel{font-family:var(--pan-display);font-weight:700;font-size:26px;line-height:1.2;margin:0 0 8px!important}
.pan-fiche-commande .tel a{text-decoration:none;border-bottom:1px solid #000}
.pan-fiche-commande p{font-size:14.5px;line-height:1.7;font-weight:300;max-width:44ch;margin:0!important}

.pan-fiche-details{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(26px,4vw,64px);padding-top:clamp(40px,5vw,72px)}
.pan-fiche-details h2{font-family:var(--pan-display);font-weight:700;font-size:18px;line-height:1.25;margin:0 0 12px}
.pan-fiche-details p{font-size:14.5px;line-height:1.75;font-weight:300;margin:0 0 10px!important}

.pan-fiche-suite{padding-block:clamp(50px,6vw,96px);border-top:1px solid #000}
.pan-fiche-suite .eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;margin:0 0 clamp(26px,3.4vw,44px)!important}
.pan-prods-3{grid-template-columns:repeat(3,1fr)!important}

@media (max-width:900px){
	.pan-fiche-haut{grid-template-columns:1fr;gap:30px}
	.pan-fiche-details{grid-template-columns:1fr;gap:26px}
	.pan-prods-3{grid-template-columns:repeat(2,1fr)!important}
	.pan-catalogue-4{grid-template-columns:repeat(2,1fr)!important}
}


/* ===== PANACHE - bandeau et en-tete V5 ===== */
.pan-topbar{background:#fff !important;border-bottom:1px solid #000;border-top:0;}
.pan-topbar-in{display:flex;align-items:stretch;width:100%;max-width:1572px;margin:0 auto;padding:0 36px;box-sizing:border-box;}
.pan-ruban-fixe{flex:0 0 auto;display:flex;align-items:center;padding:0 24px;font-family:'Ubuntu',Helvetica,Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#000 !important;white-space:nowrap;}
.pan-ruban-gauche{padding-left:0;}
.pan-ruban-droite{padding-right:0;}
.pan-ruban{flex:1 1 auto;min-width:0;height:42px;overflow:hidden;display:flex;align-items:center;background:#fff !important;color:#000 !important;border-left:1px solid #000;border-right:1px solid #000;animation:none !important;}
.pan-ruban-piste{display:flex;align-items:center;white-space:nowrap;animation:pan-defile 52s linear infinite;will-change:transform;}
.pan-ruban-item{display:inline-flex;align-items:center;padding:0 26px;font-family:'Ubuntu',Helvetica,Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#000 !important;}
.pan-ruban-item:after{content:'\00B7';margin-left:26px;color:#000;}
@keyframes pan-defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.pan-ruban:hover .pan-ruban-piste{animation-play-state:paused;}

.pan-nav-in{width:100%;max-width:1572px;margin:0 auto;padding:0 36px;box-sizing:border-box;}
.pan-nav-droite{display:flex;align-items:center;gap:32px;}
.pan-nav-insta{display:inline-flex;align-items:center;justify-content:center;color:#000 !important;font-size:18px;line-height:1;text-decoration:none;}
.pan-nav-insta i{font-size:18px;line-height:1;}
.pan-nav-insta:hover{opacity:.5;}

@media (max-width:1024px){
	.pan-topbar-in,.pan-nav-in{padding:0 24px;}
	.pan-ruban-fixe{padding:0 16px;font-size:10px;}
	.pan-ruban-item{font-size:10px;padding:0 18px;}
	.pan-ruban-item:after{margin-left:18px;}
}
@media (max-width:640px){
	.pan-topbar-in,.pan-nav-in{padding:0 16px;}
	.pan-ruban-fixe{display:none;}
	.pan-ruban{border-left:0;border-right:0;height:36px;}
	.pan-nav-droite{gap:18px;}
}

/* PANACHE - bandeau V5 renforcement */
.pan-header .pan-topbar{background:#fff !important;}
.pan-header .pan-topbar .pan-topbar-in{padding:0 36px !important;max-width:1572px !important;width:100% !important;box-sizing:border-box !important;justify-content:flex-start !important;}
.pan-header .pan-topbar .pan-ruban-fixe,.pan-header .pan-topbar .pan-ruban-item,.pan-header .pan-topbar .pan-ruban-item:after{color:#000 !important;}
.pan-header .pan-topbar .pan-ruban-gauche{padding-left:0 !important;}
.pan-header .pan-topbar .pan-ruban-droite{padding-right:0 !important;}
.pan-header .pan-topbar .pan-ruban{background:#fff !important;}
@media (max-width:1024px){.pan-header .pan-topbar .pan-topbar-in{padding:0 24px !important;}}
@media (max-width:640px){.pan-header .pan-topbar .pan-topbar-in{padding:0 16px !important;}}

/* PANACHE - alignement gouttieres V5b */
@media (max-width:1024px){
	.pan-header .pan-topbar .pan-topbar-in{padding:0 36px !important;}
	.pan-header .pan-nav .pan-nav-in{padding:0 36px !important;}
}
@media (max-width:640px){
	.pan-header .pan-topbar .pan-topbar-in{padding:0 36px !important;}
	.pan-header .pan-nav .pan-nav-in{padding:0 36px !important;}
	.pan-header .pan-topbar .pan-ruban{border-left:0;border-right:0;}
}
.pan-header .pan-nav .pan-nav-in{max-width:1572px !important;width:100% !important;box-sizing:border-box !important;}

/* PANACHE - ajustements V6 */
::selection{background:#000;color:#fff;}
::-moz-selection{background:#000;color:#fff;}

.pan-header .pan-topbar .pan-ruban-item{font-weight:500 !important;}
.pan-header .pan-topbar .pan-ruban-item strong{font-weight:700 !important;color:#000 !important;letter-spacing:.2em;}

.pan-header .pan-nav .pan-nav-in{min-height:96px;align-items:center !important;}
.pan-header .pan-nav .pan-nav-logo{line-height:1;}

.pan-footer-cols h4{font-style:italic !important;}

/* PANACHE - V6b espace avant le numero */
.pan-header .pan-topbar .pan-ruban-item{display:inline-block !important;line-height:42px;vertical-align:middle;}
.pan-header .pan-topbar .pan-ruban-item strong{margin-left:.35em;}

/* ===== PANACHE V7 : filets bord a bord, espacements, pied ===== */
:root{--pan-vw:100vw;}

/* bloc des 4 accroches : pleine largeur */
.pan-raw .pan-keys{width:var(--pan-vw) !important;max-width:var(--pan-vw) !important;margin-left:calc(50% - var(--pan-vw)/2) !important;margin-right:calc(50% - var(--pan-vw)/2) !important;padding-left:36px !important;padding-right:36px !important;box-sizing:border-box !important;}

/* filets de section bord a bord */
.pan-raw .pan-chap,.pan-raw .pan-histoire-cles,.pan-raw .pan-catalogue-wrap{position:relative;}
.pan-raw .pan-chap{border-top:0 !important;}
.pan-raw .pan-histoire-cles{border-top:0 !important;}
.pan-raw .pan-chap:before,.pan-raw .pan-histoire-cles:before{content:'';position:absolute;top:0;left:calc(50% - var(--pan-vw)/2);width:var(--pan-vw);height:1px;background:#000;pointer-events:none;}
.pan-raw .pan-sans-filet:before{display:none !important;}

/* surtitre colle a son titre */
.pan-raw .pan-chap-plein{row-gap:0 !important;}
.pan-raw .pan-chap-plein h2{margin-bottom:56px !important;}
.pan-raw .pan-fonds{row-gap:0 !important;}

/* image du bloc porteuse de sens : entiere sur grand ecran */
@media (min-width:1200px){
	.pan-raw .pan-sens{overflow:visible !important;}
	.pan-raw .pan-sens-img img{width:100% !important;max-width:100% !important;height:auto !important;}
}

/* pied de page */
.pan-footer .pan-footer-bar{font-size:13px !important;}
.pan-footer .pan-footer-bar span,.pan-footer .pan-footer-bar a{font-size:13px !important;font-weight:400 !important;color:#000 !important;}

/* PANACHE V7b : manifeste au scroll + patisseries autour des avis */
.pan-raw .pan-manif-txt .w{color:#cfcac3;transition:color .35s ease;}
.pan-raw .pan-manif-txt .w.on{color:#000;}

.pan-raw .pan-avis-art{position:relative;height:250px;margin-top:10px;pointer-events:none;}
.pan-raw .pan-avis-art img{position:absolute;display:block;height:auto;will-change:transform;}
.pan-raw .pan-avis-art .a1{left:-6%;top:20px;width:190px;}
.pan-raw .pan-avis-art .a2{left:44%;top:86px;width:132px;}
.pan-raw .pan-avis-art .a3{right:-5%;top:-40px;width:215px;}
@media (max-width:1400px){
	.pan-raw .pan-avis-art .a1{left:0;width:150px;}
	.pan-raw .pan-avis-art .a3{right:0;width:170px;}
	.pan-raw .pan-avis-art{height:210px;}
}
@media (max-width:900px){
	.pan-raw .pan-avis-art{height:150px;}
	.pan-raw .pan-avis-art .a1{width:105px;top:10px;}
	.pan-raw .pan-avis-art .a2{display:none;}
	.pan-raw .pan-avis-art .a3{width:115px;top:0;}
}

/* V7c : image du bloc sens recadree, sans decalage sur grand ecran */
@media (min-width:1200px){
	.pan-raw .pan-sens-img img{transform:none !important;}
}

/* V7d : bloc fonds de dotation avec logo, titre de la page histoire */
.pan-raw .pan-fonds-corps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);column-gap:90px;align-items:center;}
.pan-raw .pan-fonds-logo{display:flex;justify-content:center;}
.pan-raw .pan-fonds-logo a{display:block;width:100%;max-width:320px;}
.pan-raw .pan-fonds-logo svg{width:100%;height:auto;display:block;}
@media (max-width:900px){
	.pan-raw .pan-fonds-corps{grid-template-columns:1fr;row-gap:48px;}
	.pan-raw .pan-fonds-logo{justify-content:flex-start;}
	.pan-raw .pan-fonds-logo a{max-width:220px;}
}
.pan-raw .pan-histoire-tete h1{text-align:center;}

/* V7e : mention format sur la fiche produit */
.pan-raw .pan-fiche-occasion{font-size:15px;line-height:1.65;margin:18px 0 0;color:#000;}

/* V7f : contraste du manifeste qui s'ecrit */
.pan-raw .pan-manif .pan-manif-txt span.w{color:#cfcac3 !important;transition:color .35s ease;}
.pan-raw .pan-manif .pan-manif-txt span.w.on{color:#000 !important;}

/* V7g : tous les filets de section bord a bord */
.pan-raw .pan-sens,.pan-raw .pan-avis-slider,.pan-raw .pan-coeur,.pan-raw .pan-fonds,
.pan-raw .pan-filtres,.pan-raw .pan-catalogue-wrap,.pan-raw .pan-contact-page,
.pan-raw .pan-contact-livraison,.pan-raw .pan-fiche-haut,.pan-raw .pan-fiche-suite{position:relative;}

.pan-raw .pan-sens,.pan-raw .pan-avis-slider,.pan-raw .pan-coeur,.pan-raw .pan-fonds,
.pan-raw .pan-contact-livraison,.pan-raw .pan-fiche-suite{border-top-color:transparent !important;}
.pan-raw .pan-filtres,.pan-raw .pan-catalogue-wrap,.pan-raw .pan-contact-page,
.pan-raw .pan-fiche-haut{border-bottom-color:transparent !important;}

.pan-raw .pan-sens:before,.pan-raw .pan-avis-slider:before,.pan-raw .pan-coeur:before,.pan-raw .pan-fonds:before,
.pan-raw .pan-contact-livraison:before,.pan-raw .pan-fiche-suite:before{content:'';position:absolute;top:0;left:calc(50% - var(--pan-vw)/2);width:var(--pan-vw);height:1px;background:#000;pointer-events:none;z-index:2;}
.pan-raw .pan-filtres:after,.pan-raw .pan-catalogue-wrap:after,.pan-raw .pan-contact-page:after,
.pan-raw .pan-fiche-haut:after{content:'';position:absolute;bottom:0;left:calc(50% - var(--pan-vw)/2);width:var(--pan-vw);height:1px;background:#000;pointer-events:none;z-index:2;}

.pan-raw .pan-sens{overflow:visible !important;}
.pan-raw .pan-sens-img img{width:100% !important;max-width:100% !important;height:auto !important;transform:none !important;}

/* manifeste : bloc pleine largeur, texte centre inchange */
.pan-raw .pan-manif{width:var(--pan-vw) !important;max-width:var(--pan-vw) !important;margin-left:calc(50% - var(--pan-vw)/2) !important;margin-right:calc(50% - var(--pan-vw)/2) !important;}

/* V7h : le manifeste est cadre par le script, pas par le CSS */
.pan-raw .pan-manif{width:auto !important;max-width:none !important;margin-left:0 !important;margin-right:0 !important;}

/* V7i : les patisseries des avis passent devant */
.pan-raw .pan-avis-art{z-index:3;}
.pan-raw .pan-avis-art img{z-index:3;}
.pan-raw .pan-avis-art .a3{top:6px;}

/* ===== PANACHE V8 : cross-sell en slider, bloc histoire, catalogue 5 colonnes ===== */
.pan-raw .pan-cross{position:relative;padding-top:64px;margin-top:0;}
.pan-raw .pan-cross-tete{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;}
.pan-raw .pan-cross-tete .eyebrow{margin:0;}
.pan-raw .pan-cross-nav{display:flex;gap:10px;}
.pan-raw .pan-cross-nav button{width:42px;height:42px;border:1px solid #000;background:#fff;color:#000;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .2s,color .2s;}
.pan-raw .pan-cross-nav button:hover{background:#000;color:#fff;}
.pan-raw .pan-cross-nav button[disabled]{opacity:.25;cursor:default;}
.pan-raw .pan-cross-nav svg{width:20px;height:8px;display:block;}
.pan-raw .pan-cross-piste{display:flex;gap:48px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none;padding-bottom:4px;}
.pan-raw .pan-cross-piste::-webkit-scrollbar{display:none;}
.pan-raw .pan-cross-piste article{flex:0 0 230px;scroll-snap-align:start;}
.pan-raw .pan-cross-piste article a{display:block;text-decoration:none;color:#000;}
.pan-raw .pan-cross-piste .ph{height:190px;display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.pan-raw .pan-cross-piste .ph img{max-width:100%;max-height:190px;width:auto;height:auto;transition:transform .5s ease;}
.pan-raw .pan-cross-piste article a:hover .ph img{transform:scale(1.06);}
.pan-raw .pan-cross-piste h3{font-size:17px;margin:0 0 8px;}
.pan-raw .pan-cross-piste .d{font-size:13.5px;line-height:1.5;margin:0 0 10px;}
.pan-raw .pan-cross-piste .p{font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:0;}

.pan-raw .pan-fiche-histoire{position:relative;margin-top:96px;padding-top:80px;max-width:820px;}
.pan-raw .pan-fiche-histoire:before{content:'';position:absolute;top:0;left:calc(50% - var(--pan-vw)/2);width:var(--pan-vw);height:1px;background:#000;}
.pan-raw .pan-fiche-histoire h2{margin:14px 0 24px;}
.pan-raw .pan-fiche-histoire .cta{margin-top:36px;}

@media (min-width:1500px){
	.pan-raw .pan-catalogue.pan-catalogue-4{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
}
@media (max-width:900px){
	.pan-raw .pan-cross-piste{gap:28px;}
	.pan-raw .pan-cross-piste article{flex:0 0 165px;}
	.pan-raw .pan-cross-piste .ph{height:140px;}
	.pan-raw .pan-cross-piste .ph img{max-height:140px;}
	.pan-raw .pan-fiche-histoire{margin-top:64px;padding-top:56px;}
}

/* V8b : cartes du cross-sell qui remplissent la largeur disponible */
.pan-raw .pan-cross-piste article{flex:1 0 210px !important;max-width:360px;}

/* ===== PANACHE V9 : hero, accroche plus forte et patisseries contrastees ===== */
.pan-raw .pan-hero-core{max-width:1120px !important;}
.pan-raw .pan-hero-txt{max-width:600px;margin-left:auto;margin-right:auto;}
.pan-raw .pan-hero-claim{font-size:clamp(46px,6.1vw,112px) !important;line-height:1 !important;margin-top:64px !important;margin-bottom:56px !important;}
.pan-raw .pan-hero{padding-bottom:40px;}

.pan-raw .pan-hero-art .pa1{width:290px !important;top:3% !important;left:-10px !important;}
.pan-raw .pan-hero-art .pa2{width:160px !important;top:27% !important;right:34px !important;left:auto !important;}
.pan-raw .pan-hero-art .pa3{width:185px !important;top:69% !important;left:78px !important;}
.pan-raw .pan-hero-art .pa4{width:255px !important;top:80% !important;right:-16px !important;left:auto !important;}

@media (max-width:1200px){
	.pan-raw .pan-hero-art .pa1{width:180px !important;}
	.pan-raw .pan-hero-art .pa2{width:110px !important;}
	.pan-raw .pan-hero-art .pa3{width:120px !important;left:10px !important;}
	.pan-raw .pan-hero-art .pa4{width:160px !important;}
}
@media (max-width:760px){
	.pan-raw .pan-hero-art .pa1{width:110px !important;}
	.pan-raw .pan-hero-art .pa2{width:72px !important;}
	.pan-raw .pan-hero-art .pa3{width:80px !important;}
	.pan-raw .pan-hero-art .pa4{width:100px !important;}
	.pan-raw .pan-hero-claim{margin-top:44px !important;margin-bottom:40px !important;}
}

/* V9b : accroche sur une seule ligne */
.pan-raw .pan-hero-core{max-width:1160px !important;}
.pan-raw .pan-hero-claim{font-size:clamp(42px,5.35vw,100px) !important;white-space:nowrap;}
@media (max-width:900px){.pan-raw .pan-hero-claim{white-space:normal;}}

/* ===== PANACHE V10 : mentions legales + page 404 ===== */
.pan-raw .pan-legal{max-width:820px;padding-top:8px;padding-bottom:40px;}
.pan-raw .pan-legal section{margin-bottom:56px;}
.pan-raw .pan-legal h2{font-size:26px;margin:0 0 18px;}
.pan-raw .pan-legal p{font-size:15px;line-height:1.75;margin:0 0 14px;}
.pan-raw .pan-legal a{color:#000;text-decoration:underline;text-underline-offset:3px;}

.pan-404{position:relative;min-height:62vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 36px 140px;overflow:hidden;}
.pan-404-core{position:relative;z-index:2;max-width:640px;margin:0 auto;}
.pan-404-num{font-family:'Playfair Display',serif;font-weight:900;font-style:italic;font-size:clamp(110px,16vw,260px);line-height:.9;letter-spacing:-.02em;margin:0 0 18px;color:#000;}
.pan-404 h1{font-family:'Playfair Display',serif;font-weight:900;font-size:clamp(28px,3.4vw,48px);line-height:1.05;margin:0 0 22px;color:#000;}
.pan-404 h1 em{font-style:italic;}
.pan-404 p{font-family:'Ubuntu',Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7;margin:0 auto 40px;max-width:480px;color:#000;}
.pan-404-cta{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.pan-404-art img{position:absolute;display:block;height:auto;will-change:transform;z-index:1;}
.pan-404-art .q1{width:230px;top:6%;left:3%;}
.pan-404-art .q2{width:150px;top:58%;left:11%;}
.pan-404-art .q3{width:265px;top:16%;right:2%;}
.pan-404-art .q4{width:165px;bottom:6%;right:12%;}
@media (max-width:1100px){
	.pan-404-art .q1{width:130px;}.pan-404-art .q2{width:90px;}
	.pan-404-art .q3{width:145px;}.pan-404-art .q4{width:95px;}
}
@media (max-width:700px){
	.pan-404{padding:70px 20px 90px;}
	.pan-404-art .q1{width:86px;top:2%;left:0;}
	.pan-404-art .q2{display:none;}
	.pan-404-art .q3{width:92px;top:6%;right:0;}
	.pan-404-art .q4{width:78px;bottom:2%;right:4%;}
}

/* V10b : galerie de la fiche produit */
.pan-raw .pan-fiche-galerie .principal{display:block;width:100%;height:auto;}
.pan-raw .pan-fiche-vignettes{display:flex;gap:14px;margin-top:26px;}
.pan-raw .pan-fiche-vignettes button{width:84px;height:84px;padding:6px;border:1px solid #d8d3cc;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s;}
.pan-raw .pan-fiche-vignettes button.on,.pan-raw .pan-fiche-vignettes button:hover{border-color:#000;}
.pan-raw .pan-fiche-vignettes img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;}
@media (max-width:700px){.pan-raw .pan-fiche-vignettes button{width:64px;height:64px;}}

/* V10c : le chiffre 404 a sa vraie taille */
.pan-404 .pan-404-core p.pan-404-num{font-family:'Playfair Display',serif !important;font-weight:900 !important;font-style:italic !important;font-size:clamp(96px,13vw,220px) !important;line-height:.88 !important;letter-spacing:-.02em !important;margin:0 0 10px !important;color:#000 !important;max-width:none !important;}
.pan-404 .pan-404-core h1{margin-top:0 !important;}

/* V10d : respiration sous le 404 */
.pan-404 .pan-404-core p.pan-404-num{line-height:.95 !important;margin:0 0 26px !important;}
.pan-404 .pan-404-core h1{line-height:1.08 !important;margin-bottom:26px !important;}

/* ===== PANACHE V11 : le manifeste revient dans la grille, filet toujours bord a bord ===== */
.pan-raw .pan-manif{width:auto !important;max-width:none !important;margin-left:0 !important;margin-right:0 !important;overflow:visible !important;position:relative;border-top-color:transparent !important;}
.pan-raw .pan-manif:before{content:'';position:absolute;top:0;left:calc(50% - var(--pan-vw)/2);width:var(--pan-vw);height:1px;background:#000;pointer-events:none;}

/* V11b : le texte du manifeste reste dans la grille */
.pan-raw .pan-manif-txt{max-width:1500px !important;margin-left:auto !important;margin-right:auto !important;}
.pan-raw .pan-manif-foot{max-width:1500px !important;margin-left:auto !important;margin-right:auto !important;}

/* ===== PANACHE V12 : catalogue, tete histoire, cross-sell a debordement ===== */

/* le catalogue occupe toute la largeur de la grille */
.pan-raw .pan-catalogue{max-width:none !important;width:100% !important;}

/* tete de la page Notre histoire : tout centre, filet qui souligne */
.pan-raw .pan-histoire-tete{text-align:center;}
.pan-raw .pan-histoire-tete .eyebrow{margin-left:auto;margin-right:auto;}
.pan-raw .pan-histoire-tete .lede{margin-left:auto;margin-right:auto;max-width:660px;}
.pan-raw .pan-histoire-tete .pan-histoire-cles{justify-content:center;}
.pan-raw .pan-histoire-cles:before{left:0 !important;width:100% !important;}

/* cross-sell : slider qui deborde vers la droite sur grand ecran */
@media (min-width:1100px){
	.pan-raw .pan-cross-piste{margin-right:calc(50% - var(--pan-vw)/2 - 0px);}
	.pan-raw .pan-cross-piste article{flex:0 0 296px !important;max-width:296px;}
	.pan-raw .pan-cross-piste .ph{height:210px;}
	.pan-raw .pan-cross-piste .ph img{max-height:210px;}
}
.pan-raw .pan-cross-carte-tout a{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;height:100%;border:1px solid #000;padding:34px 30px;box-sizing:border-box;min-height:300px;}
.pan-raw .pan-cross-carte-tout h3{margin:0 0 10px;}
.pan-raw .pan-cross-carte-tout .d{margin:0;}

/* V12b : le chapeau de la page histoire est bien centre */
.pan-raw .pan-histoire-tete .lede{margin-left:auto !important;margin-right:auto !important;max-width:660px !important;}

/* ===== PANACHE V13 : hero, patisseries a cheval sur le bloc avis, logo du fonds ===== */

/* la mousse au chocolat remonte dans le hero */
.pan-raw .pan-hero-art .pa4{top:50% !important;}

/* les patisseries chevauchent le cadre des avis */
.pan-raw .pan-avis-slider{position:relative;padding-bottom:170px;}
.pan-raw .pan-avis-art{position:absolute !important;margin:0 !important;height:auto !important;pointer-events:none;z-index:3;}
.pan-raw .pan-avis-art .a1{top:-46px !important;left:-56px !important;width:150px !important;}
.pan-raw .pan-avis-art .a2{top:auto !important;bottom:-74px !important;left:45% !important;width:142px !important;}
.pan-raw .pan-avis-art .a3{top:32% !important;right:-86px !important;left:auto !important;width:228px !important;}
@media (max-width:1400px){
	.pan-raw .pan-avis-art .a1{left:-20px !important;width:120px !important;}
	.pan-raw .pan-avis-art .a3{right:-30px !important;width:170px !important;}
}
@media (max-width:900px){
	.pan-raw .pan-avis-slider{padding-bottom:110px;}
	.pan-raw .pan-avis-art .a1{width:80px !important;left:-10px !important;top:-28px !important;}
	.pan-raw .pan-avis-art .a2{width:80px !important;bottom:-44px !important;}
	.pan-raw .pan-avis-art .a3{width:100px !important;right:-14px !important;}
}

/* le logo du fonds de dotation se rapproche du texte */
.pan-raw .pan-fonds-corps{grid-template-columns:minmax(0,680px) minmax(0,300px) !important;column-gap:110px !important;justify-content:start !important;align-items:center !important;}
.pan-raw .pan-fonds-logo{justify-content:flex-start !important;}
.pan-raw .pan-fonds-logo a{max-width:290px !important;}
@media (max-width:1100px){
	.pan-raw .pan-fonds-corps{grid-template-columns:1fr !important;row-gap:44px !important;}
}

/* V13b : carte de la page contact */
.pan-raw .pan-carte-leaflet{width:100%;height:520px;background:#f2f0ed;}
.pan-raw .pan-carte-leaflet .leaflet-tile-pane{filter:grayscale(1) contrast(1.04);}
.pan-raw .pan-carte-leaflet .leaflet-container{font-family:'Ubuntu',Helvetica,Arial,sans-serif;background:#f2f0ed;}
.pan-pin span{display:flex;align-items:center;justify-content:center;width:56px;height:42px;border:1px solid #000;border-radius:50%;background:#fff;font-family:'Playfair Display',serif;font-weight:900;font-size:19px;line-height:1;color:#000;box-sizing:border-box;}
.pan-raw .pan-carte-leaflet .leaflet-control-attribution{font-size:10px;}
@media (max-width:900px){.pan-raw .pan-carte-leaflet{height:380px;}}

/* ===== PANACHE V14 : les produits de l accueil en slider a debordement ===== */
.pan-raw .pan-prods-slider{display:block !important;grid-template-columns:none !important;gap:0 !important;}
.pan-raw .pan-cross-tete-seule{justify-content:flex-end !important;margin-bottom:28px !important;}
.pan-raw .pan-prods-slider .pan-cross-piste{display:flex;gap:48px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;}
.pan-raw .pan-prods-slider .pan-cross-piste::-webkit-scrollbar{display:none;}
.pan-raw .pan-prods-slider article{flex:0 0 300px;max-width:300px;scroll-snap-align:start;}
.pan-raw .pan-prods-slider article a{display:block;text-decoration:none;color:#000;}
.pan-raw .pan-prods-slider .ph{height:250px;display:flex;align-items:center;justify-content:center;margin-bottom:26px;}
.pan-raw .pan-prods-slider .ph img{max-width:100%;max-height:250px;width:auto;height:auto;transition:transform .5s ease;}
.pan-raw .pan-prods-slider article a:hover .ph img{transform:scale(1.06);}
.pan-raw .pan-prods-slider h3{font-size:19px;margin:0 0 10px;}
.pan-raw .pan-prods-slider .d{font-size:14px;line-height:1.55;margin:0 0 12px;}
.pan-raw .pan-prods-slider .p{font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:0;}
@media (min-width:1100px){
	.pan-raw .pan-prods-slider .pan-cross-piste{margin-right:calc(50% - var(--pan-vw)/2);}
}
@media (max-width:900px){
	.pan-raw .pan-prods-slider .pan-cross-piste{gap:26px;}
	.pan-raw .pan-prods-slider article{flex:0 0 200px;max-width:200px;}
	.pan-raw .pan-prods-slider .ph{height:170px;}
	.pan-raw .pan-prods-slider .ph img{max-height:170px;}
}

/* V14b : le slider de l accueil defile vraiment */
@media (min-width:1100px){
	.pan-raw .pan-prods-slider .pan-cross-piste{gap:56px;}
	.pan-raw .pan-prods-slider article{flex:0 0 340px;max-width:340px;}
	.pan-raw .pan-prods-slider .ph{height:280px;}
	.pan-raw .pan-prods-slider .ph img{max-height:280px;}
}

/* V14c : priorite au format des cartes de l accueil */
@media (min-width:1100px){
	.pan-raw .pan-prods-slider .pan-cross-piste article{flex:0 0 340px !important;max-width:340px !important;}
	.pan-raw .pan-prods-slider .pan-cross-piste{gap:56px !important;}
	.pan-raw .pan-prods-slider .pan-cross-piste .ph{height:280px !important;}
	.pan-raw .pan-prods-slider .pan-cross-piste .ph img{max-height:280px !important;}
}

/* V15 : les patisseries passent derriere le bloc avis */
.pan-raw .pan-avis-art{z-index:0 !important;}
.pan-raw .pan-avis-art img{z-index:0 !important;}
.pan-raw .pan-avis-piste,.pan-raw .pan-avis-nav,.pan-raw .pan-avis-carte,.pan-raw .pan-avis-id{position:relative;z-index:2;}
.pan-raw .pan-avis-id{background:#fff;}
.pan-raw .pan-avis-art .a3{top:44% !important;}

/* V15b : le feuillete degage le logo des avis, sans aplat blanc */
.pan-raw .pan-avis-id{background:transparent !important;}
.pan-raw .pan-avis-art .a3{top:47% !important;right:-120px !important;}
@media (max-width:1400px){.pan-raw .pan-avis-art .a3{right:-40px !important;}}
@media (max-width:900px){.pan-raw .pan-avis-art .a3{right:-14px !important;}}

/* V15c : le rectangle des avis est plein, les patisseries ne se voient qu a l exterieur */
.pan-raw .pan-avis-carte{background:#fff !important;}
.pan-raw .pan-avis-piste{background:transparent;}

/* ============================================================
   V16 - EN-TETE MOBILE : ruban bord a bord, respiration du logo,
   menu deroulant "Menu v"
   ============================================================ */
.pan-nav-toggle { display: none; }

@media (max-width: 900px) {

  /* le ruban defile d'un bord a l'autre */
  .pan-topbar-in { padding-left: 0 !important; padding-right: 0 !important; }

  /* respiration entre le separateur du haut et le logo */
  .pan-nav { position: relative; }
  .pan-nav-in {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: 28px !important;
    padding-bottom: 24px !important;
    gap: 16px;
  }
  .pan-nav-logo { margin: 0 !important; }
  .pan-nav-droite {
    flex-direction: row !important;
    align-items: center !important;
    gap: 20px !important;
  }

  /* bouton Menu v */
  .pan-nav-toggle {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    -webkit-appearance: none;
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    font-family: 'Ubuntu', sans-serif;
    font-size: 15px;
    line-height: 1;
    color: #000;
    letter-spacing: .02em;
    cursor: pointer;
  }
  .pan-nav-chev {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    transform-origin: 50% 55%;
    transition: transform .25s ease;
  }
  html.pan-menu-ouvert .pan-nav-chev { transform: rotate(180deg); }

  /* panneau deroulant */
  .pan-nav-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: #fff;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    display: none;
    z-index: 140;
  }
  html.pan-menu-ouvert .pan-nav-menu { display: block; }
  .pan-nav-menu .pan-menu {
    display: block !important;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .pan-nav-menu .pan-menu li {
    display: block !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(0,0,0,.14);
  }
  .pan-nav-menu .pan-menu li:last-child { border-bottom: 0; }
  .pan-nav-menu .pan-menu li a {
    display: block;
    padding: 17px 24px;
    font-family: 'Ubuntu', sans-serif;
    font-size: 16px;
    line-height: 1.2;
    color: #000;
    text-decoration: none;
  }
}

/* ---- V16b : le ruban prend toute la largeur sur mobile ---- */
@media (max-width: 900px) {
  .pan-header .pan-topbar .pan-topbar-in {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ============================================================
   V17 - HERO MOBILE : les patisseries flottent au lieu d'etre
   alignees en ligne
   ============================================================ */
@media (max-width: 1080px) {
  .pan-hero .pan-hero-art {
    position: relative !important;
    display: block !important;
    grid-template-columns: none !important;
    margin-left: calc(50% - var(--pan-vw, 100vw) / 2) !important;
    width: var(--pan-vw, 100vw) !important;
    max-width: none !important;
    height: 188px !important;
    overflow: hidden;
    margin-bottom: 14px;
    pointer-events: none;
  }
  .pan-hero .pan-hero-art .pa1,
  .pan-hero .pan-hero-art .pa2,
  .pan-hero .pan-hero-art .pa3,
  .pan-hero .pan-hero-art .pa4 {
    position: absolute !important;
    height: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .pan-hero .pan-hero-art .pa1 {
    width: 34vw !important;
    left: -5vw !important;
    right: auto !important;
    top: 42px !important;
    z-index: 3;
  }
  .pan-hero .pan-hero-art .pa2 {
    width: 19.5vw !important;
    left: 31vw !important;
    right: auto !important;
    top: 4px !important;
    z-index: 1;
  }
  .pan-hero .pan-hero-art .pa3 {
    width: 23.5vw !important;
    left: 48vw !important;
    right: auto !important;
    top: 92px !important;
    z-index: 1;
  }
  .pan-hero .pan-hero-art .pa4 {
    width: 36vw !important;
    left: auto !important;
    right: -3.5vw !important;
    top: 16px !important;
    z-index: 2;
  }
}

/* ---- V17b : reglage fin de la composition du hero mobile ---- */
@media (max-width: 900px) {
  .pan-hero .pan-hero-art .pa2 { left: 33vw !important; top: 2px !important; }
  .pan-hero .pan-hero-art .pa3 { left: 42vw !important; top: 94px !important; }
  .pan-hero .pan-hero-art .pa4 { right: -5vw !important; top: 14px !important; }
}

/* ============================================================
   V18 - BLOC DES QUATRE ACCROCHES SUR MOBILE :
   une colonne, texte centre, filets bord a bord
   ============================================================ */
@media (max-width: 767px) {
  .pan-keys {
    display: block !important;
    grid-template-columns: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
  }
  .pan-keys > * {
    border-left: 0 !important;
    border-right: 0 !important;
    border-top: 1px solid #000 !important;
    border-bottom: 0 !important;
    padding: 26px 24px !important;
    margin: 0 !important;
    text-align: center !important;
  }
  .pan-keys > *:first-child { border-top: 0 !important; }
  .pan-keys p { text-align: center !important; }
}

/* ---- V18b : les filets des accroches touchent les deux bords ---- */
@media (max-width: 767px) {
  .pan-raw .pan-keys { padding: 36px 0 !important; }
  .pan-raw .pan-keys > div { padding: 26px 24px !important; }
  .pan-raw .pan-keys > div:first-child { padding: 0 24px 26px !important; border-top: 0 !important; }
}

/* ============================================================
   V19 - PAGE PATISSERIES : filtres qui tiennent sur mobile,
   catalogue en trois colonnes sur iPad
   ============================================================ */
@media (max-width: 767px) {
  .pan-filtres > * {
    font-size: 11px !important;
    letter-spacing: 1.1px !important;
  }
  .pan-filtres { gap: 10px 12px !important; }
}

@media (min-width: 700px) and (max-width: 1023px) {
  .pan-catalogue,
  .pan-catalogue-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* ============================================================
   V20 - MANIFESTE MOBILE : les patisseries reviennent,
   posees dans les respirations du bloc
   ============================================================ */
@media (max-width: 767px) {
  .pan-manif {
    position: relative;
    padding-top: 132px !important;
    padding-bottom: 124px !important;
  }
  .pan-manif .pm1,
  .pan-manif .pm2,
  .pan-manif .pm3 {
    display: block !important;
    position: absolute !important;
    height: auto !important;
    max-width: none !important;
    z-index: 1;
    pointer-events: none;
  }
  .pan-manif .pm1 {
    width: 27vw !important;
    left: -6vw !important;
    right: auto !important;
    top: 0 !important;
    bottom: auto !important;
  }
  .pan-manif .pm2 {
    width: 22vw !important;
    right: -5vw !important;
    left: auto !important;
    top: 30px !important;
    bottom: auto !important;
  }
  .pan-manif .pm3 {
    width: 24vw !important;
    right: 8vw !important;
    left: auto !important;
    top: auto !important;
    bottom: 6px !important;
  }
}

/* ---- V20b : pm2 recadre pour ne pas depasser l'ecran ---- */
@media (max-width: 767px) {
  .pan-manif .pm2 { right: -2vw !important; width: 21vw !important; }
}

/* ---- V20c : mots du manifeste qui passent au noir ---- */
.pan-raw .pan-manif .pan-manif-txt span.w.pan-on,
.pan-raw .pan-manif-txt .w.pan-on {
  color: #000 !important;
}

/* ============================================================
   V21 - BLOC AVIS SUR MOBILE : le texte ne sort plus du cadre
   ============================================================ */
@media (max-width: 767px) {
  .pan-avis-carte {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 26px 22px !important;
  }
  .pan-avis-carte > * {
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .pan-avis-carte blockquote { font-size: 17px !important; }
}

/* ============================================================
   V22 - BLOC AVIS MOBILE : la patisserie du bas revient,
   et le cadre respire pour qu'on les voie depasser
   ============================================================ */
@media (max-width: 767px) {
  .pan-avis-carte {
    margin-left: 18px !important;
    margin-right: 18px !important;
  }
  .pan-avis-art .a2 {
    display: block !important;
    position: absolute !important;
    width: 88px !important;
    height: auto !important;
    max-width: none !important;
    left: 24% !important;
    right: auto !important;
    top: auto !important;
    bottom: -38px !important;
  }
  .pan-avis-art .a1 {
    width: 84px !important;
    left: -14px !important;
    right: auto !important;
    top: 8px !important;
  }
  .pan-avis-art .a3 {
    width: 96px !important;
    right: -18px !important;
    left: auto !important;
  }
}

/* ---- V22b : calage fin des patisseries du bloc avis sur mobile ---- */
@media (max-width: 767px) {
  .pan-raw .pan-avis-art .a1 {
    width: 100px !important;
    height: auto !important;
    left: -26px !important;
    right: auto !important;
    top: -20px !important;
    bottom: auto !important;
  }
  .pan-raw .pan-avis-art .a2 {
    display: block !important;
    width: 104px !important;
    height: auto !important;
    left: 26% !important;
    right: auto !important;
    top: auto !important;
    bottom: -46px !important;
  }
  .pan-raw .pan-avis-art .a3 {
    width: 118px !important;
    height: auto !important;
    right: -28px !important;
    left: auto !important;
    top: 52% !important;
    bottom: auto !important;
  }
}

/* ---- V22c : la patisserie du bas depasse davantage du cadre ---- */
@media (max-width: 767px) {
  .pan-raw .pan-avis-art .a2 { bottom: -80px !important; }
}

/* ============================================================
   V23 - PIED DE PAGE : trois colonnes des l'iPad en portrait
   ============================================================ */
@media (min-width: 700px) and (max-width: 1023px) {
  .pan-footer-cols {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px !important;
  }
}

/* ============================================================
   V24 - FICHE PRODUIT : les vignettes ne sortent plus du cadre.
   En colonne a droite a partir de la tablette, en rang sous
   l'image sur telephone.
   ============================================================ */
.pan-fiche-visuel.pan-fiche-galerie {
  display: flex !important;
  align-items: flex-start;
  gap: 16px;
}
.pan-fiche-visuel.pan-fiche-galerie > .principal {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  max-width: 100%;
}
.pan-fiche-visuel.pan-fiche-galerie .pan-fiche-vignettes {
  flex: 0 0 auto;
  flex-direction: column !important;
  gap: 14px !important;
}

@media (max-width: 699px) {
  .pan-fiche-visuel.pan-fiche-galerie {
    flex-direction: column !important;
    align-items: center;
  }
  .pan-fiche-visuel.pan-fiche-galerie > .principal {
    width: 100% !important;
  }
  .pan-fiche-visuel.pan-fiche-galerie .pan-fiche-vignettes {
    flex-direction: row !important;
    justify-content: center;
    margin-top: 6px;
  }
}

/* ============================================================
   V25 - PAGE HISTOIRE SUR MOBILE : plus de debordement,
   et le filet respire
   ============================================================ */
@media (max-width: 767px) {
  .pan-raw .pan-chap {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .pan-raw .pan-chap > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .pan-raw .pan-deux-col {
    columns: 1 !important;
    column-count: 1 !important;
    width: auto !important;
    max-width: 100% !important;
  }
  .pan-raw .pan-deux-col > * { max-width: 100% !important; }
  .pan-raw .pan-chap-txt,
  .pan-raw .pan-chap-img,
  .pan-raw .pan-chap-img img {
    width: auto !important;
    max-width: 100% !important;
  }
  .pan-page-tete .pan-histoire-cles {
    margin-top: 36px !important;
    padding-top: 34px !important;
  }
}

/* ---- V26 : les boutons restent dans leur colonne sur mobile ---- */
@media (max-width: 767px) {
  .pan-raw .pan-btn {
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* ---- V18c : les accroches sont vraiment centrees (cases en flex) ---- */
@media (max-width: 767px) {
  .pan-raw .pan-keys > div {
    justify-content: center !important;
    align-items: center !important;
  }
}

/* ---- V16c : sur tablette le menu reste deplie, le bouton n'apparait
   qu'a partir du telephone ---- */
@media (min-width: 700px) and (max-width: 900px) {
  .pan-nav-toggle { display: none !important; }
  .pan-nav-menu {
    position: static !important;
    display: block !important;
    border: 0 !important;
    background: none !important;
  }
  .pan-nav-menu .pan-menu {
    display: flex !important;
    align-items: center;
    gap: 28px;
  }
  .pan-nav-menu .pan-menu li {
    border-bottom: 0 !important;
  }
  .pan-nav-menu .pan-menu li a {
    padding: 0 !important;
    font-size: 13px !important;
  }
}

/* ============================================================
   V27 - RETOUCHES TABLETTE ET FICHE PRODUIT
   ============================================================ */

/* a. le ruban ne va bord a bord que sur telephone : sur tablette
   "+ de gout" et "+ de sens" retrouvent leur marge */
@media (min-width: 700px) and (max-width: 900px) {
  .pan-header .pan-topbar .pan-topbar-in {
    padding-left: 36px !important;
    padding-right: 36px !important;
  }
}

/* b. menu mobile en capitales, comme la navigation grand ecran */
.pan-nav-toggle {
  text-transform: uppercase;
  letter-spacing: .12em !important;
}
.pan-nav-menu .pan-menu li a {
  text-transform: uppercase;
}
@media (max-width: 699px) {
  .pan-nav-toggle { font-size: 13px !important; }
  .pan-nav-menu .pan-menu li a {
    font-size: 13px !important;
    letter-spacing: .14em !important;
  }
}

/* c. fiche produit : sur tablette aussi, la photo reste mesuree
   et les miniatures passent dessous */
@media (max-width: 1023px) {
  .pan-fiche-visuel.pan-fiche-galerie {
    flex-direction: column !important;
    align-items: center;
  }
  .pan-fiche-visuel.pan-fiche-galerie > .principal {
    width: 100% !important;
    max-width: 440px !important;
  }
  .pan-fiche-visuel.pan-fiche-galerie .pan-fiche-vignettes {
    flex-direction: row !important;
    justify-content: center;
    margin-top: 10px;
  }
}

/* d. respiration entre le bouton et le filet du bas */
.pan-raw .pan-fiche-histoire {
  padding-bottom: clamp(48px, 5vw, 84px) !important;
}

/* ---- V27e : le chevron reste un petit v minuscule ---- */
.pan-nav-chev {
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ============================================================
   V28 - ONGLETS DE LA FICHE PRODUIT
   ============================================================ */
.pan-raw .pan-fiche-details.pan-onglets {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
.pan-onglets-barre {
  display: flex;
  align-items: flex-end;
  gap: clamp(20px, 3vw, 46px);
  border-bottom: 1px solid #000;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.pan-onglets-barre::-webkit-scrollbar { display: none; }

.pan-onglet {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: 0;
  border-bottom: 2px solid transparent;
  margin: 0 0 -1px;
  padding: 0 0 13px;
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 900;
  font-size: clamp(13px, 1.05vw, 16px);
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #000;
  opacity: .34;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity .25s ease, border-color .25s ease;
}
.pan-onglet:hover { opacity: .68; }
.pan-onglet.on {
  opacity: 1;
  border-bottom-color: #000;
}
.pan-onglet-panneau {
  padding-top: clamp(26px, 2.6vw, 40px);
  max-width: 940px;
}
.pan-onglet-panneau[hidden] { display: none !important; }
.pan-onglet-panneau p { margin: 0 0 14px; }
.pan-onglet-panneau p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
  .pan-onglets-barre { gap: 22px; }
  .pan-onglet { font-size: 12px; padding-bottom: 11px; }
}

/* ============================================================
   V29 - FICHE PRODUIT : prix et commande cote a cote,
   separes par un filet vertical
   ============================================================ */
@media (min-width: 768px) {
  .pan-fiche-achat {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: clamp(28px, 3vw, 48px);
    align-items: stretch;
    margin-top: 44px;
    padding-top: 24px;
    border-top: 1px solid #000;
  }
  .pan-fiche-achat .pan-fiche-prix {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }
  .pan-fiche-achat .pan-fiche-commande {
    margin-top: 0 !important;
  }
  .pan-fiche-achat-droite {
    border-left: 1px solid #000;
    padding-left: clamp(28px, 3vw, 48px);
  }
}

/* ---- V29b : la colonne prix respire un peu plus ---- */
@media (min-width: 768px) {
  .pan-fiche-achat {
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
  }
}

/* ---- V30 : la fiche produit ne deborde plus sur telephone ---- */
@media (max-width: 767px) {
  .pan-raw .pan-fiche-haut {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .pan-raw .pan-fiche-haut > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .pan-raw .pan-fiche-visuel img {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* ---- V28b : les onglets passent en bas de casse ---- */
.pan-onglet {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: clamp(15px, 1.2vw, 19px) !important;
}
@media (max-width: 767px) {
  .pan-onglet { font-size: 15px !important; }
}

/* ---- V31 : la signature passe sous le logo du pied de page ---- */
.pan-footer .pan-footer-mention {
  margin: 14px 0 0;
  font-family: 'Ubuntu', sans-serif;
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #000;
}

/* ---- V32 : "A decouvrir aussi" devient un vrai titre de section
   sans changer d'allure ---- */
.pan-raw h2.pan-cross-titre {
  font-family: 'Ubuntu', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #000 !important;
}

/* ---- V33 : le filet du bloc histoire de la fiche va bord a bord ---- */
.pan-raw .pan-fiche-histoire::before {
  left: var(--pan-decal, calc(50% - var(--pan-vw, 100vw) / 2)) !important;
  width: var(--pan-vw, 100vw) !important;
}

/* ---- V34 : les avant-titres des chapitres gagnent en presence ---- */
.pan-raw .pan-chap .num {
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .19em !important;
}
@media (max-width: 767px) {
  .pan-raw .pan-chap .num { font-size: 12px !important; }
}

/* ---- V35 : le temoignage d'Alberic, un cran plus bas ---- */
.pan-raw .pan-citation {
  font-size: clamp(20px, 1.75vw, 26px) !important;
  line-height: 1.5 !important;
}

/* ---- V36 : le bloc avis respire, on voit mieux les patisseries autour ---- */
@media (min-width: 1024px) {
  .pan-raw .pan-avis-slider {
    max-width: 1060px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ---- V37 : les onglets de la fiche passent dans la colonne de droite,
   sous le bloc prix et commande ---- */
.pan-raw .pan-fiche-texte .pan-fiche-details {
  padding-top: clamp(34px, 3.4vw, 52px) !important;
  margin-top: 0 !important;
}
.pan-raw .pan-fiche-texte .pan-onglet-panneau {
  max-width: 100% !important;
}
@media (max-width: 767px) {
  .pan-raw .pan-fiche-texte .pan-fiche-details {
    padding-top: 34px !important;
  }
}

/* ---- V37b : sur telephone les onglets passent a la ligne plutot que
   de defiler, pour qu'aucun ne soit cache ---- */
@media (max-width: 767px) {
  .pan-onglets-barre {
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    gap: 6px 20px !important;
  }
  .pan-onglet {
    font-size: 14px !important;
    padding-bottom: 9px !important;
  }
}

/* ---- V38 : les visuels des chapitres restent dans leur cadre
   quel que soit leur format ---- */
.pan-raw .pan-chap-img img {
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
}

/* ---- V38b : on plafonne la hauteur des visuels de chapitre pour que
   les formats portrait ne prennent pas tout l'ecran ---- */
.pan-raw .pan-chap-img img {
  max-height: clamp(320px, 40vw, 620px) !important;
  width: auto !important;
  margin-left: auto;
  margin-right: auto;
}

/* ============================================================
   V39 - HERO MOBILE : composition entremelee, d'un bord a l'autre,
   aucune patisserie coupee en bas
   ============================================================ */
@media (max-width: 767px) {
  .pan-hero .pan-hero-art {
    height: 252px !important;
    margin-bottom: 18px !important;
  }
  .pan-hero .pan-hero-art .pa1 {
    width: 40vw !important;
    left: -10vw !important;
    right: auto !important;
    top: 60px !important;
    z-index: 3;
  }
  .pan-hero .pan-hero-art .pa2 {
    width: 26vw !important;
    left: 26vw !important;
    right: auto !important;
    top: 6px !important;
    z-index: 2;
  }
  .pan-hero .pan-hero-art .pa3 {
    width: 30vw !important;
    left: 44vw !important;
    right: auto !important;
    top: 118px !important;
    z-index: 4;
  }
  .pan-hero .pan-hero-art .pa4 {
    width: 42vw !important;
    right: -12vw !important;
    left: auto !important;
    top: 30px !important;
    z-index: 1;
  }
}

/* ============================================================
   V40 - LES PATISSERIES FLOTTENT
   On anime la propriete translate, qui se compose avec le transform
   de rotation deja pose, sans l'ecraser.
   ============================================================ */
@keyframes pan-flotte {
  0%   { translate: 0 0; }
  50%  { translate: 0 -13px; }
  100% { translate: 0 0; }
}
@keyframes pan-flotte-court {
  0%   { translate: 0 0; }
  50%  { translate: 0 -8px; }
  100% { translate: 0 0; }
}

.pan-hero-art .pa1,
.pan-hero-art .pa2,
.pan-hero-art .pa3,
.pan-hero-art .pa4,
.pan-manif .pm1,
.pan-manif .pm2,
.pan-manif .pm3,
.pan-avis-art .a1,
.pan-avis-art .a2,
.pan-avis-art .a3 {
  will-change: transform, translate;
  animation-name: pan-flotte;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

.pan-hero-art .pa1 { animation-duration: 7.5s; animation-delay: -0.4s; }
.pan-hero-art .pa2 { animation-duration: 5.6s; animation-delay: -2.1s; animation-name: pan-flotte-court; }
.pan-hero-art .pa3 { animation-duration: 6.4s; animation-delay: -3.3s; }
.pan-hero-art .pa4 { animation-duration: 8.2s; animation-delay: -1.2s; }

.pan-manif .pm1 { animation-duration: 6.8s; animation-delay: -0.9s; animation-name: pan-flotte-court; }
.pan-manif .pm2 { animation-duration: 5.9s; animation-delay: -2.7s; animation-name: pan-flotte-court; }
.pan-manif .pm3 { animation-duration: 7.6s; animation-delay: -1.6s; animation-name: pan-flotte-court; }

.pan-avis-art .a1 { animation-duration: 7.9s; animation-delay: -0.6s; }
.pan-avis-art .a2 { animation-duration: 6.2s; animation-delay: -2.4s; }
.pan-avis-art .a3 { animation-duration: 8.6s; animation-delay: -3.9s; }

@media (prefers-reduced-motion: reduce) {
  .pan-hero-art .pa1,
  .pan-hero-art .pa2,
  .pan-hero-art .pa3,
  .pan-hero-art .pa4,
  .pan-manif .pm1,
  .pan-manif .pm2,
  .pan-manif .pm3,
  .pan-avis-art .a1,
  .pan-avis-art .a2,
  .pan-avis-art .a3 {
    animation: none;
  }
}

/* ---- V39b : marge en haut pour que le flottement ne coupe rien ---- */
@media (max-width: 767px) {
  .pan-hero .pan-hero-art .pa2 { top: 14px !important; }
}

/* ============================================================
   V41 - QUATRE CORRECTIONS MOBILE
   ============================================================ */

/* a. le catalogue gardait des colonnes figees en pixels : sur un
   ecran plus etroit que 390 la seconde carte sortait de l'ecran */
@media (max-width: 767px) {
  .pan-raw .pan-catalogue,
  .pan-raw .pan-catalogue-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .pan-raw .pan-catalogue > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* b. sur l'accueil, les fleches du slider passent sous les produits */
@media (max-width: 767px) {
  .pan-prods-slider {
    display: flex !important;
    flex-direction: column !important;
  }
  .pan-prods-slider .pan-cross-piste { order: 1; }
  .pan-prods-slider .pan-cross-tete {
    order: 2;
    margin-top: 26px !important;
    justify-content: center !important;
  }
}

/* c. de l'air entre le filet et l'encart de commande */
.pan-raw .pan-encart {
  margin-top: clamp(30px, 4vw, 56px) !important;
}

/* d. le bouton Menu a la meme graisse et le meme interlettrage
   que les entrees du menu */
.pan-nav-toggle {
  font-weight: 500 !important;
  letter-spacing: .14em !important;
}



/* ===== V42 : correctifs de specificite (fleches sous la piste, espace avant l'encart) ===== */
@media (max-width: 767px) {
  .pan-raw .pan-prods-slider { display: flex !important; flex-direction: column !important; }
  .pan-raw .pan-prods-slider .pan-cross-piste { order: 1 !important; }
  .pan-raw .pan-prods-slider .pan-cross-tete { order: 2 !important; margin-top: 26px !important; justify-content: center !important; }
}
.main-container .row-container .row-parent .pan-raw .pan-encart { margin-top: clamp(30px, 4vw, 56px) !important; }


/* ===== V43 : espace avant l'encart (Uncode remet a zero la marge du premier enfant avec un selecteur tres specifique, d'ou la classe repetee) ===== */
.main-container .row-container .row-parent .uncont .pan-raw .pan-encart.pan-encart.pan-encart.pan-encart.pan-encart.pan-encart.pan-encart.pan-encart.pan-encart.pan-encart { margin-top: clamp(30px, 4vw, 56px) !important; }


/* ===== V44 : hero mobile, aucune patisserie coupee, chevauchements accentues ===== */
@media (max-width: 767px) {
  .pan-hero .pan-hero-art { height: 256px !important; }
  .pan-hero .pan-hero-art .pa1 { width: 37vw !important; left: 1.5vw !important; right: auto !important; top: 92px !important; }
  .pan-hero .pan-hero-art .pa2 { width: 25vw !important; left: 29vw !important; right: auto !important; top: 4px !important; }
  .pan-hero .pan-hero-art .pa3 { width: 31vw !important; left: 35vw !important; right: auto !important; top: 126px !important; }
  .pan-hero .pan-hero-art .pa4 { width: 35vw !important; left: auto !important; right: 1.5vw !important; top: 26px !important; }
}


/* ===== V45 : onglets fiche en italique, financier desktop decale et agrandi, hero mobile en calque ===== */
.pan-onglets-barre .pan-onglet { font-style: italic !important; }

@media (min-width: 1201px) {
  .pan-raw .pan-hero-art .pa2 { width: 213px !important; right: calc(34px + 4.8vw) !important; left: auto !important; top: 19% !important; }
}
@media (min-width: 901px) and (max-width: 1200px) {
  .pan-raw .pan-hero-art .pa2 { width: 146px !important; right: calc(34px + 4.8vw) !important; left: auto !important; top: 19% !important; }
}

@media (max-width: 767px) {
  .pan-hero { position: relative !important; }
  .pan-hero .pan-hero-art {
    position: absolute !important;
    top: 0 !important; bottom: 0 !important;
    left: calc(50% - var(--pan-vw, 100vw) / 2) !important;
    width: var(--pan-vw, 100vw) !important;
    height: auto !important;
    margin: 0 !important;
    display: block !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }
  .pan-hero .pan-hero-art img { position: absolute !important; height: auto !important; }
  .pan-hero .pan-hero-art .pa3 { width: 17.3vw !important; left: 5.8vw !important; right: auto !important; top: 2.5% !important; }
  .pan-hero .pan-hero-art .pa2 { width: 22.3vw !important; right: -3.1vw !important; left: auto !important; top: 18.8% !important; }
  .pan-hero .pan-hero-art .pa4 { width: 12.2vw !important; left: 76.4vw !important; right: auto !important; top: 51.9% !important; }
  .pan-hero .pan-hero-art .pa1 { width: 25.9vw !important; left: -8.4vw !important; right: auto !important; top: 63.9% !important; }
}


/* ===== V46 : section texte + visuel des patissiers (page Nos patisseries) ===== */
.pan-textes section.pan-sec-img {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: clamp(28px, 5vw, 80px);
  align-items: center;
}
.pan-textes section.pan-sec-img .pan-sec-txt { min-width: 0; }
.pan-textes section.pan-sec-img .pan-sens-img { min-width: 0; }
.pan-textes section.pan-sec-img .pan-sens-img img { display: block; width: 100%; height: auto; max-width: none; }
@media (max-width: 900px) {
  .pan-textes section.pan-sec-img { grid-template-columns: 1fr; gap: 30px; }
}


/* ===== V47 : hero mobile bord a bord (le bloc hero clippait les patisseries sur la colonne de texte) ===== */
@media (max-width: 767px) {
  .pan-hero { overflow: visible !important; }
  .pan-hero .pan-hero-art { overflow: hidden !important; }
}


/* ===== V48 : menu en gras, carrousel accueil bord a bord et respiration au-dessus (mobile) ===== */
@media (max-width: 900px) {
  .pan-nav-toggle { font-weight: 700 !important; }
}
@media (max-width: 767px) {
  .pan-raw .pan-prods-slider { padding-top: 26px !important; }
  .pan-raw .pan-prods-slider .pan-cross-piste {
    margin-left: calc(50% - var(--pan-vw, 100vw) / 2) !important;
    width: var(--pan-vw, 100vw) !important;
    max-width: none !important;
    padding-left: 36px !important;
    padding-right: 36px !important;
    box-sizing: border-box !important;
  }
}


/* ===== V49 : flottement plus lisible sur mobile (amplitude 13px -> 22px) ===== */
@keyframes pan-flotte-m { 0% { translate: 0 0; } 50% { translate: 0 -22px; } 100% { translate: 0 0; } }
@keyframes pan-flotte-court-m { 0% { translate: 0 0; } 50% { translate: 0 -14px; } 100% { translate: 0 0; } }
@media (max-width: 767px) {
  .pan-hero-art .pa1, .pan-hero-art .pa3, .pan-hero-art .pa4 { animation-name: pan-flotte-m !important; }
  .pan-hero-art .pa2 { animation-name: pan-flotte-court-m !important; }
  .pan-hero-art .pa1 { animation-duration: 6.4s !important; }
  .pan-hero-art .pa2 { animation-duration: 5.2s !important; }
  .pan-hero-art .pa3 { animation-duration: 5.8s !important; }
  .pan-hero-art .pa4 { animation-duration: 7.0s !important; }
}
@media (prefers-reduced-motion: reduce) {
  .pan-hero-art .pa1, .pan-hero-art .pa2, .pan-hero-art .pa3, .pan-hero-art .pa4 { animation: none !important; }
}


/* ===== V50 : fleches du carrousel alignees a droite sur mobile ===== */
@media (max-width: 767px) {
  .pan-raw .pan-prods-slider .pan-cross-tete { justify-content: flex-end !important; }
}


/* ===== V51 : flottement mobile en transform (compatibilite Safari iOS) ===== */
@keyframes pan-flotte-t { 0% { transform: translateY(0); } 50% { transform: translateY(-22px); } 100% { transform: translateY(0); } }
@keyframes pan-flotte-t-court { 0% { transform: translateY(0); } 50% { transform: translateY(-14px); } 100% { transform: translateY(0); } }
@media (max-width: 767px) {
  .pan-hero-art .pa1, .pan-hero-art .pa3, .pan-hero-art .pa4 { animation-name: pan-flotte-t !important; }
  .pan-hero-art .pa2 { animation-name: pan-flotte-t-court !important; }
  .pan-hero-art .pa1, .pan-hero-art .pa2, .pan-hero-art .pa3, .pan-hero-art .pa4 { translate: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .pan-hero-art .pa1, .pan-hero-art .pa2, .pan-hero-art .pa3, .pan-hero-art .pa4 { animation: none !important; }
}


/* ===== V52 : le Paris-Brest remplace la mousse, largeur ajustee pour garder la meme presence ===== */
@media (min-width: 1201px) { .pan-raw .pan-hero-art .pa4 { width: 306px !important; } }
@media (min-width: 768px) and (max-width: 1200px) { .pan-raw .pan-hero-art .pa4 { width: 192px !important; } }
@media (max-width: 767px) { .pan-hero .pan-hero-art .pa4 { width: 14.6vw !important; } }


/* ===== V53 : page Nos patisseries, nouvelle mise en page des trois blocs + bandeau defilant ===== */

/* 1. La finesse : titre a gauche, texte a droite */
.pan-textes section.pan-sec-2col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(30px, 5vw, 90px);
  align-items: start;
}
.pan-textes section.pan-sec-2col .pan-sec-titre h2 { margin: 0; }
.pan-textes section.pan-sec-2col .pan-sec-corps p:last-child { margin-bottom: 0 !important; }

/* 2. Porteuses de sens : cadre, texte a gauche, photo a droite */
.pan-textes section.pan-sec-cadre {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
  gap: clamp(24px, 4vw, 60px);
  align-items: center;
  border: 1px solid #000;
  overflow: hidden;
}
.pan-textes section.pan-sec-cadre .pan-sec-txt { padding: clamp(28px, 4vw, 64px); }
.pan-textes section.pan-sec-cadre .pan-sens-img { align-self: end; min-width: 0; }
.pan-textes section.pan-sec-cadre .pan-sens-img img { display: block; width: 100%; height: auto; max-width: none; }

/* 3. Toutes les occasions : bloc centre */
.pan-textes section.pan-sec-centre { text-align: center; }
.pan-textes section.pan-sec-centre p { margin-left: auto !important; margin-right: auto !important; max-width: 62ch; }
.pan-textes section.pan-sec-centre .cta { margin-top: clamp(26px, 3vw, 44px); }

/* 4. Bandeau defilant */
.pan-bandeau {
  position: relative;
  display: flex;
  overflow: hidden;
  margin: clamp(30px, 4vw, 56px) 0 clamp(6px, 1vw, 14px);
  margin-left: calc(50% - var(--pan-vw, 100vw) / 2);
  width: var(--pan-vw, 100vw);
}
.pan-bandeau-piste {
  display: flex;
  align-items: flex-end;
  gap: clamp(26px, 3.4vw, 64px);
  padding-right: clamp(26px, 3.4vw, 64px);
  flex: 0 0 auto;
  animation: pan-defile 46s linear infinite;
}
.pan-bandeau-piste img {
  display: block;
  height: clamp(120px, 13vw, 200px);
  width: auto;
  flex: 0 0 auto;
}
.pan-bandeau:hover .pan-bandeau-piste { animation-play-state: paused; }
@keyframes pan-defile { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .pan-bandeau-piste { animation: none; } }

@media (max-width: 900px) {
  .pan-textes section.pan-sec-2col { grid-template-columns: 1fr; gap: 22px; }
  .pan-textes section.pan-sec-cadre { grid-template-columns: 1fr; gap: 0; }
  .pan-textes section.pan-sec-cadre .pan-sec-txt { padding: 28px 26px 22px; }
}


/* ===== V54 : bloc fonds de dotation encadre, bouton dans l angle bas droit ===== */
.pan-raw .pan-fonds {
  position: relative;
  border: 1px solid #000;
  padding: clamp(30px, 4vw, 62px) clamp(26px, 4vw, 62px) clamp(76px, 7vw, 104px);
  padding-block: clamp(30px, 4vw, 62px) clamp(76px, 7vw, 104px);
}
.pan-raw .pan-fonds .cta {
  position: absolute;
  right: -1px;
  bottom: -1px;
  margin: 0 !important;
}
.pan-raw .pan-fonds .cta .pan-btn { background: #fff; }
.pan-raw .pan-fonds-corps { align-items: center; }
@media (max-width: 900px) {
  .pan-raw .pan-fonds { padding-bottom: clamp(30px, 5vw, 48px); }
  .pan-raw .pan-fonds .cta { position: static; margin-top: 28px !important; }
  .pan-raw .pan-fonds-corps { grid-template-columns: 1fr !important; row-gap: 30px !important; }
  .pan-raw .pan-fonds-logo { justify-content: flex-start !important; }
}


/* ===== V55 : photo du bloc porteuses de sens un peu plus petite, tailles variees dans le bandeau ===== */
.pan-textes section.pan-sec-cadre { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
.pan-bandeau-piste img:nth-child(3n + 1) { height: clamp(104px, 11vw, 168px); }
.pan-bandeau-piste img:nth-child(3n + 2) { height: clamp(132px, 14.6vw, 224px); }
.pan-bandeau-piste img:nth-child(3n + 3) { height: clamp(116px, 12.4vw, 190px); }
@media (max-width: 900px) {
  .pan-textes section.pan-sec-cadre { grid-template-columns: 1fr; }
}


/* ===== V56 : blocs de la page Nos patisseries passes en elements du builder ===== */
.pan-bloc { padding-block: clamp(26px, 3.2vw, 50px); }
.pan-bloc h2 { font-family: var(--pan-display); font-weight: 900; font-size: clamp(30px, 4.4vw, 56px); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 22px; }
.pan-bloc h2 em { font-style: italic; }
.pan-bloc p { font-size: 16px; line-height: 1.78; max-width: 66ch; margin: 0 0 16px !important; font-weight: 300; }
.pan-bloc p:last-child { margin-bottom: 0 !important; }
.pan-bloc .cta { margin-top: 26px !important; }
.pan-bloc .uncode_text_column > *:first-child { margin-top: 0; }

/* titre a gauche, texte a droite */
.pan-bloc-2col .pan-bloc-titre h2 { margin-bottom: 0; }

/* encadre : texte a gauche, photo a droite collee au filet */
.pan-bloc-cadre .row-inner { border: 1px solid #000; }
.pan-bloc-cadre .wpb_column > .uncol { justify-content: center; }
.pan-bloc-cadre .pan-bloc-txt .uncell { padding: clamp(28px, 3.4vw, 56px) !important; }
.pan-bloc-cadre .pan-bloc-photo .uncell { padding: 0 !important; }
.pan-bloc-cadre .pan-bloc-photo img { display: block; width: 100%; height: auto; }

/* bloc centre */
.pan-bloc-centre { text-align: center; }
.pan-bloc-centre p { margin-left: auto !important; margin-right: auto !important; max-width: 62ch; }
.pan-bloc-centre .pan-bandeau { margin-top: clamp(24px, 3vw, 44px); }

@media (max-width: 900px) {
  .pan-bloc-cadre .pan-bloc-txt .uncell { padding: 26px 24px 22px !important; }
}


/* ===== V57 : cadre cale sur la colonne de texte, photo un peu plus petite ===== */
.pan-bloc-cadre .pan-bloc-photo img { width: 88%; margin-left: auto; }
@media (max-width: 900px) { .pan-bloc-cadre .pan-bloc-photo img { width: 100%; } }


/* V57b : photo au plus pres du filet */
.pan-bloc-cadre .pan-bloc-photo img { width: 94%; }
@media (max-width: 900px) { .pan-bloc-cadre .pan-bloc-photo img { width: 100%; } }


/* ===== V58 : fonds de dotation, colonnes 2/3 et 1/3, logo au-dessus du bouton, pas de filet au-dessus ===== */
.pan-raw .pan-fonds::before { display: none !important; }
.pan-raw .pan-fonds {
  --pan-pad: clamp(30px, 4vw, 62px);
  padding: var(--pan-pad) !important;
  margin-bottom: clamp(44px, 5vw, 84px) !important;
}
.pan-raw .pan-fonds-corps {
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) !important;
  column-gap: clamp(30px, 4vw, 70px) !important;
  align-items: stretch !important;
}
.pan-raw .pan-fonds-logo {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.pan-raw .pan-fonds-logo > a { display: block; width: 100%; max-width: 340px; }
.pan-raw .pan-fonds .cta {
  position: static !important;
  width: auto;
  margin: 0 calc(-1 * var(--pan-pad) - 1px) calc(-1 * var(--pan-pad) - 1px) 0 !important;
  margin-top: auto !important;
  padding-top: clamp(30px, 4vw, 56px);
}
.pan-raw .pan-fonds .cta .pan-btn { display: flex; width: 100%; justify-content: center; background: #fff; }
@media (max-width: 900px) {
  .pan-raw .pan-fonds-corps { grid-template-columns: 1fr !important; }
  .pan-raw .pan-fonds-logo { align-items: center; }
  .pan-raw .pan-fonds .cta { margin: 28px 0 0 0 !important; padding-top: 0; }
  .pan-raw .pan-fonds .cta .pan-btn { width: auto; }
}

/* bloc citation elargi */
.pan-raw .pan-citation { max-width: min(880px, 78vw) !important; }


/* V58b : le bouton occupe toute la colonne de droite jusqu au filet */
.pan-raw .pan-fonds .cta { align-self: stretch; }
@media (max-width: 900px) { .pan-raw .pan-fonds .cta { align-self: auto; } }


/* ===== V59 : chapitres de Notre histoire passes en elements du builder ===== */
.pan-bloc-chap, .pan-bloc-coeur, .pan-bloc-plein { padding-block: clamp(34px, 4.5vw, 72px); }
.pan-bloc .num { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; font-weight: 500; margin: 0 0 14px !important; }
.pan-bloc-chap h2, .pan-bloc-coeur h2, .pan-bloc-plein h2 { font-family: var(--pan-display); font-weight: 900; font-size: clamp(30px, 4.4vw, 56px); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 22px; }
.pan-bloc-chap h2 em, .pan-bloc-coeur h2 em, .pan-bloc-plein h2 em { font-style: italic; }
.pan-bloc-chap p { font-size: 15.5px; line-height: 1.78; margin: 0 0 16px !important; max-width: 58ch; font-weight: 300; }
.pan-bloc-chap .cta { margin-top: 26px !important; }
.pan-bloc-chap-img img { display: block; width: 100%; height: auto; }
.pan-bloc-chap .wpb_column > .uncol { justify-content: center; }

/* chapitre Le coeur, centre */
.pan-bloc-coeur { text-align: center; }
.pan-bloc-coeur .pan-citation { max-width: min(880px, 78vw) !important; margin-left: auto !important; margin-right: auto !important; }
.pan-bloc-coeur p.intro, .pan-bloc-coeur p.fin { margin-left: auto !important; margin-right: auto !important; max-width: 62ch; font-size: 15.5px; line-height: 1.78; font-weight: 300; }
.pan-bloc-coeur p.signature { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; font-weight: 500; }

/* chapitre Le glacage, texte en deux colonnes */
.pan-bloc-plein .pan-bloc-deux-colonnes { column-count: 2; column-gap: clamp(30px, 4vw, 70px); }
.pan-bloc-plein .pan-bloc-deux-colonnes p { font-size: 15.5px; line-height: 1.78; margin: 0 0 16px !important; font-weight: 300; break-inside: avoid; }
@media (max-width: 767px) {
  .pan-bloc-plein .pan-bloc-deux-colonnes { column-count: 1; }
}


/* ===== V60 : les blocs du builder respectent la largeur de contenu du site (1500 px) ===== */
.pan-bloc > .row { padding-left: max(36px, calc((100% - 1500px) / 2)) !important; padding-right: max(36px, calc((100% - 1500px) / 2)) !important; }


/* ===== V61 : corrections des blocs passes au builder ===== */
/* 1. tout le texte en noir, y compris les titres */
.pan-bloc, .pan-bloc h1, .pan-bloc h2, .pan-bloc h3, .pan-bloc h4, .pan-bloc p, .pan-bloc li, .pan-bloc blockquote, .pan-bloc a { color: #000 !important; }

/* 2. colonnes de texte plus larges dans les chapitres */
.pan-bloc-chap p { max-width: 84ch !important; }
.pan-bloc-cadre .pan-bloc-txt p { max-width: 80ch !important; }
.pan-bloc-2col .pan-bloc-corps p { max-width: 72ch !important; }

/* 3. chapitre Le coeur : tout centre, colonne a la moitie de l ecran */
.pan-bloc-coeur .uncol, .pan-bloc-coeur .uncode_text_column { text-align: center !important; }
.pan-bloc-coeur .pan-coeur > *, .pan-bloc-coeur p, .pan-bloc-coeur blockquote {
  max-width: min(960px, 62vw) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.pan-bloc-coeur .pan-citation { max-width: min(960px, 62vw) !important; }
.pan-bloc-coeur .signature { margin-top: 22px !important; }

/* 4. bloc toutes les occasions : titre et texte centres */
.pan-bloc-centre .uncol, .pan-bloc-centre .uncode_text_column { text-align: center !important; }
.pan-bloc-centre .cta { margin-bottom: clamp(40px, 5vw, 80px) !important; }

/* 5. bloc porteuses de sens : photo moins haute */
.pan-bloc-cadre .pan-bloc-photo img { width: 90% !important; margin-left: auto; }

/* 6. fonds de dotation : texte plus large, espace sous le titre, logo centre */
.pan-raw .pan-fonds p { max-width: 80ch !important; }
.pan-raw .pan-fonds h2 { margin-bottom: clamp(26px, 3vw, 40px) !important; }
.pan-raw .pan-fonds-logo > a { margin-top: auto; margin-bottom: auto; }


/* ===== V62 : fiche produit, accueil, ajustements demandes ===== */
/* titre du bloc cross-sell */
.pan-raw h2.pan-cross-titre, .pan-raw .pan-cross-titre {
  font-family: var(--pan-display) !important;
  font-weight: 900 !important;
  font-size: clamp(22px, 2.2vw, 34px) !important;
  letter-spacing: -.01em !important;
  text-transform: none !important;
  color: #000 !important;
  line-height: 1.1 !important;
}

/* teaser Notre histoire sur la fiche : texte a gauche, petite photo a droite */
.pan-raw .pan-fh-grille {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 26%;
  gap: clamp(24px, 3vw, 60px);
  align-items: center;
}
.pan-raw .pan-fh-img img { display: block; width: 100%; height: auto; }
@media (max-width: 767px) {
  .pan-raw .pan-fh-grille { grid-template-columns: 1fr; gap: 24px; }
  .pan-raw .pan-fh-img { max-width: 260px; }
}

/* bouton retour au catalogue */
.pan-raw .pan-fiche-retour { margin-top: clamp(34px, 4vw, 60px) !important; }

/* accueil : la photo des patissiers reste dans le bloc */
.pan-raw .pan-sens-img img { width: 100% !important; transform: none !important; }


/* V62b : le bouton du fonds occupe toute la colonne */
.pan-raw .pan-fonds .cta .pan-btn { width: 100% !important; box-sizing: border-box; }
@media (max-width: 900px) { .pan-raw .pan-fonds .cta .pan-btn { width: auto !important; } }


/* V63 : images des chapitres moins hautes, le texte etant plus large */
.pan-bloc-chap-img .uncode-single-media-wrapper, .pan-bloc-chap-img .uncode-single-media { width: 100% !important; }
.pan-bloc-chap-img img { width: 100% !important; height: auto !important; max-height: none !important; }
.pan-bloc-chap .pan-bloc-chap-img { display: block; }

@media (max-width: 900px) { .pan-bloc-chap .pan-bloc-chap-img { justify-content: center; } }


/* V63b : les images du builder occupent toute leur colonne */
.pan-bloc-chap-img .tmb, .pan-bloc-chap-img .t-inside, .pan-bloc-chap-img .t-entry-visual, .pan-bloc-chap-img .t-entry-visual-tc, .pan-bloc-chap-img .uncode-single-media-wrapper,
.pan-bloc-photo .tmb, .pan-bloc-photo .t-inside, .pan-bloc-photo .t-entry-visual, .pan-bloc-photo .t-entry-visual-tc, .pan-bloc-photo .uncode-single-media-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}


/* V63c : largeurs de colonnes forcees (les rangees Uncode sont en table, la cellule image se retrecissait) */
.pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-txt { width: 66.66% !important; }
.pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-img { width: 33.34% !important; }
.pan-bloc-chap-img .single-wrapper, .pan-bloc-photo .single-wrapper, .pan-bloc-chap-img .uncode-single-media, .pan-bloc-photo .uncode-single-media { width: 100% !important; display: block !important; }
@media (max-width: 900px) {
  .pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-txt, .pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-img { width: 100% !important; }
}


/* V63d : disposition fixe pour que les colonnes gardent leurs proportions */
.pan-bloc-chap > .row > .row-inner { table-layout: fixed !important; width: 100% !important; }
.pan-bloc-cadre > .row > .row-inner { table-layout: fixed !important; }


/* V63e : largeur concrete pour les images des chapitres (la cellule se calait sur l image, qui se calait sur la cellule) */
.pan-bloc-chap-img img { width: min(30vw, 470px) !important; height: auto !important; }
@media (max-width: 900px) { .pan-bloc-chap-img img { width: 100% !important; } }


/* ===== V64 : proportions des blocs du builder, images, encadre du fonds ===== */
/* 1. les rangees passent de table a flex : les colonnes gardent leurs proportions */
.pan-bloc > .row > .row-inner { display: flex !important; flex-wrap: wrap; align-items: center; width: 100% !important; }
.pan-bloc > .row > .row-inner > .wpb_column { display: block !important; float: none !important; }
.pan-bloc > .row > .row-inner > .vc_controls { display: none !important; }
.pan-bloc > .row > .row-inner > .wpb_column > .uncol,
.pan-bloc > .row > .row-inner > .wpb_column > .uncol > .uncoltable { width: 100% !important; }
.pan-bloc-cadre > .row > .row-inner { align-items: stretch !important; }

/* 2. Nos patisseries : le titre prend un tiers, le texte deux tiers */
.pan-bloc-2col > .row > .row-inner > .pan-bloc-titre { width: 34% !important; flex: 0 0 34%; }
.pan-bloc-2col > .row > .row-inner > .pan-bloc-corps { width: 66% !important; flex: 0 0 66%; }
.pan-bloc-2col .pan-bloc-corps p { max-width: none !important; }

/* 3. chapitres de Notre histoire : deux tiers de texte, un tiers d image */
.pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-txt { width: 66% !important; flex: 0 0 66%; }
.pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-img { width: 34% !important; flex: 0 0 34%; }
.pan-bloc-chap-img img { width: 100% !important; max-width: 100% !important; height: auto !important; }
.pan-bloc-chap p { max-width: none !important; }

/* 4. bloc encadre : le texte occupe sa colonne, la photo colle au filet */
.pan-bloc-cadre > .row > .row-inner > .pan-bloc-txt { width: 64% !important; flex: 0 0 64%; }
.pan-bloc-cadre > .row > .row-inner > .pan-bloc-photo { width: 36% !important; flex: 0 0 36%; }
.pan-bloc-cadre .pan-bloc-txt p { max-width: none !important; }
.pan-bloc-cadre .pan-bloc-photo img { width: 100% !important; }

/* 5. accueil : la colonne de texte gagne en largeur, plus de vide au centre */
.pan-raw .pan-sens { grid-template-columns: minmax(0, 1.34fr) minmax(0, 1fr) !important; }
.pan-raw .pan-sens-txt p, .pan-raw .pan-sens-txt .cta { max-width: none !important; }

/* 6. chapitre Le coeur : surtitre centre, citation dans la bonne typographie */
.pan-bloc-coeur .num { margin-left: auto !important; margin-right: auto !important; }
.pan-bloc .pan-citation { font-family: var(--pan-display) !important; font-style: italic !important; font-size: clamp(20px, 1.9vw, 30px) !important; line-height: 1.5 !important; }

/* 7. fonds de dotation : filet du haut visible, bouton dans l angle bas droit */
.pan-raw .pan-fonds { border-top-color: #000 !important; }
.pan-raw .pan-fonds .cta .pan-btn { max-width: none !important; width: 100% !important; }

@media (max-width: 900px) {
  .pan-bloc > .row > .row-inner > .wpb_column { width: 100% !important; flex: 0 0 100%; }
  .pan-raw .pan-fonds .cta .pan-btn { width: auto !important; }
}
@media (max-width: 767px) {
  .pan-raw .pan-sens { grid-template-columns: 1fr !important; }
}


/* ===== V64b : la rangee gere la gouttiere, le contenu reste sur la grille du site ===== */
.pan-bloc-chap > .row > .row-inner,
.pan-bloc-2col > .row > .row-inner,
.pan-bloc-coeur > .row > .row-inner,
.pan-bloc-centre > .row > .row-inner,
.pan-bloc-plein > .row > .row-inner {
  margin-left: 0 !important; margin-right: 0 !important; width: 100% !important;
  column-gap: clamp(28px, 3.4vw, 68px);
}
.pan-bloc-chap > .row > .row-inner .uncell,
.pan-bloc-2col > .row > .row-inner .uncell,
.pan-bloc-coeur > .row > .row-inner .uncell,
.pan-bloc-centre > .row > .row-inner .uncell,
.pan-bloc-plein > .row > .row-inner .uncell { padding-left: 0 !important; padding-right: 0 !important; }

.pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-txt { width: 63% !important; flex: 0 0 auto; }
.pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-img { width: auto !important; flex: 1 1 0; }
.pan-bloc-2col > .row > .row-inner > .pan-bloc-titre { width: 32% !important; flex: 0 0 auto; }
.pan-bloc-2col > .row > .row-inner > .pan-bloc-corps { width: auto !important; flex: 1 1 0; }
@media (max-width: 900px) {
  .pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-txt,
  .pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-img,
  .pan-bloc-2col > .row > .row-inner > .pan-bloc-titre,
  .pan-bloc-2col > .row > .row-inner > .pan-bloc-corps { width: 100% !important; flex: 0 0 100%; }
}

/* V64c : plus de retrait de colonne, la gouttiere est geree par la rangee */
.pan-bloc-chap > .row > .row-inner > .wpb_column,
.pan-bloc-2col > .row > .row-inner > .wpb_column,
.pan-bloc-coeur > .row > .row-inner > .wpb_column,
.pan-bloc-centre > .row > .row-inner > .wpb_column,
.pan-bloc-plein > .row > .row-inner > .wpb_column { padding-left: 0 !important; padding-right: 0 !important; }

/* V64d : en flex, les colonnes reprennent leur hauteur naturelle (sinon les rangees se superposent) */
.pan-bloc > .row > .row-inner > .wpb_column { height: auto !important; min-height: 0 !important; }
.pan-bloc > .row > .row-inner > .wpb_column > .uncol { height: auto !important; }

/* ===== V65 : page Contact, gourmandises sous la carte ===== */
.pan-raw .pan-gourm { padding-block: clamp(40px, 5.5vw, 96px); }
.pan-raw .pan-gourm-art { display: flex; align-items: center; justify-content: center; gap: clamp(26px, 5vw, 96px); }
.pan-raw .pan-gourm-art img { display: block; height: auto; }
.pan-raw .pan-gourm-art .g1 { width: clamp(104px, 12vw, 196px); margin-bottom: clamp(20px, 3vw, 54px); }
.pan-raw .pan-gourm-art .g2 { width: clamp(88px, 10vw, 158px); margin-top: clamp(24px, 3.4vw, 62px); }
.pan-raw .pan-gourm-art .g3 { width: clamp(118px, 14vw, 226px); }
@media (prefers-reduced-motion: no-preference) {
  .pan-raw .pan-gourm-art img { animation: pan-flotte-t 9s ease-in-out infinite; will-change: transform; }
  .pan-raw .pan-gourm-art .g2 { animation-duration: 11s; animation-delay: -3s; }
  .pan-raw .pan-gourm-art .g3 { animation-duration: 10s; animation-delay: -6s; }
}
@media (max-width: 560px) { .pan-raw .pan-gourm-art { gap: 18px; } }

/* V65b : sur mobile le bouton du fonds reste dans le cadre */
@media (max-width: 900px) {
  .pan-raw .pan-fonds .cta .pan-btn { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
}

/* V65c : sur mobile la colonne du fonds ne depasse plus le cadre */
@media (max-width: 900px) {
  .pan-raw .pan-fonds-corps { grid-template-columns: minmax(0, 1fr) !important; }
  .pan-raw .pan-fonds-logo, .pan-raw .pan-fonds-logo > a, .pan-raw .pan-fonds .cta { max-width: 100% !important; }
}


/* ===== V66 : cinq retouches (photo du cadre, survol des boutons, respirations, teaser fiche, contact) ===== */
/* 1. bloc encadre : photo plus petite, la colonne de texte gagne la place */
.pan-bloc-cadre > .row > .row-inner > .pan-bloc-txt { width: 73% !important; flex: 0 0 73%; }
.pan-bloc-cadre > .row > .row-inner > .pan-bloc-photo { width: 27% !important; flex: 0 0 27%; }

/* 2. survol des boutons dans les blocs du builder : texte blanc sur fond noir */
.pan-bloc a.pan-btn:hover, .pan-bloc a.pan-btn:hover *,
.pan-bloc .cta a:hover, .pan-bloc .cta a:hover * { color: #fff !important; }

/* 3. fiche produit : moins de vide entre le bouton retour et le bloc suivant */
.pan-raw .pan-fiche-retour { margin-top: clamp(22px, 2.4vw, 38px) !important; }
.pan-row-suite .pan-raw .pan-cross { padding-top: clamp(26px, 3vw, 46px) !important; }

/* 4. teaser Notre histoire : le bloc occupe la largeur de contenu, la photo se cale a droite */
.pan-raw .pan-fiche-histoire { max-width: none !important; }
.pan-raw .pan-fh-grille { grid-template-columns: minmax(0, 820px) 1fr !important; align-items: center; }
.pan-raw .pan-fh-img { justify-self: end; width: clamp(150px, 14vw, 230px); }
@media (max-width: 767px) {
  .pan-raw .pan-fh-grille { grid-template-columns: 1fr !important; }
  .pan-raw .pan-fh-img { justify-self: start; }
}

/* 5. page Contact : les patisseries remontent sous la carte */
.pan-raw .pan-gourm { padding-top: clamp(16px, 1.8vw, 30px) !important; padding-bottom: clamp(40px, 5vw, 86px) !important; }

/* V66b : fiche produit, moins de blanc entre le bouton retour et A decouvrir aussi */
.pan-raw .pan-fiche { padding-bottom: clamp(20px, 2.4vw, 40px) !important; }

/* V66c : sur mobile le bloc encadre repasse sur une colonne */
@media (max-width: 900px) {
  .pan-bloc-cadre > .row > .row-inner > .pan-bloc-txt,
  .pan-bloc-cadre > .row > .row-inner > .pan-bloc-photo { width: 100% !important; flex: 0 0 100%; }
  .pan-bloc-cadre .pan-bloc-photo img { width: 100% !important; }
}

/* ===== V67 : page Contact, les patisseries en decor eparpille comme autour du bloc avis ===== */
.pan-raw .pan-gourm { position: relative; }
.pan-raw .pan-gourm-art {
  position: relative;
  display: block !important;
  height: clamp(210px, 21vw, 330px);
  gap: 0 !important;
}
.pan-raw .pan-gourm-art img { position: absolute; margin: 0 !important; }
.pan-raw .pan-gourm-art .g1 { left: 0; top: 0; width: clamp(112px, 12.4vw, 196px) !important; }
.pan-raw .pan-gourm-art .g2 { left: 43%; top: auto; bottom: 0; width: clamp(92px, 9.4vw, 150px) !important; }
.pan-raw .pan-gourm-art .g3 { right: 0; top: clamp(18px, 2.8vw, 52px); width: clamp(128px, 14.4vw, 228px) !important; }
@media (max-width: 767px) {
  .pan-raw .pan-gourm-art { display: flex !important; height: auto; align-items: center; justify-content: space-between; gap: 12px !important; }
  .pan-raw .pan-gourm-art img { position: static; }
  .pan-raw .pan-gourm-art .g1 { width: 31% !important; margin-bottom: 18px !important; }
  .pan-raw .pan-gourm-art .g2 { width: 24% !important; margin-top: 20px !important; }
  .pan-raw .pan-gourm-art .g3 { width: 35% !important; }
}

/* ===== V68 : page Contact, les patisseries derriere la carte, rognees par elle (comme le bloc avis) ===== */
.pan-raw .pan-carte { position: relative; }
.pan-raw .pan-carte-leaflet { position: relative; z-index: 2; height: clamp(240px, 26vw, 400px) !important; }
.pan-raw .pan-carte-lien { position: relative; z-index: 2; }
.pan-raw .pan-carte-deco { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.pan-raw .pan-carte-deco img { position: absolute; display: block; height: auto; }
.pan-raw .pan-carte-deco .d1 { top: -52px; left: -44px; width: clamp(104px, 10.4vw, 168px); }
.pan-raw .pan-carte-deco .d2 { left: 43%; bottom: -66px; width: clamp(88px, 8.6vw, 140px); }
.pan-raw .pan-carte-deco .d3 { top: 40%; right: -74px; width: clamp(120px, 12.8vw, 206px); }
@media (prefers-reduced-motion: no-preference) {
  .pan-raw .pan-carte-deco img { animation: pan-flotte-t 9s ease-in-out infinite; }
  .pan-raw .pan-carte-deco .d2 { animation-duration: 11s; animation-delay: -3s; }
  .pan-raw .pan-carte-deco .d3 { animation-duration: 10s; animation-delay: -6s; }
}
@media (max-width: 1600px) {
  .pan-raw .pan-carte-deco .d1 { left: -18px; }
  .pan-raw .pan-carte-deco .d3 { right: -26px; }
}
@media (max-width: 900px) {
  .pan-raw .pan-carte-deco .d1 { left: -8px; top: -34px; width: 96px; }
  .pan-raw .pan-carte-deco .d2 { bottom: -44px; width: 80px; }
  .pan-raw .pan-carte-deco .d3 { right: -10px; width: 110px; }
}
@media (max-width: 560px) {
  .pan-raw .pan-carte-deco .d2 { display: none; }
  .pan-raw .pan-carte-deco .d1 { width: 74px; top: -26px; }
  .pan-raw .pan-carte-deco .d3 { width: 86px; }
}

/* V68b : le decor se cale exactement sur la carte */
.pan-raw .pan-carte-zone { position: relative; }
.pan-raw .pan-carte-deco { position: absolute; inset: 0; z-index: 1; pointer-events: none; }

/* ===== V69 : carte un peu plus etroite, patisseries qui sortent davantage ===== */
.pan-raw .pan-carte-zone { width: 87%; max-width: 1320px; }
.pan-raw .pan-carte-deco .d1 { top: -84px; left: -72px; width: clamp(112px, 11.4vw, 186px); }
.pan-raw .pan-carte-deco .d2 { left: 41%; bottom: -96px; width: clamp(96px, 9.4vw, 154px); }
.pan-raw .pan-carte-deco .d3 { top: 38%; right: -112px; width: clamp(128px, 13.6vw, 222px); }
@media (prefers-reduced-motion: no-preference) {
  .pan-raw .pan-carte-deco img { animation-name: pan-flotte-t !important; animation-duration: 9s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; will-change: transform; }
  .pan-raw .pan-carte-deco .d2 { animation-duration: 11s; animation-delay: -3s; }
  .pan-raw .pan-carte-deco .d3 { animation-duration: 10s; animation-delay: -6s; }
}
@media (max-width: 1600px) {
  .pan-raw .pan-carte-deco .d1 { left: -46px; top: -62px; }
  .pan-raw .pan-carte-deco .d3 { right: -66px; }
}
@media (max-width: 1100px) {
  .pan-raw .pan-carte-zone { width: 92%; }
  .pan-raw .pan-carte-deco .d1 { left: -22px; top: -44px; }
  .pan-raw .pan-carte-deco .d3 { right: -30px; }
  .pan-raw .pan-carte-deco .d2 { bottom: -60px; }
}
@media (max-width: 767px) {
  .pan-raw .pan-carte-zone { width: 100%; }
  .pan-raw .pan-carte-deco .d1 { left: -10px; top: -34px; width: 96px; }
  .pan-raw .pan-carte-deco .d3 { right: -12px; width: 110px; }
  .pan-raw .pan-carte-deco .d2 { bottom: -44px; width: 82px; }
}

/* V69b : sur les ecrans moyens la patisserie de gauche reste entierement visible */
@media (max-width: 1600px) { .pan-raw .pan-carte-deco .d1 { left: -30px; } }

/* ===== V70 : la citation d Alberic dans la typographie des titres (le paragraphe interne gardait la police du corps) ===== */
.pan-bloc .pan-citation, .pan-bloc .pan-citation p,
.pan-raw .pan-citation, .pan-raw .pan-citation p {
  font-family: "Playfair Display", Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(22px, 2.5vw, 38px) !important;
  line-height: 1.42 !important;
  letter-spacing: -.005em !important;
}
.pan-bloc .pan-citation p, .pan-raw .pan-citation p { max-width: none !important; margin: 0 !important; }
.pan-bloc-coeur .pan-citation { margin-top: clamp(22px, 2.6vw, 42px) !important; margin-bottom: clamp(22px, 2.6vw, 42px) !important; }

/* V70b : la citation etant plus grosse, sa colonne s elargit un peu pour ne pas empiler dix lignes */
.pan-bloc-coeur .pan-citation { max-width: min(1180px, 76vw) !important; }

/* V70c : sur petit ecran le titre du chapitre Le coeur tient dans la colonne (profondement humaine reste insecable) */
@media (max-width: 480px) {
  .pan-bloc-coeur h2 { font-size: clamp(22px, 6.8vw, 28px) !important; }
}

/* ===== V71 : mots mis en avant dans les textes (le corps est en light, le gras est un demi-gras) ===== */
.pan-raw p strong, .pan-raw li strong, .pan-bloc p strong, .pan-bloc li strong,
.pan-raw p b, .pan-bloc p b { font-weight: 600 !important; color: inherit !important; }

/* ===== V72 : chapitre Le glacage, surtitre et titre centres ===== */
.pan-bloc-plein .num, .pan-bloc-plein h2 { text-align: center !important; }
.pan-bloc-plein h2 { margin-bottom: clamp(26px, 3vw, 46px) !important; }

/* ===== V73 : chapitre Le glacage, surtitre centre, colonnes calees sur la grille, photo de l equipe ===== */
.pan-bloc-plein .num { max-width: none !important; }
.pan-bloc-plein .pan-bloc-deux-colonnes p { max-width: none !important; }
.pan-bloc-plein .pan-bloc-deux-colonnes { column-gap: clamp(26px, 2.6vw, 48px); }
/* photo de l equipe au-dessus du chapitre */
.pan-bloc-plein .pan-equipe-img { display: block; margin: 0 auto clamp(22px, 2.8vw, 46px); }
.pan-bloc-plein .pan-equipe-img img { display: block; width: min(620px, 48vw) !important; height: auto !important; margin: 0 auto; }
.pan-bloc-plein .pan-equipe-img .uncode-single-media, .pan-bloc-plein .pan-equipe-img .single-wrapper,
.pan-bloc-plein .pan-equipe-img .tmb, .pan-bloc-plein .pan-equipe-img .t-inside,
.pan-bloc-plein .pan-equipe-img .t-entry-visual, .pan-bloc-plein .pan-equipe-img .t-entry-visual-tc,
.pan-bloc-plein .pan-equipe-img .uncode-single-media-wrapper { width: 100% !important; max-width: 100% !important; display: block !important; text-align: center !important; }
@media (max-width: 767px) {
  .pan-bloc-plein .pan-equipe-img img { width: 100% !important; }
}

/* V73b : les deux colonnes s alignent sur le texte du cadre du fonds (padding du cadre + filet) */
.pan-bloc-plein .pan-bloc-deux-colonnes {
  margin-left: calc(clamp(30px, 4vw, 62px) + 1px) !important;
  margin-right: calc(clamp(30px, 4vw, 62px) + 1px) !important;
}
@media (max-width: 767px) {
  .pan-bloc-plein .pan-bloc-deux-colonnes { margin-left: 0 !important; margin-right: 0 !important; }
}

/* V73c : plus de respiration avant l encadre du fonds de dotation */
.pan-raw .pan-fonds { margin-top: clamp(40px, 5vw, 96px) !important; }

/* V73d : la respiration avant l encadre passe par le bas du chapitre (la marge du cadre etait neutralisee) */
.pan-bloc-plein { padding-bottom: clamp(56px, 7.5vw, 160px) !important; }
.pan-row-fonds > .row { padding-top: clamp(0px, 1vw, 20px) !important; }

/* ===== V74 : carrousels et teaser sur mobile ===== */
/* le defilement se cale sur la grille, plus de texte colle au bord gauche */
.pan-raw .pan-cross-piste { scroll-padding-left: 36px; }
@media (max-width: 767px) {
  /* la piste file jusqu au bord droit de l ecran, la carte suivante est coupee par l ecran */
  .pan-raw .pan-cross-piste { margin-right: -36px !important; padding-right: 36px !important; }
  /* photo du teaser Notre histoire un peu plus grande */
  .pan-raw .pan-fh-img { width: min(230px, 62%) !important; max-width: none !important; }
}


/* V75 : coupures de lignes plus souples, evite les fins de ligne trop courtes */
.pan-raw p, .pan-raw li, .pan-raw blockquote, .pan-raw figcaption,
.pan-bloc p, .pan-bloc li, .pan-bloc blockquote, .pan-citation, .pan-citation p,
.pan-footer p, .pan-footer li { text-wrap: pretty; }


/* V76 : citation Alberic un cran plus petite */
.pan-bloc .pan-citation, .pan-bloc .pan-citation p,
.pan-raw .pan-citation, .pan-raw .pan-citation p {
  font-size: clamp(19px, 2.05vw, 31px) !important;
  line-height: 1.45 !important;
}


/* V77 : mention sous le bouton du hero + centrage de la carte Contact */
.pan-raw .pan-hero-plus {
  margin: 18px 0 0 !important;
  font-family: 'Ubuntu', Helvetica, Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2.2px !important;
  text-transform: uppercase !important;
  color: #000 !important;
  text-align: center !important;
}
.pan-raw .pan-carte-zone { margin-left: auto !important; margin-right: auto !important; }


/* V78 : defilement du bandeau sans trou */
@keyframes pan-defile {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(calc(-1 * var(--pan-pas, 33.333%)), 0, 0); }
}


/* V79 : tablette, visuel des chapitres au-dessus du texte, plus petit, cale a droite */
@media (min-width: 768px) and (max-width: 959px) {
  .pan-bloc-chap > .row > .row-inner { flex-direction: row !important; flex-wrap: wrap !important; align-items: flex-start !important; }
  .pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-img {
    order: -1 !important;
    width: 48% !important;
    flex: 0 0 48% !important;
    margin-left: auto !important;
    margin-bottom: clamp(22px, 3.5vw, 40px) !important;
  }
  .pan-bloc-chap > .row > .row-inner > .pan-bloc-chap-txt { width: 100% !important; flex: 0 0 100% !important; }
}


/* V80 : ajustements tablette (logo fonds, photo patissiers, respiration, infos contact) */
@media (min-width: 768px) and (max-width: 959px) {
  .pan-raw .pan-fonds-logo { max-width: 46% !important; margin-left: auto !important; margin-right: auto !important; }
  .pan-bloc-photo .uncode-single-media-wrapper { width: 62% !important; margin-left: auto !important; }
  .pan-bloc-photo img { width: 100% !important; max-width: none !important; height: auto !important; display: block !important; }
  .pan-raw .pan-contact-cols { grid-template-columns: repeat(3, 1fr) !important; gap: clamp(18px, 2.6vw, 30px) !important; }
}
@media (max-width: 959px) {
  .pan-bloc-photo { margin-bottom: clamp(46px, 7vw, 78px) !important; }
}


/* V81 : les patisseries decoratives passent au-dessus des filets */
.pan-raw .pan-avis-art { z-index: 3 !important; }
.pan-raw .pan-avis-art img { z-index: 3 !important; position: absolute; }
.pan-raw .pan-manif .pm1, .pan-raw .pan-manif .pm2, .pan-raw .pan-manif .pm3 { z-index: 3 !important; }
.pan-raw .pan-carte-deco { z-index: 3 !important; }
.pan-raw .pan-carte-leaflet { z-index: 4 !important; }


/* V82 : tablette, patisseries de la carte plus presentes */
@media (min-width: 768px) and (max-width: 959px) {
  .pan-raw .pan-carte-deco .d1 { width: clamp(150px, 18vw, 190px) !important; }
  .pan-raw .pan-carte-deco .d2 { width: clamp(130px, 15.5vw, 165px) !important; }
  .pan-raw .pan-carte-deco .d3 { width: clamp(172px, 20.5vw, 215px) !important; }
}


/* V83 : les cartes d avis repassent devant les patisseries */
.pan-raw .pan-avis-carte { position: relative; z-index: 5 !important; }


/* V84 : la barre d administration garde ses couleurs WordPress */
#wpadminbar, #wpadminbar *, #wpadminbar .display-name, #wpadminbar .ab-label { color: #f0f0f1 !important; }
#wpadminbar a:hover, #wpadminbar a:hover *, #wpadminbar li:hover > a { color: #72aee6 !important; }


/* V85 : bloc des arguments, hauteurs identiques et filets jusqu au bord */
@media (max-width: 767px) {
  .pan-raw .pan-keys > * { padding: 26px 24px !important; }
  .pan-raw .pan-keys > :first-child, .pan-raw .pan-keys > div:first-child { padding-top: 26px !important; padding-bottom: 26px !important; border-top: 0 !important; }
}
@media (min-width: 768px) and (max-width: 860px) {
  .pan-raw .pan-keys { padding-left: 0 !important; padding-right: 0 !important; }
  .pan-raw .pan-keys > div:nth-child(2n+1) { padding-left: 36px !important; }
  .pan-raw .pan-keys > div:nth-child(2n) { padding-right: 36px !important; }
}


/* V86 : bloc porteuse de sens en une colonne jusqu a 1080px */
@media (max-width: 1080px) {
  .pan-raw .pan-sens { grid-template-columns: 1fr !important; gap: 34px !important; }
  .pan-raw .pan-sens-img img { width: 100% !important; transform: none !important; }
}


/* V87 : ordre des calques du bloc avis (filet < patisseries < carte) */
.pan-raw .pan-avis-piste { z-index: 4 !important; }


/* V88 : fiches produit, on masque le bandeau de titre du theme */
body.single-panache_produit .row-breadcrumb,
body.single-panache_produit .row-breadcrumb-light { display: none !important; }


/* V89 : vignettes de la fiche produit, sous la grande photo */
.pan-raw .pan-fiche-visuel { flex-direction: column !important; align-items: center !important; }
.pan-raw .pan-fiche-vignettes { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 18px; width: 100%; }
.pan-raw .pan-fiche-vignettes .pan-vig { width: 74px; height: 74px; padding: 3px; border: 1px solid #ddd; background: #fff; cursor: pointer; line-height: 0; }
.pan-raw .pan-fiche-vignettes .pan-vig img { width: 100%; height: 100%; object-fit: contain; display: block; }
.pan-raw .pan-fiche-vignettes .pan-vig.active { border-color: #000; }


/* V90 : fiches produit, meme gabarit que les autres pages */
body.single-panache_produit .post-content .row-parent .row-parent { padding-left: 0 !important; padding-right: 0 !important; }


/* V91 : fiche produit, teaser histoire et visuel stable */
body.single-panache_produit .post-content .row-parent { max-width: 1572px !important; }
.pan-raw .pan-fh-grille { grid-template-columns: minmax(0, 1fr) 36% !important; }
.pan-raw .pan-fh-img { width: 100% !important; max-width: none !important; justify-self: stretch !important; }
.pan-raw .pan-fh-img img { width: 100% !important; height: auto !important; max-width: none !important; }
.pan-raw .pan-fiche-visuel img { aspect-ratio: 1 / 1 !important; object-fit: contain !important; height: auto !important; }
@media (max-width: 767px) {
  .pan-raw .pan-fh-grille { grid-template-columns: 1fr !important; gap: 24px !important; }
  .pan-raw .pan-fh-img { max-width: 320px !important; margin: 0 auto !important; }
}


/* V92 : fiche produit, haut de page, teaser encadre, onglets stables, lien du plan */
body.single-panache_produit .post-content .row-parent { padding-top: 0 !important; }
.pan-raw .pan-fiche-histoire { border: 1px solid #000 !important; padding: clamp(30px, 3.6vw, 60px) !important; }
.pan-raw .pan-fh-grille { grid-template-columns: minmax(0, 1fr) 30% !important; align-items: center !important; }
.pan-raw .pan-onglets-corps { display: grid !important; }
.pan-raw .pan-onglet-panneau { grid-area: 1 / 1 !important; }
.pan-raw .pan-onglet-panneau[hidden] { display: block !important; visibility: hidden !important; pointer-events: none !important; }
.pan-raw .pan-carte-lien { width: 87% !important; max-width: 1320px !important; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 767px) { .pan-raw .pan-fiche-histoire { padding: 24px !important; } .pan-raw .pan-carte-lien { width: 100% !important; } }

/* V93 : blocs de texte riches dans la fiche */
.pan-raw .pan-fiche-desc > p { margin: 0 0 1em !important; font-size: inherit; line-height: inherit; font-weight: inherit; }
.pan-raw .pan-fiche-desc > p:last-child { margin-bottom: 0 !important; }
.pan-raw .pan-onglet-panneau > div > p:last-child, .pan-raw .pan-fh-txt > div > p:last-child { margin-bottom: 0; }

/* V94 : bloc porteuse de sens passe en colonnes du builder */
.pan-row-sens .row-inner { align-items: center; }
.pan-row-sens > .row-parent { border-top: 1px solid #000; padding-top: clamp(56px, 7vw, 110px); padding-bottom: clamp(56px, 7vw, 110px); }
.pan-row-sens .pan-sens-img img { width: 100% !important; max-width: none !important; transform: none !important; }
.pan-row-sens .pan-sens-txt .uncont > *:first-child { margin-top: 0; }

/* V95 : calage des colonnes du bloc porteuse de sens */
.pan-row-sens .pan-sens-txt > .uncol { padding-right: clamp(28px, 5vw, 80px); }
@media (max-width: 900px) { .pan-row-sens .pan-sens-txt > .uncol { padding-right: 0; padding-bottom: 34px; } }


/* V96 : le bloc porteuse de sens retrouve sa grille d origine */
.pan-row-sens .row-inner { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, .747fr) !important; gap: clamp(28px, 5vw, 80px) !important; align-items: center !important; width: 100% !important; margin: 0 !important; }
.pan-row-sens .row-inner > .wpb_column { width: 100% !important; padding: 0 !important; margin: 0 !important; float: none !important; }
.pan-row-sens .pan-sens-txt > .uncol { padding-right: 0 !important; }
@media (max-width: 900px) { .pan-row-sens .row-inner { grid-template-columns: 1fr !important; gap: 34px !important; } }


.pan-row-sens > .row-parent { max-width: 1572px !important; margin-left: auto !important; margin-right: auto !important; }

/* V97 : la row en colonnes garde une hauteur normale */
.pan-row-sens > .row-parent { display: block !important; height: auto !important; }
.pan-row-sens .row-inner > .wpb_column { display: block !important; height: auto !important; }
.pan-row-sens .uncol, .pan-row-sens .uncoltable, .pan-row-sens .uncell, .pan-row-sens .uncont { display: block !important; height: auto !important; width: 100% !important; }

/* V98 : les 4 arguments passent en colonnes du builder */
.pan-row-cles > .row-parent { display: block !important; height: auto !important; border-top: 1px solid #000; border-bottom: 1px solid #000; }
.pan-row-cles .row-inner { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; width: 100% !important; margin: 0 !important; }
.pan-row-cles .row-inner > .wpb_column { display: flex !important; height: auto !important; width: 100% !important; padding: 0 !important; margin: 0 !important; float: none !important; border-left: 1px solid #000; }
.pan-row-cles .row-inner > .wpb_column:first-child { border-left: 0; }
.pan-row-cles .uncol, .pan-row-cles .uncoltable, .pan-row-cles .uncell { display: flex !important; height: auto !important; width: 100% !important; }
.pan-row-cles .uncont { display: flex !important; align-items: center !important; width: 100% !important; height: auto !important; padding: clamp(24px, 3vw, 40px) clamp(14px, 2vw, 28px) !important; }
.pan-row-cles .row-inner > .wpb_column:first-child .uncont { padding-left: 0 !important; }
.pan-row-cles .pan-key p { font-family: var(--pan-display); font-weight: 700; font-size: clamp(16px, 1.45vw, 21px); line-height: 1.25; margin: 0; }
@media (max-width: 900px) {
  .pan-row-cles .row-inner { grid-template-columns: 1fr 1fr !important; }
  .pan-row-cles .row-inner > .wpb_column:nth-child(odd) { border-left: 0; }
  .pan-row-cles .row-inner > .wpb_column:nth-child(3), .pan-row-cles .row-inner > .wpb_column:nth-child(4) { border-top: 1px solid #000; }
  .pan-row-cles .row-inner > .wpb_column:nth-child(odd) .uncont { padding-left: 0 !important; }
}

/* V99 : normalisation des rows converties au builder */
.pan-row-builder > .row-parent { display: block !important; height: auto !important; }
.pan-row-builder .row-inner > .wpb_column { display: block !important; height: auto !important; float: none !important; padding-left: 0 !important; padding-right: 0 !important; }
.pan-row-builder .uncol, .pan-row-builder .uncoltable, .pan-row-builder .uncell, .pan-row-builder .uncont { display: block !important; height: auto !important; width: 100% !important; }
.pan-row-builder .row-inner { margin-left: 0 !important; margin-right: 0 !important; }

/* V100 : espace au dessus de l encart apres passage au builder */
.pan-row-encart > .row-parent { padding-top: clamp(30px, 4vw, 56px) !important; }

/* V101 : la baseline du hero descend legerement */
.pan-raw .pan-hero-plus { margin-top: 32px !important; }

/* V102 : sceau ovale P dans le hero */
.pan-raw .pan-hero-sceau { margin: 30px 0 0 !important; text-align: center !important; line-height: 1 !important; }
.pan-raw .pan-hero-sceau span { display: inline-flex; align-items: center; justify-content: center; width: 104px; height: 46px; border: 1px solid #000; border-radius: 50%; font-family: var(--pan-display); font-weight: 900; font-size: 25px; line-height: 1; color: #000; }
.pan-raw .pan-hero-plus { margin-top: 22px !important; }

/* V103 : bloc porteuse de sens, largeur du texte et respiration retablies */
.pan-row-sens .pan-sens-txt p, .pan-row-sens .pan-sens-txt .cta { max-width: none !important; }
.pan-row-sens > .row-parent { padding-top: clamp(56px, 7vw, 110px) !important; padding-bottom: clamp(56px, 7vw, 110px) !important; }

/* V104 : fiche produit, fil d ariane remonte et cadre histoire recale */
body.single-panache_produit .pan-raw .pan-fiche { padding-top: 26px !important; }
.pan-raw .pan-fiche-histoire { padding: 0 !important; margin-top: clamp(44px, 5vw, 86px) !important; overflow: hidden !important; }
.pan-raw .pan-fh-grille { grid-template-columns: minmax(0, 1fr) 30% !important; align-items: end !important; gap: clamp(24px, 3vw, 56px) !important; }
.pan-raw .pan-fh-txt { padding: clamp(30px, 3.6vw, 56px) 0 clamp(30px, 3.6vw, 56px) clamp(30px, 3.6vw, 56px) !important; }
.pan-raw .pan-fh-img { align-self: end !important; margin: 0 !important; }
.pan-raw .pan-fh-img img { display: block !important; width: 100% !important; height: auto !important; margin-bottom: 0 !important; }
@media (max-width: 767px) {
  .pan-raw .pan-fh-grille { grid-template-columns: 1fr !important; gap: 0 !important; }
  .pan-raw .pan-fh-txt { padding: 24px 24px 20px !important; }
  .pan-raw .pan-fh-img { max-width: 100% !important; margin-left: auto !important; width: 72% !important; }
}

/* V105 : bloc manifeste, largeur identique a l ancienne integration */
@media (min-width: 901px) { .pan-row-manif .uncode_text_column { padding-right: 36px; } }

/* V106 : les paragraphes vides ajoutes par l editeur ne prennent pas de place */
.pan-raw p:empty { display: none !important; }

/* V107 : allure du sous-titre du hero, quelle que soit sa balise */
.pan-hero-sub { margin: 18px 0 0 !important; font-family: var(--pan-texte) !important; font-weight: 500 !important; font-size: clamp(11px, 1.1vw, 14px) !important; letter-spacing: .34em !important; text-transform: uppercase !important; line-height: 1.4 !important; color: #000 !important; }
.pan-hero-sub strong { font-weight: 700 !important; }

/* V108 : sur mobile, Nos patisseries a gauche et les fleches a droite */
@media (max-width: 767px) {
  .pan-raw .pan-prods-slider .pan-cross-tete { justify-content: space-between !important; }
}

/* V109 : espacement du tableau en croix sur mobile */
@media (max-width: 900px) {
  .pan-row-cles .row-inner > .wpb_column:nth-child(odd) .pan-key p, .pan-row-cles .row-inner > .wpb_column:nth-child(odd) p { padding-right: 20px; }
  .pan-row-cles .row-inner > .wpb_column:nth-child(even) p { padding-left: 20px; }
}

/* V110 : patisseries du hero plus grandes sur mobile */
@media (max-width: 767px) {
  .pan-raw .pan-hero-art .pa1 { width: 140px !important; }
  .pan-raw .pan-hero-art .pa2 { width: 120px !important; }
  .pan-raw .pan-hero-art .pa3 { width: 95px !important; }
  .pan-raw .pan-hero-art .pa4 { width: 82px !important; }
}

/* V111 : vignettes du catalogue plus grandes sur mobile */
@media (max-width: 767px) {
  .pan-raw .pan-catalogue .ph { padding: 4% !important; }
}

/* V112 : carrousel d accueil, visuels plus grands sur mobile */
@media (max-width: 767px) {
  .pan-raw .pan-prods-slider .pan-cross-piste article, .pan-raw .pan-prods-slider article { flex: 0 0 260px !important; max-width: 260px !important; }
  .pan-raw .pan-prods-slider .ph { height: 220px !important; }
  .pan-raw .pan-prods-slider .ph img { max-height: 220px !important; }
}

/* V113 : sceau ovale P en SVG */
.pan-raw .pan-hero-sceau span { display: none !important; }
.pan-raw .pan-hero-sceau .pan-sceau-svg { display: inline-block !important; width: 104px !important; height: auto !important; vertical-align: middle !important; }
@media (max-width: 767px) { .pan-raw .pan-hero-sceau .pan-sceau-svg { width: 88px !important; } }


/* ====================== V114 ====================== */
/* 1. Fleches des carrousels : trait blanc au survol */
.pan-raw .pan-cross-nav button:hover svg path,
.pan-raw .pan-cross-nav button:focus-visible svg path { stroke: #fff !important; }
.pan-raw .pan-cross-nav button:focus-visible { background: #000; color: #fff; }
.pan-raw .pan-cross-nav:has(button.prec[disabled]):has(button.suiv[disabled]) { display: none; }
@media (max-width: 959px) {
	.pan-row-cles > .row-parent { overflow-x: clip; }
	.pan-row-cles .row-inner > .wpb_column { position: relative; }
	.pan-row-cles .row-inner > .wpb_column:nth-child(3)::before,
	.pan-row-cles .row-inner > .wpb_column:nth-child(4)::before {
		content: ""; position: absolute; top: -1px; height: 1px; width: 260px; background: #000;
	}
	.pan-row-cles .row-inner > .wpb_column:nth-child(3)::before { right: 100%; }
	.pan-row-cles .row-inner > .wpb_column:nth-child(4)::before { left: 100%; }
}


/* ====================== V115 ====================== */
/* Cadre teaser histoire : photo ferree en bas a droite, cadre moins haut */
.pan-fiche-histoire .pan-fh-img { display: flex; align-items: flex-end; justify-content: flex-end; }
.pan-fiche-histoire .pan-fh-img img { display: block; margin: 0 0 0 auto; }
@media (min-width: 960px) {
	.pan-fiche-histoire .pan-fh-txt { padding-top: 44px !important; padding-bottom: 44px !important; }
	.pan-fiche-histoire .pan-fh-img img { max-height: 330px; width: auto !important; height: auto !important; object-fit: contain; }
}
@media (min-width: 768px) and (max-width: 959px) {
	.pan-fiche-histoire .pan-fh-grille { grid-template-columns: minmax(0,1fr) minmax(0,.62fr) !important; }
	.pan-fiche-histoire .pan-fh-txt { padding-top: 26px !important; padding-bottom: 26px !important; }
}
@media (max-width: 767px) {
	.pan-fiche-histoire .pan-fh-txt { padding-bottom: 10px !important; }
	.pan-fiche-histoire .pan-fh-img img { width: auto; max-width: 100%; margin-left: auto; }
}


/* ====================== V116 ====================== */
/* Boutons : le signe plus reste cale sur la premiere ligne */
.pan-raw .pan-btn, .pan-btn { align-items: flex-start !important; }
.pan-btn > span:first-child { flex: 0 0 auto; line-height: inherit; }
/* Jamais de mot seul en bout de ligne */
.pan-raw h1, .pan-raw h2, .pan-raw h3, .pan-fh-txt h2, .pan-hero-claim, .pan-sens-txt h2 { text-wrap: balance; }
.pan-raw p, .pan-fh-txt p, .pan-sens-txt p { text-wrap: pretty; }


/* ====================== V117 ====================== */
/* Hero mobile : les patisseries se logent dans les marges, jamais sur le texte */
@media (max-width: 767px) {
	.pan-raw .pan-hero .pan-hero-art .pa1 { width: 30.3vw !important; height: auto !important; left: -15.6vw !important; right: auto !important; }
	.pan-raw .pan-hero .pan-hero-art .pa2 { width: 25.6vw !important; height: auto !important; left: 84.6vw !important; right: auto !important; }
	.pan-raw .pan-hero .pan-hero-art .pa3 { width: 21.5vw !important; height: auto !important; left: -1.3vw !important; right: auto !important; }
	.pan-raw .pan-hero .pan-hero-art .pa4 { width: 18.5vw !important; height: auto !important; left: 84.6vw !important; right: auto !important; }
}


/* ====================== V118 ====================== */
/* Hero en tablette : les patisseries flottent autour du texte comme en desktop */
@media (min-width: 768px) and (max-width: 1200px) {
	.pan-raw .pan-hero .pan-hero-art { position: absolute !important; inset: 0 !important; height: auto !important; pointer-events: none; }
	.pan-raw .pan-hero .pan-hero-art .pa1 { width: 22.1% !important; height: auto !important; left: -10% !important; right: auto !important; top: 7.1% !important; }
	.pan-raw .pan-hero .pan-hero-art .pa2 { width: 16.1% !important; height: auto !important; left: 80% !important; right: auto !important; top: 9.2% !important; }
	.pan-raw .pan-hero .pan-hero-art .pa3 { width: 14% !important; height: auto !important; left: 5.8% !important; right: auto !important; top: 64.7% !important; }
	.pan-raw .pan-hero .pan-hero-art .pa4 { width: 23% !important; height: auto !important; left: 78.2% !important; right: auto !important; top: 50.6% !important; }
}

/* ====================== V119 ====================== */
/* Carrousel en mobile : titre et fleches au-dessus des patisseries */
@media (max-width: 767px) {
	.pan-raw .pan-prods-slider .pan-cross-tete { order: 0 !important; margin-top: 0 !important; margin-bottom: 22px !important; justify-content: space-between !important; }
}

/* ====================== V120 ====================== */
/* Bloc manifeste en mobile : moins d air au-dessus et en dessous */
@media (max-width: 767px) {
	.pan-raw .pan-manif { padding-top: 64px !important; padding-bottom: 60px !important; }
}

/* ====================== V121 ====================== */
/* Page Contact : patisseries autour du plan */
@media (min-width: 768px) and (max-width: 1200px) {
	.pan-raw .pan-carte-deco .d2 { top: auto !important; bottom: -4px !important; }
}
@media (max-width: 767px) {
	.pan-raw .pan-carte-deco .d3 { width: 130px !important; top: auto !important; bottom: -26px !important; left: auto !important; right: -32px !important; }
}

/* ====================== V122 ====================== */
/* Notre histoire en tablette : on garde les deux colonnes texte et photo */
@media (min-width: 768px) and (max-width: 1200px) {
	body .vc_row.pan-bloc-chap .row-inner { flex-wrap: nowrap !important; align-items: center !important; }
	body .vc_row.pan-bloc-chap .row-inner > .wpb_column { order: 0 !important; }
	body .vc_row.pan-bloc-chap .row-inner > .wpb_column.col-lg-8 { width: 60% !important; max-width: 60% !important; flex: 0 0 60% !important; }
	body .vc_row.pan-bloc-chap .row-inner > .wpb_column.col-lg-4 { width: 40% !important; max-width: 40% !important; flex: 0 0 40% !important; }
}

/* ====================== V123 ====================== */
/* Notre histoire en mobile : photo, texte, photo plus petite, texte */
@media (max-width: 767px) {
	body .vc_row.pan-bloc-chap .row-inner > .wpb_column.col-lg-4 { order: -1 !important; }
	body .vc_row.pan-bloc-chap ~ .vc_row.pan-bloc-chap .row-inner > .wpb_column.col-lg-4 img { width: 72% !important; max-width: 72% !important; height: auto !important; margin-inline: auto !important; display: block !important; }
}

/* ====================== V124 ====================== */
/* Teaser histoire : la photo ne s etale plus sur les petites tablettes */
@media (max-width: 767px) {
	.pan-raw .pan-fiche-histoire .pan-fh-img img { max-width: 300px !important; }
}

/* ====================== V125 ====================== */
/* Hero sur toute la largeur : les patisseries sont coupees par le bord de l ecran */
.pan-row-hero > .row-parent { padding-left: 0 !important; padding-right: 0 !important; }
.pan-row-hero .row-inner { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
.pan-row-hero .row-inner > .wpb_column { padding-left: 0 !important; padding-right: 0 !important; }
.pan-row-hero .pan-raw { width: 100% !important; max-width: none !important; }
.pan-hero-core { margin-left: auto !important; margin-right: auto !important; }

/* ====================== V126 ====================== */
/* Hero pleine largeur : on rend ses marges au texte, et la patisserie 2 remonte */
@media (max-width: 767px) {
	.pan-hero-core { padding-left: 56px !important; padding-right: 56px !important; box-sizing: border-box !important; }
	.pan-raw .pan-hero .pan-hero-art .pa2 { left: 82vw !important; top: 9.8% !important; }
}

/* ====================== V127 ====================== */
/* Bloc encadre porteuses de sens : photo ferree au filet, deux colonnes en tablette */
@media (min-width: 768px) and (max-width: 1200px) {
	body .vc_row.pan-bloc-cadre .row-inner { flex-wrap: nowrap !important; }
	body .vc_row.pan-bloc-cadre .row-inner > .pan-bloc-txt { width: 62% !important; max-width: 62% !important; flex: 0 0 62% !important; }
	body .vc_row.pan-bloc-cadre .row-inner > .pan-bloc-photo { width: 38% !important; max-width: 38% !important; flex: 0 0 38% !important; margin-bottom: 0 !important; display: flex !important; align-items: flex-end !important; }
	body .vc_row.pan-bloc-cadre .row-inner > .pan-bloc-photo > .uncol { width: 100% !important; }
	body .vc_row.pan-bloc-cadre .pan-bloc-photo .uncode-single-media-wrapper { width: 100% !important; }
}
@media (max-width: 767px) {
	body .vc_row.pan-bloc-cadre .row-inner > .pan-bloc-photo { margin-bottom: 0 !important; }
}

/* ====================== V128 ====================== */
/* Accueil en mobile : la photo du bloc porteuse de sens est reduite */
@media (max-width: 767px) {
	body .vc_row .pan-sens-img .uncode-single-media-wrapper { width: 72% !important; max-width: 72% !important; }
}

/* ====================== V129 ====================== */
/* Bloc encadre : la photo est ferree au filet du bas, a toutes les largeurs */
body .vc_row.pan-bloc-cadre .row-inner > .pan-bloc-photo { display: flex !important; align-items: flex-end !important; margin-bottom: 0 !important; padding-bottom: 0 !important; }
body .vc_row.pan-bloc-cadre .row-inner > .pan-bloc-photo > .uncol { width: 100% !important; }
body .vc_row.pan-bloc-cadre .pan-bloc-photo .uncode-single-media-wrapper { margin-bottom: 0 !important; }
body .vc_row.pan-bloc-cadre .pan-bloc-photo img { display: block !important; margin-bottom: 0 !important; vertical-align: bottom !important; }

/* ====================== V130 ====================== */
/* Citation du fondateur : a peine plus grande que le texte courant */
.pan-bloc .pan-citation, .pan-bloc .pan-citation p, .pan-raw .pan-citation, .pan-raw .pan-citation p { font-size: clamp(17px, 1.35vw, 21px) !important; line-height: 1.55 !important; }

/* V131 - reseaux sociaux de l en-tete : plusieurs liens alignes, icones
   de meme largeur pour que l espacement reste regulier. */
.pan-nav-reseaux{display:inline-flex;align-items:center;gap:14px;}
.pan-nav-reseaux .pan-nav-insta i{display:inline-block;width:19px;text-align:center;}

/* V132 - adresse e-mail de la page Contact : saisie dans Infos Panache,
   la ligne disparait d elle-meme si le champ est vide. */
.pan-contact-cols .mail{margin-top:10px!important;}
.pan-contact-cols .mail:empty{display:none;}
.pan-contact-cols .mail a{color:#000;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.25);}
.pan-contact-cols .mail a:hover{opacity:.55;}

/* V133 - le bandeau du haut est passe du noir au blanc, mais une regle
   forcait encore le blanc sur tous ses enfants. Invisible tant que rien
   d autre ne la captait, sauf sur iPhone : Safari transforme tout seul
   un numero de telephone en lien, et ce lien devenait blanc sur blanc.
   Le numero disparaissait donc sur iOS et restait visible ailleurs. */
.pan-header .pan-topbar *{color:#000!important}
.pan-header .pan-topbar .pan-ruban-item a,
.pan-header .pan-topbar .pan-ruban-item a[x-apple-data-detectors]{
	color:#000!important;-webkit-text-fill-color:#000!important;
	text-decoration:none!important;font-weight:inherit!important;letter-spacing:inherit!important;
}

/* V134 - entre 700 et 767 px (tablette en portrait), les deux pâtisseries
   du haut recouvraient le texte. Elles sont décalées vers les bords et
   réduites pour dégager la colonne de texte. */
@media (min-width:700px) and (max-width:767px){
	.pan-raw .pan-hero .pan-hero-art img.pa3.pa3{width:15vw !important;left:-7vw !important;}
	.pan-raw .pan-hero .pan-hero-art img.pa2.pa2{width:17vw !important;left:91vw !important;}
}

/* V135 : bandeau de consentement aux codes de la marque */
.cmplz-cookiebanner{
	background:#fff !important;
	border:1px solid #000 !important;
	border-radius:0 !important;
	box-shadow:0 10px 40px rgba(0,0,0,.08) !important;
	padding:26px 28px !important;
	max-width:100% !important;
	width:100% !important;
	left:0 !important;right:0 !important;bottom:0 !important;
	border-width:1px 0 0 0 !important;
	font-family:Ubuntu,Helvetica,Arial,sans-serif !important;
}
.cmplz-cookiebanner .cmplz-title{
	font-family:"Playfair Display",Georgia,serif !important;
	font-size:21px !important;
	font-weight:700 !important;
	color:#000 !important;
	letter-spacing:0 !important;
	text-align:left !important;
}
.cmplz-cookiebanner .cmplz-divider{display:none !important;}
.cmplz-cookiebanner .cmplz-body,
.cmplz-cookiebanner .cmplz-message{
	font-family:Ubuntu,Helvetica,Arial,sans-serif !important;
	font-size:12px !important;
	line-height:1.75 !important;
	color:#333 !important;
	text-align:left !important;
}
.cmplz-cookiebanner .cmplz-close{color:#000 !important;opacity:.5 !important;}
.cmplz-cookiebanner .cmplz-close:hover{opacity:1 !important;}
.cmplz-cookiebanner .cmplz-buttons{gap:8px !important;}
.cmplz-cookiebanner .cmplz-btn{
	font-family:Ubuntu,Helvetica,Arial,sans-serif !important;
	font-size:11px !important;
	font-weight:500 !important;
	letter-spacing:2.2px !important;
	text-transform:uppercase !important;
	border-radius:0 !important;
	padding:13px 18px !important;
	box-shadow:none !important;
	transition:background .25s ease,color .25s ease !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept{
	background:#000 !important;border:1px solid #000 !important;color:#fff !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover{background:#fff !important;color:#000 !important;}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{
	background:#fff !important;border:1px solid #000 !important;color:#000 !important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover{background:#000 !important;color:#fff !important;}
.cmplz-cookiebanner .cmplz-links a,
.cmplz-cookiebanner .cmplz-link{
	font-family:Ubuntu,Helvetica,Arial,sans-serif !important;
	font-size:10px !important;
	letter-spacing:1.6px !important;
	text-transform:uppercase !important;
	color:#000 !important;
	text-decoration:underline !important;
	text-underline-offset:3px !important;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category{
	font-family:Ubuntu,Helvetica,Arial,sans-serif !important;font-size:12px !important;color:#333 !important;
}
.cmplz-cookiebanner .cmplz-slider-checkbox input:checked+.cmplz-slider{background:#000 !important;}
#cmplz-manage-consent .cmplz-manage-consent{
	font-family:Ubuntu,Helvetica,Arial,sans-serif !important;
	font-size:10px !important;letter-spacing:1.6px !important;text-transform:uppercase !important;
	background:#fff !important;color:#000 !important;border:1px solid #000 !important;border-radius:0 !important;
}
@media (max-width:767px){
	.cmplz-cookiebanner{max-width:100% !important;padding:22px 20px !important;}
	.cmplz-cookiebanner .cmplz-title{font-size:19px !important;}
}
/* V136 : bandeau en barre pleine largeur */
.cmplz-cookiebanner{
	box-shadow:0 -6px 28px rgba(0,0,0,.08) !important;
	transform:none !important;
	margin:0 !important;
	inset:auto 0 0 0 !important;
}
@media (min-width:900px){
	.cmplz-cookiebanner{
		display:flex !important;align-items:center !important;justify-content:space-between !important;
		gap:32px !important;padding:20px 40px !important;
	}
	.cmplz-cookiebanner .cmplz-header{flex:0 0 auto !important;margin:0 !important;}
	.cmplz-cookiebanner .cmplz-title{font-size:18px !important;white-space:nowrap !important;}
	.cmplz-cookiebanner .cmplz-body{flex:1 1 auto !important;margin:0 !important;}
	.cmplz-cookiebanner .cmplz-message{margin:0 !important;}
	.cmplz-cookiebanner .cmplz-buttons{flex:0 0 auto !important;display:flex !important;margin:0 !important;}
	.cmplz-cookiebanner .cmplz-links{flex:0 0 auto !important;margin:0 !important;}
	.cmplz-cookiebanner .cmplz-close{position:absolute !important;top:10px !important;right:14px !important;}
}
@media (max-width:899px){
	.cmplz-cookiebanner{padding:20px 20px 24px !important;}
}
