/**
 * CSS DOCUMENT
**/
@font-face {
  font-family: 'Nunito';
  src: url('Fonts/nunito-sans-latin-300-normal.woff2') format('woff2'),
       url('Fonts/nunito-sans-latin-300-normal.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito';
  src: url('Fonts/nunito-sans-latin-500-normal.woff2') format('woff2'),
       url('Fonts/nunito-sans-latin-500-normal.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito';
  src: url('Fonts/nunito-sans-latin-700-normal.woff2') format('woff2'),
       url('Fonts/nunito-sans-latin-700-normal.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Nunito';
  src: url('Fonts/nunito-sans-latin-900-normal.woff2') format('woff2'),
       url('Fonts/nunito-sans-latin-900-normal.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Lora';
  src: url('Fonts/lora-regular.woff2') format('woff2'),
       url('Fonts/lora-regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Lora';
  src: url('Fonts/lora-italic.woff2') format('woff2'),
       url('Fonts/lora-italic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Lora';
  src: url('Fonts/lora-bold.woff2') format('woff2'),
       url('Fonts/lora-bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* Fontello */
@font-face {
  font-family: 'pictos';
  src: url('Fonts/pictos.eot');
  src: url('Fonts/pictos.woff2') format('woff2'),
       url('Fonts/pictos.woff') format('woff'),
       url('Fonts/pictos.ttf') format('truetype'),
       url('Fonts/pictos.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'pictos';
    src: url('../font/pictos.svg?45961514#pictos') format('svg');
  }
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "pictos";
  font-style: normal;
  font-weight: normal;
  speak: never;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-account:before { content: '\e800'; } /* '' */
.icon-add:before { content: '\e801'; } /* '' */
.icon-arrow:before { content: '\e802'; } /* '' */
.icon-cart:before { content: '\e803'; } /* '' */
.icon-check:before { content: '\e804'; } /* '' */
.icon-close:before { content: '\e805'; } /* '' */
.icon-delete:before { content: '\e806'; } /* '' */
.icon-document:before { content: '\e807'; } /* '' */
.icon-download:before { content: '\e808'; } /* '' */
.icon-email:before { content: '\e809'; } /* '' */
.icon-favorite:before { content: '\e80a'; } /* '' */
.icon-home:before { content: '\e80b'; } /* '' */
.icon-location:before { content: '\e80c'; } /* '' */
.icon-mail-1:before { content: '\e80d'; } /* '' */
.icon-menu:before { content: '\e80e'; } /* '' */
.icon-phone:before { content: '\e80f'; } /* '' */
.icon-play:before { content: '\e810'; } /* '' */
.icon-remove:before { content: '\e811'; } /* '' */
.icon-reviews:before { content: '\e812'; } /* '' */
.icon-search:before { content: '\e813'; } /* '' */
.icon-star:before { content: '\e814'; } /* '' */
.icon-warning:before { content: '\e815'; } /* '' */
.icon-chevron:before { content: '\e816'; } /* '' */
.icon-arrow_drop_down:before { content: '\e817'; } /* '' */
.icon-audio:before { content: '\e818'; } /* '' */
.icon-edit:before { content: '\e81a'; } /* '' */
.icon-filter:before { content: '\e81b'; } /* '' */
.icon-help:before { content: '\e81c'; } /* '' */
.icon-info:before { content: '\e81d'; } /* '' */
.icon-logout:before { content: '\e81e'; } /* '' */
.icon-print:before { content: '\e81f'; } /* '' */
.icon-video:before { content: '\e820'; } /* '' */
.icon-visibility:before { content: '\e821'; } /* '' */
.icon-visibility_off:before { content: '\e822'; } /* '' */
.icon-zoom:before { content: '\e823'; } /* '' */
.icon-cycle:before { content: '\e849'; } /* '' */
.icon-percent:before { content: '\e84a'; } /* '' */

/* ======================================================
   GLOBAL RESET
====================================================== */
*, html, body, iframe, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h5, h5, h6, pre, form, label, fieldset, input, p, blockquote, table, th, td, audio, video { margin:0; padding:0; outline:0; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, img { display:block; }
table { border-collapse:collapse; border-spacing:0; }
iframe, fieldset, img, a img { border:0 none; }
address, caption, cite, code, dfn, th, var { font-style:normal; font-weight:normal; text-align:left; } 
h1, h2, h3, h5, h5, h6 { font-size:100%; }
blockquote::before, blockquote::after, q::before, q::after { content:''; content:none; }
html>body * a { position:relative; }  /* Gets links displaying over a PNG background */
a { outline:none; } /* Gets rid of Firefox's dotted borders */
textarea, table, td, th, code, pre, samp { 
  word-wrap: break-word; /* passage à la ligne forcé */
  -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; /* césure propre */
}
input, select { vertical-align:middle; }
ul li { margin:0 1em .5em; padding: 0 .25em; list-style:disc; }
ol li { margin:0 1em .5em; padding: 0 .25em; list-style:decimal; }
strong, b { font-weight:700; }
em, i { font-style:italic; }
img { margin: auto; width: 100%; }

/**------------------------------
 * GENERAL CLASSES and SETTINGS
--------------------------------**/
:root {
  --mainColor:#0095D2;
  --dynColor:#FF2046;
  --mainColorBg:#fff;
  --darkGrey:#707070;
  --mediumGrey:#cccccc;
  --lightGrey:#F7F7F7;
  --white:#FFFFFF;
  --black:#111111;
  --red:#ff0000;
  --green:#00ff00;
  --lightBlue:#85D0EF;
  --headerHeight:calc( (.75rem * 2) + (.85rem * 2) + 1.25rem + (1.25rem * 2) + 2rem + 2.25rem + 1rem);  
}

html { width:100%; height:100%; font-family:'Lora', Georgia, serif; font-size:100%; line-height:1.5; font-weight:400; }
body { position: relative; width: 100%; min-height:100%; color: var(--black); background-color:var(--mainColorBg); text-align: left; }
h1 { margin:0 auto .3em; font:900 1.625rem/1.2 'Nunito', Tahoma, sans-serif; color: var(--mainColor); }
h2 { margin:0 0 .25em; font:700 1.375rem/1.25 'Nunito', Tahoma, sans-serif; color:var(--black); }
h3 { margin:0 0 .25em; font:700 1.25rem/1.25 'Nunito', Tahoma, sans-serif; }
h4 { margin:0 0 .25em; font:700 1.25rem/1.25 'Nunito', Tahoma, sans-serif; }
h5 { font:700 1rem/1.5 'Nunito', Tahoma, sans-serif; }
h6 { font:700 1rem/1.5 'Nunito', Tahoma, sans-serif; }
a { color: var(--mainColor); text-decoration: underline; }
a:hover, a:focus { color: var(--dynColor); text-decoration: underline; }
:focus-visible { outline:.1rem solid var(--dynColor); outline-offset:0rem; }
a[href ^= 'tel:'] { text-decoration: none; }
p { margin:0 0 1.5em; }
ul, ol { margin:0; }

/* ======================================================
   TRANSITIONS & ANIMATIONS
====================================================== */
button, .button, .toggle-menu, a.link-menu, a.link-menu::after, a.link-account, a.link-cart, a.linkProduct { transition: all ease-in-out 0.2s; }
@keyframes fadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    bottom:-500px;
  }
}

/* ======================================================
   CLASSES GLOBALES and *
====================================================== */
.ctn-msg { position: fixed; bottom: 5%; left: 50%; transform: translateX(-50%); margin: auto; padding: 1rem; width: 90vw; max-width: 480px; color: var(--white); background-color: var(--mainColor); border-radius:.625rem; box-shadow: 0 0 .5rem rgba(0,0,0,.3); z-index: 100; }
.msg-hide { animation-duration:500ms; animation-delay:5s; animation-fill-mode:forwards; animation-name:fadeout }
.ctn-msg p { position: relative; margin:0; padding-left: 1.5em; }
.ctn-msg a { color:var(--white); }
.success { font-size: 1.25rem; font-style: italic; }
.success p::before { position: absolute; top:0; left: 0; font-family: 'pictos'; font-style:normal; content: '\e804'; }
.error { font-size: 1.25rem; font-style: italic; }
.error p::before { position: absolute; top:0; left: 0; font-family: 'pictos'; font-style:normal; content: '\e815'; }
.responsive { position: relative; padding-top: 30px; padding-bottom:33%; height: 0; overflow: hidden; }
.responsive iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.responsive img { margin:.5rem auto; width: 100%; height: auto; max-height: none; max-width: none; }
.lozad { opacity: 0; transition: opacity .3s ease-in-out; }
.loaded { opacity: 1; }
.more { text-transform: uppercase; white-space:nowrap; }
.nowrap { white-space:nowrap; }
.button, a.button, button { display:inline-block; padding:.625em 1em; font-family:'Nunito', Tahoma, sans-serif; font-size:1rem; line-height:1; font-weight:700; color:var(--white); text-transform:uppercase; text-decoration:none; white-space:nowrap; background-color:var(--dynColor); border:.1rem solid var(--dynColor); border-radius:.625rem; cursor:pointer; }
a.button:hover, a.button:focus, button:hover, button:focus { color: var(--dynColor); background-color: var(--white); }
a.btn-small, button.btn-small { padding:.5em; font-size:.875rem; font-weight:500; color:var(--mainColor); background-color:var(--white); border-color:var(--white); }
a.btn-small:hover, a.btn-small:focus, button.btn-small:hover, button.btn-small:focus { color:var(--dynColor) }
.clear-fix:after { visibility:hidden; display:block; font-size:0; content:" "; clear:both; height:0 }
.center { text-align:center }
.float2right { float:right }
#go2top { display:none; position:fixed; bottom:5%; right:2%; margin: .5em; padding:0; width:2.25em; height:2.25em; font-size: 1.25rem; color: var(--mainColor); background-color:var(--mainColorBg); border:.1em solid var(--mainColor); border-radius:50%; text-align:center; z-index:30; }
#go2top:hover { color: var(--white); background-color:var(--dynColor); border-color: var(--dynColor); }
#go2top i { display: inline-block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-90deg); }
#accesslinks { position: absolute; left: -999px; }
.not4mobile { display:none; }
a.link-back { display:inline-block; margin:.5rem 0; padding:.5em; font-family:'Nunito',Tahoma,sans-serif; font-size:.875rem; line-height:1; font-weight:500; color:var(--mainColor); text-transform:uppercase; text-decoration:none; white-space:nowrap; background-color:var(--white); border:.1rem solid var(--white); border-radius:.625rem }
a.link-back::before { display:inline-block; margin-right:.5em; font-family:'pictos'; font-style:normal; content:'\e816'; transform:rotate(0.5turn); }
a.link-back:hover, a.link-back:focus { color:var(--dynColor) }

.mi-image img { margin:0 auto; border-radius:.625em }
div.mi-multicolumns { margin:0; display:flex; flex-flow:column; }
div.mi-column { flex:0 0 100%; }
div.mi-column .mi-image img { width:auto; max-height:240px }
p.mi-caption { margin-top:.5em; text-align:center }
.text a.button { display:block; margin:0 auto; max-width:fit-content }
.mi-image.right { float:right; margin-left:1.5em; margin-top:-1em }
.temoignage-christian-strahm .mi-image img { width:160px }


/* ======================================================
   FORMULAIRES
====================================================== */
form { margin:1.5rem auto; max-width:40rem }
fieldset { display:flex; flex-flow:row wrap; margin:3rem 0; padding:1rem .5rem 1.5rem; border:.1rem solid var(--white); border-radius:.625rem }
fieldset:last-of-type { margin-bottom:1.5rem }
form .flex-grid { gap:0 2rem }
legend { padding:0 1rem }
form p { margin:1.5rem 0; width:100% }
form .field { clear:both; position:relative; margin:.5rem 0; flex:1 1 100% }
form fieldset .field { margin:.5rem 1rem; flex:1 1 100% }
form .field.full, form .field.code-image, form .field.checkbox, form .field.radio { flex:1 1 100% }
form .field.checkbox, form .field.radio { padding-left:2em }
label { display:block; font-family:'Nunito', Tahoma, sans-serif; font-size:.875rem; font-weight:300; color:var(--darkGrey); text-align:left; cursor:pointer }
label span { white-space:inherit }
.checkbox label, .radio label { display:inline; font-family:'Lora',Georgia,serif; font-weight:400; font-size:1rem; color:var(--black); vertical-align:baseline }
input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="number"], input[type="time"], textarea, select { padding:0.5rem 1rem; width:100%; font-size:1rem; line-height:1.5; font-family:'Lora',Georgia,serif; font-weight:400; border:.1rem solid var(--mediumGrey); border-radius:.625rem }
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="number"]:focus, input[type="time"]:focus, textarea:focus { border-color:var(--dynColor); }
input[type="text"]:focus-visible, input[type="password"]:focus-visible, input[type="email"]:focus-visible, input[type="tel"]:focus-visible, input[type="number"]:focus-visible, input[type="time"]:focus-visible, textarea:focus-visible, select:focus-visible { outline:none; }
textarea { width:100%; height:10rem; }
select { -webkit-appearance:none; -moz-appearance:none; appearance:none; padding-right:1.2rem; background-image:url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMTQuODMgMTYuNDJsOS4xNyA5LjE3IDkuMTctOS4xNyAyLjgzIDIuODMtMTIgMTItMTItMTJ6Ii8+PHBhdGggZD0iTTAtLjc1aDQ4djQ4aC00OHoiIGZpbGw9Im5vbmUiLz48L3N2Zz4='); background-size:1.2rem; background-repeat:no-repeat; background-position:calc(100% - .1rem) center; width:240px; margin:.25rem 0; }
/* Radio & checkbox */
input[type="radio"], input[type="checkbox"] { position:relative; display:inline-block; /* Add if not using autoprefixer */ -webkit-appearance:none; /* Remove most all native input styles */ appearance:none; /* For iOS < 15 */ background-color:var(--white); /* Not removed via appearance */ margin:0 .5em 0 0; font:inherit; color:var(--black); width:1.25em; height:1.25em; border:.1rem solid var(--mediumGrey); border-radius:50%; cursor:pointer; }
.radio input[type="radio"], .checkbox input[type="checkbox"] { position:absolute; top:0; left:0 }
input[type="radio"]:checked, input[type="checkbox"]:checked { border-color: var(--black); }
input[type="checkbox"] { border-radius: 0.15em; }
input[type="radio"]::before, input[type="checkbox"]::before { position: absolute; top: calc(50% - 5px); left: calc(50% - 5px); display: block; content: ""; width: 10px; height: 10px; transform: scale(0); transition: 120ms transform ease-in-out; }
input[type="radio"]::before { border-radius: 50%; background-color: var(--black); }
input[type="checkbox"]::before { clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%); transform-origin: bottom left; box-shadow: inset 1em 1em var(--black); background-color: var(--black); }
input[type="radio"]:checked::before, input[type="checkbox"]:checked::before { transform: scale(1); }
input[type="radio"]:focus, input[type="checkbox"]:focus { outline:.1rem solid var(--dynColor); outline-offset: 0; }
/* Submit & buttons */
input[type="submit"], form button { display:inline-block; margin:0; padding:.625em 1em; font-family:'Nunito',Tahoma,sans-serif; font-size:1rem; line-height:1; font-weight:700; color:var(--white); text-transform:uppercase; text-decoration:none; white-space:nowrap; background-color:var(--dynColor); border:.1rem solid var(--dynColor); border-radius:.625rem; cursor:pointer; }
input[type="submit"]:hover, input[type="submit"]:focus { color:var(--white); background-color: var(--mainColorBg); }

/* Special */
.checkbox label { display:inline; }
.password i { position:absolute; right:0; bottom:0; margin:.5em; background-color:var(--white); cursor:pointer }
.code-image { clear:both; text-align: left; }
form .code-image img { border:medium none; float:left; margin:0 1em 0 0; width:160px; border-radius:inherit; }
.code-image input { height:50px; width:160px; text-align:center; letter-spacing:0.3em; text-transform:uppercase; }
a.btn-reloadimgcode { color:var(--mainColor) !important }
a.btn-reloadimgcode:hover, a.btn-reloadimgcode:focus { color:var(--dynColor) !important }

/* Recherche */
#form-search { position: relative; margin:auto; max-width:inherit; }
#form-search input { width:100%; padding: .75rem 1rem; line-height: 1.25; border-color: var(--lightBlue); border-radius:.625rem; vertical-align: middle; }
#form-search input:focus { border-color:var(--dynColor); }
#form-search button { position: absolute; display: block; top: 0; right: 0; margin:.1rem; padding: .75rem .75rem; font-size: 1.25rem; line-height: 1; color: var(--mainColor); background-color: var(--white); border:none; border-left:.1rem solid var(--lightGrey); border-radius:0 .625rem .625rem 0; vertical-align: middle; }
#form-search button i { display:flex; }
#form-search button:hover, #form-search button:focus { color:var(--dynColor); background-color: var(--white); border-left:.1rem solid var(--lightGrey); }
/* Filtres */
#form-main-filters { display:flex; flex-flow:column; gap:.5em }
/* Select  */
.formfield-text, .formfield-texteara, .formfield-select, .formfield-checkbox, .formfield-radio { position: relative; max-width: 240px; width:160px }
.formfield-select--container { position: relative; margin: 0; padding-right:1em; min-width: 120px; max-width: 160px; background-color: var(--white); border:.1rem solid var(--mediumGrey); border-radius:.625rem; overflow: hidden; }
.formfield-select--container:focus-within { border-color:var(--dynColor); outline: 0; outline-offset: 0; }
.formfield-select--container::after { position: absolute; top: 50%; transform: translateY(-50%); right: 5px; display: inline-block; font-family: 'pictos'; font-size:1rem; color:var(--black); content: '\e817'; pointer-events: none; }
.formfield-select--container select { -webkit-appearance: none; -moz-appearance: none; appearance: none; margin: 0; padding: .625em 1em; width: 130%; height: auto; font-family: "Nunito",Arial, Helvetica, sans-serif; font-size: 1rem; line-height: 1.2; font-weight:500; color: var(--black); background-color: var(--white); background-image:none; border:0; border-radius:0; overflow: hidden; text-overflow: ellipsis; }
.formfield-select--container select::-ms-expand { display: none; /* cacher la flèche pour IE */ }
.formfield-select--container.select-list { overflow: inherit; }
.formfield-select--container.select-list input[type="text"] { padding: .525em 1em; width: 108%; font-family: 'Nunito',Arial,sans-serif; line-height: 1.2; font-weight: 500; border: 0; outline: none; outline-offset: 0; }
.formfield-select--container.select-list:focus-within .list-filters { display:block; }
.formfield-select--container.select-list .list-filters label { cursor:auto; }
/* Simulation de select (choix multiple pour filtre) */
.filter-title { display: inline-block; padding: .625em 1em; width: 100%; min-width: 120px; font-size: 1rem; line-height: 1.2; font-weight: 300; color:var(--darkGrey); }
.list-filters { display: none; position: absolute; top: 104%; width:fit-content; background-color: var(--white); border:1px solid #ccc; border-radius:.625rem; box-shadow: 0px 0px 4px rgba(0,0,0,.2); overflow-y: auto; z-index: 20; }
.list-filters li { position: relative; margin: .625em; padding: 0 .625em 0 2em; list-style: none; }
.list-filters li input { position: absolute; left: 0; top: 0; }
.list-filters li label { font-size:1rem; font-weight:500; color:var(--black); text-transform:inherit; white-space:nowrap; }





/* ======================================================
   HEADER
====================================================== */
#header { position:relative; width:100%; height:auto; z-index:5 }
#header .wrapper { background-color:var(--white) }
#header .flex-grid { align-items:center; justify-content:space-between; gap:0 1rem }
#header div.flex-item:nth-child(1) { width:auto; flex-basis:20%; order:1 }
#header div.flex-item:nth-child(2) { order:3 }
#header div.flex-item:nth-child(3) { width:auto; display:flex; justify-content:flex-end; gap:0; flex-basis:20%; order:2 }
a#logo { display:block; margin-top:1rem; width:5rem }
a#logo img { display:block; object-fit:contain; object-position:center; width:100%; height:100% }
.blk-search { margin:.75rem 0; position: relative; }

/* Recherche popup */
.search-items { position:absolute; padding:0 1em 1em; width:100%; max-height:calc(100vh - var(--headerHeight)); overflow-y:auto; font-size:1rem; color:var(--white); text-align:left; background-color:var(--lightBlue); border-radius:.625rem; box-shadow:0 0 .5rem rgba(0,0,0,.2); z-index:10 }
.search-items a:not([class^="button"]) { font-family:'Nunito',Tahoma,sans-serif; font-weight:500; line-height:1.25; text-decoration:none; background-color:var(--white); border:.1rem solid var(--white); border-radius:.625em }
.search-items a:hover, .search-items a:focus { color:var(--dynColor); border-color:var(--dynColor) }
.search-items .tags h5 { margin-top:1em }
.search-items .tags a { display:inline-block; margin:.5em; padding:.25em;  }
.search-items .products { margin-top:1em; display:flex; flex-flow:row wrap;
  gap:.5rem }
.search-items .products h5 { flex:1 1 100% }
.search-items .products a { padding:.5em; display:flex; flex-flow:row nowrap;
  gap:.5rem; flex:1 1 30%; color:var(--black); }
.search-items .products img { margin:0; object-fit:contain; object-position:center; width:auto; height:auto; max-height:120px; flex:0 1 auto }
.search-items .products > span { flex:1 1 auto }
.search-items .products a.button { flex:1 1 100%; justify-content:center; align-self:flex-end; color:var(--white); }
.search-items .products a.button:hover, .search-items .products a.button:focus { color:var(--dynColor) }
.search-items .products span.info2main, .search-items .products span.infodiscount { display:inline-block; padding:.1em .25em; font-size:.875rem; font-weight:700; color:var(--mainColor); white-space:nowrap }

/* MENU */
div.ctn-menu { position:absolute; top:0; left:0 }
/*
button.btnOpen { display: inline-block; position: absolute; top: 0; right: .7rem; margin:0; padding:.25rem; width: 36px; height: 36px; font-size: 1rem; font-weight:400; line-height: 1; color: var(--black); background-color:var(--white); border:.1rem solid var(--white); border-radius:50% }
button.btnOpen:focus { color: var(--mainColor); border-color:var(--mainColor) }
button.btnOpen::before { display: inline-block; font-family: 'pictos'; font-size: 1rem; line-height: 1; content: '\e807'; }
button.btnOpen.active::before { content: '\e808'; }
button.btnOpen span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; }
*/
#blk-menu { display:none; position:relative; padding:1rem; width:100vw; min-height:100vh; background-color:#fff; text-align:center; z-index:10 }
#blk-menu.active { display:block; }
.menu { position:relative; margin:auto }
.menu a { position:relative; display:inline-block; padding:.625rem 1.5rem; width:100%; font-family:'Nunito', Tahoma, sans-serif; font-size:1rem; font-weight:500; color:var(--black); text-decoration:none; text-transform: uppercase; white-space:nowrap }
.menu > li { position:relative; display:block; margin:.5rem 0; padding:0; list-style:none }
.menu li > a:hover, .menu li > a:focus, .menu li:focus-within > a { color:var(--dynColor) }
li.active > a { color:var(--mainColor) }
a.link-menu::after { display:block; position:absolute; bottom:0; left:0; width:0; height:2px; background-color:var(--dynColor); content:'' }
a.link-menu:hover::after, a.link-menu:focus::after { width:100% }
.s-menu { display: none; background:var(--white); z-index:10 }
.s-menu li { display:block; padding:.25em 0; margin:0; list-style:none }
.s-menu a { position:relative; display:block; margin:0; padding:.25em 1em; text-transform:inherit; white-space:nowrap }
.menu span.btnOpen { display:inline-block; position:absolute; top:0; right:1em; padding:.625em; color:var(--black) }
.menu span.btnOpen::before { display:inline-block; padding:0 .25em; font-family:'pictos'; font-size:1em; line-height:1.1; content:'\e817' }


/* SPECIAL LINKS */
button#toggleMenu { display: block; padding:1rem; font-family:'Nunito', Tahoma, sans-serif; font-size:.75rem; line-height: 1rem; font-weight:500; color:var(--black); text-decoration:none; text-transform: inherit; background-color: var(--white); border: none; border-radius: 0; }
button#toggleMenu::before { display:block; margin: 0 auto; padding-top: 1rem; font-family: 'pictos'; font-size: 1.25rem; font-weight:normal; line-height: 1; content: '\e80e'; text-align:center; }
button#toggleMenu:hover, button#toggleMenu:focus { color: var(--dynColor); }
button.btnClose { display: block; margin: auto; padding: .5rem; font-family:'Nunito', Tahoma, sans-serif; font-size:.75rem; line-height: 1rem; font-weight:500; color:var(--black); text-decoration:none; text-transform: inherit; background-color: var(--white); border: none; border-radius: 0; }
button.btnClose::before { display:block; margin: 0 auto; padding-top: 1rem; font-family: 'pictos'; font-size: 1.25rem; font-weight:normal; line-height: 1; content: '\e805'; text-align:center; }
button.btnClose:hover, button.btnClose:focus { color: var(--dynColor); }
a.link-account { display: block; padding:1rem; font-family:'Nunito', Tahoma, sans-serif; font-size:.75rem; line-height: 1rem; font-weight:500; color:var(--black); text-decoration:none; }
a.link-account::before { display: block; margin: 0 auto; padding-top: 1rem; font-family: 'pictos'; font-size: 1.25rem; font-weight:normal; line-height: 1; content: '\e800'; text-align: center; }
a.link-cart { display: block; padding:1rem; font-family:'Nunito', Tahoma, sans-serif; font-size:.75rem; line-height: 1rem; font-weight:500; color:var(--black); text-decoration:none; }
a.link-cart::before { display: block; margin: 0 auto; padding-top: 1rem; font-family: 'pictos'; font-size: 1.25rem; font-weight:normal; line-height: 1; content: '\e803'; text-align:center; }
a.link-account:hover, a.link-account:focus, a.link-cart:hover, a.link-cart:focus { color:var(--dynColor) }


/* ======================================================
   MAIN, CONTENT
====================================================== */
main { background-color: var(--white); }
.wrapper { margin: 0; padding: 0 1rem; background: var(--lightGrey); }
.inner { margin: 0 auto; max-width: 90rem; }
.inner > p:last-child { margin-bottom:0; padding-bottom:3rem }
.content { padding: 2.5rem 0; }
.flex-grid { display:flex; flex-flow:row wrap; gap:1rem }
.flex-item { width:100%; flex-grow:0 }
.text { margin:2.25em auto 2.25em 0; padding:0; }
.text video { max-width: 100%; }
.text p, .text ul, .text ol { margin:0 0 1.5em; }
.text p:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
.text > div { margin:1.5em auto }
.text ul.flex-grid li { margin: 0; padding: 1rem; list-style: none; }
.text .flex-item { text-align:center; }
.text blockquote { margin: 0 auto; max-width: 40rem; padding: 0 2rem; font-family:"jovial", Georgia, serif; font-size: 1.5rem; line-height: 1.2; font-weight:700; color: var(--mainColor); }
.text blockquote em { font-size:1rem }
.ctn-table { overflow-x:auto; }
table { margin:1.5em 0; padding:0; width:100%;; }
td, th { padding:.5em; border-bottom: .1rem solid var(--white); text-align: left; vertical-align: baseline; }
tr.no-border th, tr.no-border td { border:none }
.breadcrumb { padding:1rem 1rem .625rem; background-color:var(--lightGrey); overflow:auto; }
.breadcrumb ol { margin: 0 auto; padding: 0; max-width: 90em; display: flex; flex-wrap:nowrap; align-items:baseline; }
.breadcrumb ol li { margin: 0; padding: 0; color: var(--darkGrey); list-style: none; white-space:nowrap; }
.breadcrumb li:not(:last-child)::after { display: inline; margin: 0 .5rem; font-family: 'pictos'; font-size: .5rem; content:'\e816'; vertical-align:middle; }
.breadcrumb span, .breadcrumb a { font:500 .875rem/1.5 'Nunito', Tahoma, sans-serif; text-decoration:none; }
.breadcrumb a:hover, .breadcrumb a:focus { color:var(--dynColor); text-decoration:underline; }

/* PRODUCT LINK (sliders, list) */
a.linkProduct { padding:1rem; width:calc(100vw - 2rem); color:var(--black); background-color:var(--white); border-radius:.625rem; flex-flow:column nowrap; gap:.625rem 1rem; text-decoration:none; }
a.linkProduct:hover, a.linkProduct:focus { background-color:var(--white); box-shadow:0 0 .625rem rgba(0,0,0,.1) }
a.linkProduct img { margin: auto; object-fit: contain; object-position: center; width:100%; height:100%; max-width: calc(100vw - 4rem); max-height:15rem; }
a.linkProduct .text { position:relative; margin:auto; text-align:center; display:flex; flex-flow:column }
a.linkProduct .productInfos { margin: 0 }
a.linkProduct h2 { margin:.35em 0; padding: 0; font-size:1.25rem; font-weight: 700; line-height: 1.15; color: var(--black); text-align: inherit; transition: all ease-in-out 0.2s; }
a.linkProduct:hover h2, a.linkProduct:focus h2 { color:var(--dynColor) }
a.linkProduct h3 { margin:0 0 .25em; font:300 1rem/1.25 'Nunito', Tahoma, sans-serif; color:var(--black); text-align:inherit; }
a.linkProduct .productRef { font:300 .75rem/1.25 'Nunito', Tahoma, sans-serif; color:var(--darkGrey); }
a.linkProduct .blkPurchase { margin:.5rem 2.5rem 0; max-width:inherit; gap:0 }
a.linkProduct .base-price { width:100% }
a.linkProduct .productPrice { width:100%; font:500 1.125rem/1.5 'Nunito',Tahoma,sans-serif; white-space:nowrap }
a.linkProduct button { display:inline-block; margin: auto; font-size:.75rem; color:var(--dynColor); background-color:var(--white); }
a.linkProduct button:hover, a.linkProduct button:focus { color:var(--white); background-color:var(--dynColor); }
a.linkProduct span.more { font:500 .875rem/1.5 'Nunito', Tahoma, sans-serif; color:var(--mainColor); text-decoration:underline; text-transform: inherit;  transition: all ease-in-out 0.2s; }
a.linkProduct:hover span.more, a.linkProduct:focus span.more { color:var(--dynColor); }
div.stock { width: 100%; font-family:'Nunito',Tahoma,sans-serif; font-weight:500; font-size:.75rem; line-height:1.5; text-align:center }
.soldOut, .stockOff, .stock-off, .stockOk, .stock-ok, .inEdition, .reEditionInVue { color:var(--black); text-transform:uppercase; white-space:nowrap }
a.linkInform { margin:0 1.5em; font-weight:700; text-transform:uppercase; text-decoration:none; white-space:nowrap }
a.linkInform::before { display:inline; margin-right:.5em; font-family:'pictos'; font-size:1rem; font-weight:normal; content:'\e80d' }

/* SHOP - Global */
.blk-function { position:relative; }
.list-cart { display:none; position:absolute; top:5rem; right:0; padding:1em; width:auto; max-height:75vh; overflow:auto; font-size:.875rem; color:var(--black); background:var(--white); border-radius:.625rem; box-shadow:0px 0px 15px 0px rgba(0, 0, 0, 0.2); text-align:left; z-index:10 }
.list-cart li { margin:0; padding:.5em 0; list-style:none }
.list-cart a.button { font-size:.875rem }
.showCart:hover ul.list-cart { display:block }
.count { position:absolute; display:block; top:0; right:0; margin:0; padding:0; width:2em; height:2em; font-size:.75rem; font-weight:700; line-height:2em; color:var(--white); background:var(--mainColor); border-radius:50%; text-align:center }
.menu-account { display:none; position:absolute; top:5rem; right:0; padding:1em; width:auto; max-height:75vh; overflow:auto; font-size:.875rem; color:var(--black); background:var(--white); border-radius:.625rem; box-shadow:0px 0px 15px 0px rgba(0, 0, 0, 0.2); text-align:right; z-index:10 }
.menu-account li { margin: 0; padding: .5em 0; border-top:.1rem solid var(--lightGrey); list-style: none }
.menu-account li:first-child { border-top:none }
.menu-account li span { white-space:nowrap }
.menu-account a { font:500 1rem/1.5 'Nunito',Tahoma,sans-serif; color:var(--black); text-transform:uppercase; text-decoration:none }
.menu-account a:hover, .menu-account a:focus { color:var(--dynColor); text-decoration:underline }
.showAccount:hover ul.menu-account { display:block }

/* SHOP - Products lists */
.flex-grid.blk-top { margin-bottom:3rem; flex-flow:column; justify-content:flex-start; align-items:stretch; align-content:flex-end; gap:0 }
.blk-top div.flex-item { width:auto }
.blk-top div.flex-item:last-child { display:flex; align-items:center; flex-grow:1; gap:.5rem }
.blk-top h1 span.pagenumber { font-size:1rem; font-weight:600; white-space:nowrap }
.blk-top div.intro { margin: .625rem 0; max-width:50em }
.blk-top p.searchWord { margin-bottom:.5em; font-size:1.25em }
#toggleFilters { display:inline-block; margin:0; padding:.2rem .5rem; font-size:1rem; line-height:1.5; text-align:center; cursor:pointer; align-self:flex-start }
#ctn-filters { display:none; position:fixed; top:0; left:0; padding:2em; width:100%; height:auto; min-height:100vh; background-color:var(--white); z-index:20 }
#ctn-filters.active { display:block }
#btn-closeFilters { float:right }
form.filters { margin:1em 0 0; display:flex; flex-flow: column nowrap; gap:1em .5em; align-items:center; }
.selected-filter::before { display:inline; margin-right:.5em; font-family:'pictos'; font-size:1em; font-weight:normal; content:'\e806' }
.pagination { padding: 2rem 1rem 5rem; background-color: var(--lightGrey); text-align:center; }
.pagination span.disabled { display: none; }
.pagination a, .pagination span.current { display: inline-block; margin: 0 0.25em; padding: 0; width:2.25em; height:2.25em; font-family: 'Nunito', Tahoma, sans-serif; font-size: 1rem; line-height:2.15em; font-weight:500; color: var(--black); text-decoration: none; border:.1em solid var(--lightGrey); border-radius: 50%; vertical-align: middle; }
.pagination a:hover, .pagination a:focus { color: var(--white); text-decoration: none; background-color: var(--dynColor); border: 1px solid var(--dynColor); }
.pagination span.current { font-weight: 700; color: var(--white); background-color: var(--mainColor); }
.si-btn i { display:inline-block; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); font-size:.875rem }
.si-btn.prev i { transform:translate(-50%, -50%) rotate(180deg); }
.productsList { padding-bottom:3rem; align-items:flex-start }
.productsList article { position:relative; flex:2 1 calc((100% - 4rem) / 3) }
.productsList article.new::before { display:inline-block; position:absolute; top:.5rem; left:.5rem; width:20px; height:20px; content:url("../images/new.svg") / "New"; z-index:2 }
.productsList form.form-add2cart, .slick-slide form.form-add2cart { position:absolute; bottom:.5rem; right:.5rem; }
button.btn-buy-small { position:relative; margin:0; padding:.5rem; font-size:1.25rem; line-height:1.5; color:var(--dynColor); background-color:var(--white); border:none; }
button.btn-buy-small:hover, button.btn-buy-small:focus { color:var(--white); background-color:var(--dynColor); }

/* SHOP - Product details */
.flex-grid.blk-details { padding-bottom:3em; flex-flow:column-reverse; justify-content:flex-start; align-items:flex-start; align-content:flex-start; gap:1.5rem 3rem }
.flex-grid.blk-details .flex-item { margin:0 auto; width:auto; flex:1 1 100% }
.blk-details h1 { margin-bottom:0; max-width:15em; text-align:center }
h1 span.info2main, h2 span.info2main, h1 span.infodiscount, h2 span.infodiscount { display:inline-block; padding:.1em .25em; font-size:.875rem; font-weight:700; color:var(--mainColor); white-space:nowrap; vertical-align:baseline }
.blk-details h2.subtitle { margin:.25em auto 0; font-size:1.25rem; font-weight:700; color:var(--mainColor); max-width:15em; text-align:center }
span.info2main::before { display:inline-block; margin-right:.5em; font-family:'pictos'; content:'\e849' }
span.infodiscount::before { display:inline-block; margin-right:.5em; font-family:'pictos'; content:'\e84a' }
.producer { margin:.25em 0; font: 300 1.25rem/1.25 'Nunito', Tahoma, sans-serif; text-align:center }
.producer a { color:var(--black) }
.producer a:hover, .producer a:focus { color:var(--dynColor) }
.blk-details .text { margin:.5em auto; padding-top:2em; max-width:40em; font-size:1.125rem; border-top:.1rem solid var(--mediumGrey) }
.blk-details .reference { margin:0 0 .5em; font-family:'Nunito',Tahoma,sans-serif; font-size:1rem; font-weight:300;  }
.blk-details .ctn-image { display:inline-block; padding:1em; background-color:var(--white); border-radius:1em }
.blk-details img.img-main { object-fit:contain; object-position:center; width:100%; max-width:780px; height:100%; max-height:360px }
.blk-thumbnails { margin:1em auto 0; max-width:30em; display:flex; flex-flow:row nowrap; justify-content:flex-start; align-items:center; gap:1em; overflow:auto }
.blk-thumbnails a { display:block; flex:1 1 calc((100% - 2em) / 3) }
.blk-thumbnails a img { object-fit: contain; object-position: center; width: 100%; height: 100%; max-height:120px }
.blkPurchase { margin:1.5em auto; display:flex; flex-flow:row wrap; align-items:last baseline; justify-content:center; gap:.625rem 1rem }
.blkPurchase .price { font-family:'Nunito',Tahoma,sans-serif; font-size:1.5em; font-weight:700; line-height:1 }
.blkPurchase .base-price { font-family:'Nunito',Tahoma,sans-serif; font-size:1rem; font-weight:300; text-decoration:line-through }
.blk-details .base-price { margin-right:.5rem }
.discountInfoTitle { font-family:'Nunito',Tahoma,sans-serif; font-size:1rem; font-weight:300 }
.discountInfo { width:100%; font-family:'Nunito',Tahoma,sans-serif; font-size:.875em; text-align:center }
.discountInfo::before { display:inline-block; margin-right:.5em; font-family:'pictos'; content:'\e81d' }
.ctl-qty { display:inline-flex; align-items:center; background-color:var(--white); border-radius:.625rem }
.blk-details .ctl-qty { display:none }
form.form-add2cart { margin:0; display: flex; flex-flow: row nowrap; align-items: center; gap: .5rem 1rem; white-space: nowrap; }
.value-control { margin: 0; padding: 0; width: 36px; height: 36px; font-family: 'Nunito', Tahoma, sans-serif; font-size: 1.25rem; font-weight: 500; line-height: 1; color: var(--darkGrey); background: transparent; border: none; cursor: pointer; }
input[type="number"].value-input { -moz-appearance: textfield; }
input[type="number"].value-input { margin: 0 1px; padding: 2px; height: 36px; width: 36px; font-family: 'Nunito', Tahoma, sans-serif; font-size: .875rem; font-weight: 700; line-height: 1; background-color: transparent; border: none; text-align: center; }
button.btn-buy { position: relative; margin: 0; font-size:.875rem; }
.blkAnchors { display:flex; flex-flow:row wrap; gap:.5em; margin:2em auto .5em; padding-top:.5em; border-top:.1rem solid var(--mediumGrey) }
a.linkAnchor { display:inline-block; padding:.5em; font-family:'Nunito', Tahoma, sans-serif; font-size:.875rem; font-weight:500; text-transform:uppercase; color:var(--black); text-decoration:none }
a.linkAnchor:hover, a.linkAnchor:focus { color:var(--dynColor); text-decoration:underline }
.wrapper.multimedia { padding:3rem 1rem; background-color:var(--black); }
.multimedia h2, .multimedia h3 { color:var(--white); }
.files, .audios, .videos { margin:1em auto 4em; max-width:48em; text-align:center; }
a.linkDoc { display:inline-block; margin:.5em 1.5em .5em 0; font-family:'Nunito', Tahoma, sans-serif; font-size:1rem; font-weight:500; text-transform:uppercase; color:var(--white); text-decoration:none }
a.linkDoc::before { display:inline-block; margin:0 .5em 0 0; font-family:'pictos'; font-size:1rem; line-height:1; font-weight:normal; content:'\e807' }
a.linkDoc:hover, a.linkDoc:focus { color:var(--dynColor); text-decoration:underline }
.wrapper.reviews { padding:3rem 1rem; }
.review { position:relative; margin:2.25em auto; padding:0 0 0 4rem; max-width:50em }
.review::before { display:block; position:absolute; top:0; left:0; font-family:'pictos'; font-size:3rem; line-height:1; font-weight:normal; color:var(--mediumGrey); content:'\e812'; transform:scale(-1, 1) }
.customerName { font-style:italic }

.wrapper.sameThemeSection { padding:0 0 0 1rem; background-color:var(--lightBlue); }
.sameThemeSection .inner { margin-right: 0; margin-left: 0; max-width: initial; }
.sameThemeSection h2 { display: inline-block; margin: 0 .5em 0 0; padding: 1em 0 0; font-size: 1.625rem; font-weight:900; color:var(--white); }
.sameThemeSection a.linkMore { color:var(--white); }
.sameThemeSection a.linkMore:hover, .sameThemeSection a.linkMore:focus { color:var(--dynColor); }
.wrapper.sameAuthorSection { padding:0 0 0 1rem; background-color:var(--lightGrey); border-top: .1rem solid var(--white); }
.sameAuthorSection .inner { margin-right: 0; margin-left: 0; max-width: initial; }
.sameAuthorSection h2 { display: inline-block; margin: 0 .5em 0 0; padding: 1em 0 0; font-size: 1.625rem; font-weight:900; color:var(--mainColor); }

/* SHOP - Panier */
.btn-backcatalog { display:block !important; margin:0 0 .5em auto; max-width:fit-content }
.tb-panier { width:100%; font-family:'Nunito',Tahoma,sans-serif; }
.tb-panier .item-row { border-bottom:3px solid var(--lightGrey); }
.tb-panier.tb-bottom .item-row { border-bottom:none }
.tb-panier .item-column { padding:0.5em; background-color:var(--white); text-align:right }
.tb-panier .empty-cell { display:none }
.tb-panier .item-column.title { font-size:.875rem; text-align:left }
.tb-panier .item-column.title a { font-size:1.25rem; line-height: 1.2; font-weight:700; text-transform:none }
.tb-panier .item-column.title span { white-space:inherit }
.tb-panier .item-column img { max-width:100px; float:left; margin-right:1em }
.tb-panier .item-column.qty { text-align:left }
.tb-panier .item-column.qty::before { visibility:hidden; display:block; font-size:0; content:" "; clear:both; height:0; }
.tb-panier .price { padding-bottom:0; font-size:1rem }
.tb-panier .base-price { font-size:.75em }
.tb-panier .red { font-weight:700; color:var(--red); text-transform:none }
.tb-panier .red:before { margin-right:0.5em; font-family:"pictos"; font-weight:normal; content:"\e815" }
.tb-panier .head .item-column { display:none }
.tb-panier .total, .tb-panier .price { width:100%; font-weight:500; white-space:nowrap }
.tb-panier .tarticles { display:none }
.tb-panier .tamount { padding-top:0; font-size:1.25rem; font-weight:700 }
.tb-panier .total::before { content:"Sous-total: " }
.tb-panier .ln-frais .total, .tb-panier .ln-frais .item-column { float:left }
.tb-panier .ln-frais .total { float:right }
.tb-panier .ln-bon div:nth-child(2)::before { display: inline-block; margin: 0 .5em 0 0; font-family: 'pictos'; font-size: 20px; font-weight: normal; content: "\e81c" }
.tb-panier .ln-freeship .total::before { display: inline-block; margin: 0 .5em; font-family: 'pictos'; font-size: 20px; font-weight: normal; content: "\e81c" }
.tb-panier .actions { padding:.5em 0 .5em 1em; text-align: right; }
.tb-panier .btn-wishlist { margin:0 .5em; font-size: 1.3em; line-height: 1; text-decoration:none; white-space:nowrap }
.tb-panier .btn-wishlist i { vertical-align: middle; }
.tb-panier .item-column .si-btn { float: right; line-height: 35px; margin-right: 0; margin-left: 70px; text-indent: -55px; text-decoration: none; }
.tb-panier .item-column .smallpicto-ebook { left: -10px; margin-left: 0; text-indent: -9999px; }
.tb-panier .action-line .item-column { display: table-cell; padding: .5em 0; vertical-align: baseline; text-align: right; }
.tb-panier .action-line .item-column.actions { width:220px }
.tb-panier .ctl-qty { float:right; border:.1rem solid var(--lightBlue); }
.tb-panier .qty form { display: inline-block; margin:auto; }
.tb-panier .qty .qty-input { padding:0; width:3rem; font-family:'Nunito',Tahoma,sans-serif; font-weight: 500; background-color:transparent; border:none; text-align:center; }
.tb-panier .qty .btn-qty-ok { margin: 0; padding: 0 0.3em; }
.blk-qty { float: left; margin:5px 0; line-height: 25px; }
.blk-qty span { display: none; }
.btn-del-item, .btn-plus, .btn-minus { display:inline-block; padding:.75rem; font-size:.75rem; line-height:1; color:var(--mainColor); text-decoration:none; text-align:center; }
.btn-del-item::before, .btn-plus::before, .btn-minus::before { font-family:'pictos'; font-size:inherit; font-weight:normal; }
.btn-del-item::before { content:'\e806'; }
.btn-plus::before { content:'\e801'; }
.btn-minus::before { content:'\e811'; }
.btn-del-item span, .btn-plus span, .btn-minus span { display: none; }
.btn-del-item:hover, .btn-plus:hover, .btn-minus:hover, .btn-del-item:focus, .btn-plus:focus, .btn-minus:focus { color: var(--dynColor); text-decoration: none; }
a.btn-del-item:-moz-focusring, a.btn-del-item:focus-visible { color: var(--dynColor); text-decoration:none; }
form#form-promo input[type="text"] { display: inline-block; padding: .5em; width: 210px; border-radius:5px 0 0 5px; vertical-align:baseline; }
form#form-promo input[type="text"]:focus { outline:none; }
form#form-promo button { margin:0; padding: .5em; font-size: 1rem; line-height: 1.5; border-width:1px; border-radius:0 5px 5px 0; vertical-align:baseline; }
.ctn-liste { margin:2em 0 }
ul.list-promos { margin: 0 0 1em; list-style:none }
ul.list-promos li { display:inline-block; margin:.5em }
ul.list-promos li a { display:inline-block; padding:.1em .5em; background-color: var(--white); border:1px solid var(--grayColor); border-radius:5px; text-decoration:none }
ul.list-promos li a:hover, ul.list-promos li a:focus { color: var(--redColor); border-color:var(--redColor) }
.ctn-btn { margin:0 auto; padding:1.5rem 0 3rem; max-width:40em; text-align:center }
.ctn-btn button, .ctn-btn .button { font-size:1.25rem }
.blkGift h2 { position:relative }
.blkGift h2 i { font-size:1.125rem }
.blkGift form { margin:0; max-width:inherit }
.blkGift form input { padding:.25em .5em; max-width:180px; font-family:'Nunito',Tahoma,sans-serif }
[data-tooltip]:hover::after { display:block; position:absolute; bottom:100%; padding:1em; max-width:20em; font-size:1rem; font-weight:400; font-style:normal; content:attr(data-tooltip); background-color:var(--white); box-shadow: 0 0 .25em rgba(0,0,0,.3); }
.empty-cart { margin:1.5rem auto; text-align:center }
.empty-cart span { font-size:1.5rem; line-height:1.25; font-style:italic }

/* CART HISTORY */
#cart-history { position: relative; margin: 20px auto; padding: 2.5em; width: auto; max-width: 736px; background-color: var(--white); box-shadow:0px 0px 15px 0px rgba(0, 0, 0, 0.2); border-radius: 1em; }
#cart-history .ctn-btns { text-align: center; }

/* SHOP - Commande */
.wrapper.ctn-cart, .wrapper.ctn-order { padding-bottom:3rem }
form.form-order .flex-grid { flex-flow:column }
.ctn-btns { margin:1rem 0 }
.blk-email > p, .blk-login > p, .blk-guest > p { margin:3rem auto 1.5rem; max-width:40em }
form.form-customerData { margin-bottom:0 }
.ctn-customerData { margin:1.5rem auto 0; max-width:fit-content }
.ctn-adresses { margin:1.5rem auto; max-width:40em }
form .ctn-adresses { gap:1.5rem }
.ctn-adresses p { margin:.5rem 0 }
.ctn-remarques { margin:1.5rem auto; max-width:40em }
.ctn-mode-envoi { margin:1.5rem auto; max-width:40em }
.ctn-mode-paiement { margin:1.5rem auto; max-width:40em }
.ctn-conditions { margin:1.5rem auto 0; max-width:40em }
.ctn-msg-vacances { margin:1.5rem auto 0; max-width:40em }
form .field.saveMode { margin:1rem; font-size:.875rem }
.checkbox.saveMode label { font-family:'Nunito', Tahoma, sans-serif; font-size:inherit; font-weight:300; color:var(--darkGrey) }
img.img-paymentmode { display:inline-block; margin:0 .5em; width:auto; height:1.5em; vertical-align:middle }
img.logoDatatrans { display:inline-block; margin:1rem auto .5em; width:100px; height:auto; vertical-align:middle }
.txt-confimOrder { margin:1.5rem auto; text-align:center }
.txt-confimOrder span { font-size:1.5rem; line-height:1.25; font-style:italic }

/* SHOP - Compte */
.wrapper.account { padding-bottom:3rem }
.ctn-addresses { padding-bottom:3rem }
.ctn-bons { padding-bottom:3rem }
.ctn-preferences { padding-bottom:3rem }
.ctn-registerInfo { max-width:40em }
.ctn-password > p, .ctn-register > p { margin:3rem auto 1.5rem; max-width:40em }
.blk-welcome { margin:1.5rem auto; text-align:center }
.txt-welcome { font-size:1.5rem; font-style:italic }
ul.menu-profile { display:flex; flex-flow:row wrap; margin:2rem auto 3rem; max-width:40em; gap:.5rem 1rem }
ul.menu-profile li { margin:0; padding:0; list-style:none; text-align:center; flex:1 }
ul.menu-profile li a { display:block; padding:.5em 1em; font-family:'Nunito',Tahoma,sans-serif; font-size:.875rem; font-weight:500; background-color:var(--white); border-radius:.625em; text-transform:uppercase; text-decoration:none }
td.td-btns { text-align:right; }
.tb-list .hidden-ln { display:none }
form.form-preferences { max-width:inherit }
.blk-btns { margin:2rem auto }
.blk-btns a.button { margin:.5em }

/* SHOP - Compte Orders */
.cmd-details { vertical-align:top }
.cmd-details .adr { display:inline-block; margin-bottom:1.5rem; width:48%; vertical-align:top }

/* SHOP - Producers */
.firstletter { padding:.2em .5em; font-family:'Nunito',Tahoma,sans-serif; font-size:1.25rem; line-height:1; font-weight:900; color:var(--black); background-color:var(--white) }
.ctn-auteurs ul { padding:1em 0 }
.ctn-auteurs li { margin:0 1em 0 0; list-style:none }
.ctn-auteurs a { text-decoration:none }
.wrapper.producer { margin:0 }

/* SHOP - Comment */
.wrapper.ctn-comment { padding-bottom:3rem }
.ctn-comment p { margin:3rem auto 1.5rem; max-width:40em }

/* HOMEPAGE */
.newSection.wrapper { padding:0 0 0 1rem; background-color:var(--lightGrey) }
.newSection .inner { margin-right:0; margin-left:0; max-width:initial }
.newSection h1 { display:inline-block; padding:1em 0 0 }
.newSection div.center { padding:0 1rem 3rem 0 }
.aboutSection.wrapper { padding:0; background-color:var(--white) }
.aboutSection .inner { margin-right:0; margin-left:0; max-width:initial }
.aboutSection h1 { padding: 1em 0 0 }
.aboutSection .flex-grid { align-items:stretch; gap:0 }
.aboutSection div.flex-item:first-child { margin:auto; padding:0 1rem 1rem }
.aboutSection p { max-width:30rem }
.aboutSection img { object-fit:cover; object-position:center; width:100%; height:100% }
.wrapper.selectSection { padding:0; background-color:var(--mainColor) }
.selectSection .inner { padding:0 1rem; max-width:96rem }
.selectSection h1 { display:inline-block; padding:1em 0 0; color:var(--white); opacity:.75 }

/* PAGE STANDARD */
.wrapper.pageStandard { padding-bottom:3rem }
.pageStandard div.text { margin-left:auto; margin-right:auto; max-width:40em }

/* SLIDER */
.mi-slider { margin-left: -1rem; padding:0 0 4.5rem }
.mi-slider .slick-list { padding:0 }
.mi-slider .slick-slide { position:relative; margin:1rem }
.mi-slider .slick-prev, .mi-slider .slick-next { display: inline-block; position: absolute; padding: 0; top: initial; bottom:2rem; transform:none; width: 2.5rem; height: 2.5rem; background:var(--mediumGrey); border: none; border-radius: 50%; outline:initial; font-size: 0; line-height: 0; color: transparent; z-index: 2; }
.mi-slider .slick-prev:hover, .mi-slider .slick-next:hover, .mi-slider .slick-prev:focus, .mi-slider .slick-next:focus { background:var(--dynColor); }
.mi-slider .slick-prev:focus-visible, .mi-slider .slick-next:focus-visible { outline:.1rem solid var(--dynColor); outline-offset:0rem; }
.mi-slider .slick-prev { left:1.5rem; }
.mi-slider .slick-next { right: initial; left:5rem }
.mi-slider .slick-prev::before, .mi-slider .slick-next::before { display: inline-block; font-family: 'pictos'; font-size: 1rem; line-height: 1; color:var(--white); content:'\e802' }
.mi-slider .slick-prev::before { transform: rotate(180deg); }
.sameThemeSection .mi-slider .slick-prev, .sameThemeSection .mi-slider .slick-next { background:rgba(255,255,255,.3); }
.sameThemeSection .mi-slider .slick-prev:hover, .sameThemeSection .mi-slider .slick-next:hover, .sameThemeSection .mi-slider .slick-prev:focus, .sameThemeSection .mi-slider .slick-next:focus { background:var(--dynColor); }

/* NEW slider */
.inner.selectSlider { padding:0 1rem; display:flex; flex-direction:column; height:calc(100vh - var(--headerHeight) - 9rem); max-height:560px; max-width:inherit; scroll-snap-type:y mandatory; scroll-behavior:smooth; overflow-y:auto }
.selectSlider article { flex: 0 0 100%; margin:0 auto; max-width:50em; height:calc(100vh - var(--headerHeight) - 9rem); max-height:560px; scroll-snap-align:start; font-size:.875rem }
.selectSlider a.linkProduct { padding:1.5rem 0 3rem; height:100%; gap:1.5em; background-color:inherit }
.selectSlider a.linkProduct:hover, .selectSlider a.linkProduct:focus { background-color:inherit; box-shadow: none; }
.selectSlider a.linkProduct .image { max-height:60% }
.selectSlider a.linkProduct .image img { width: auto; max-width:100%; height:auto; max-height:100%; box-shadow: 0 0 .25em rgba(0,0,0,.3); }
.selectSlider a.linkProduct .text { max-width:fit-content; height: calc(40% - 1.5rem); }
.selectSlider a.linkProduct .productInfos { color:var(--white); overflow-y:hidden;}
.selectSlider a.linkProduct h2 { margin:0 0 .15em; font-size:2rem; line-height:1; color:inherit }
.selectSlider a.linkProduct h3 { margin-bottom:.75em; font-size:1.25rem; color:inherit }
.selectSlider a.linkProduct .blkPurchase { display:none }
.selectSlider a.linkProduct div.productInfos::after { display:block; position:absolute; bottom:0; left:0; width:100%; height:5em; background:linear-gradient(180deg, transparent 0%, var(--mainColor) 60%); content:''; z-index:2; }
.selectSlider a.linkProduct div.text::after { display:block; position:absolute; bottom:0; left:0; width:100%; content:'En savoir plus'; font-family:'Nunito',Tahoma,sans-serif; font-size: inherit; font-weight:700; color:var(--white); text-decoration:underline; z-index:3; }



/* ======================================================
   FOOTER
====================================================== */
footer.wrapper { border-top:.1rem solid var(--white); }
footer .inner { padding:3rem 0; text-align:center; }
footer .flex-grid { margin:2rem auto; align-items: baseline; justify-content: center; flex-wrap:wrap; gap:1rem }
footer .flex-item { flex-grow: 1; flex-basis: 0; max-width: 15rem; }
/*footer a { color:inherit; text-decoration:none; }
footer a:hover, footer a:focus { text-decoration:underline; }*/
footer .title { display: inline-block; margin: 0 0 .75rem; padding: 0 0 .75rem; font:400 1.25rem/1.5 'Nunito', Tahoma, sans-serif; border-bottom:.1rem solid var(--mediumGrey); }
footer .slogan { font:italic 400 1.5rem/1 'Lora',Georgia,serif; color:var(--mainColor); }
footer .flex-item a { display:block; margin: auto; padding: 1rem; width:fit-content; font-family: 'Nunito', Tahoma, sans-serif; font-weight: 500; color: inherit; text-decoration:none; white-space:nowrap; }
footer .flex-item a::before { display: block; margin:0 auto .5rem; width:auto; font-family:'pictos'; font-size: 2rem; line-height: 1; font-weight: normal; color:var(--mainColor); }
footer .flex-item a:hover, footer .flex-item a:hover::before, footer .flex-item a:focus, footer .flex-item a:focus::before { color:var(--dynColor); }
footer a.phone::before { content:'\e80f' }
footer a.email::before { content:'\e809' }
footer a.newsletter::before { content:'\e80d' }
footer address { display:inline; text-align:center; }
.footer-links { font-size:.875rem; line-height:2 }
.copyright { font-size:.875rem; line-height:2 }
a.signature { display: inline-block; font-size:.75rem; color:inherit; text-decoration:none; }
a.signature:hover, a.signature:focus { color:var(--dynColor); text-decoration:underline; }
#blk-cookies { position: fixed; clear: both; padding: 1rem; bottom: 0; width: 100%; color: #fff; text-align: center; background-color: var(--white); box-shadow: 0 -10px 15px 1px rgba(0,0,0,.2); z-index: 101; }
a.btn-cookies-accept { display: inline-block; margin-left: .5rem; font-weight:500; color: var(--mainColor); background-color: #fff; }
a.btn-cookies-accept:hover, a.btn-cookies-accept:focus { color:#fff; background-color:var(--mainColor); }

.debug { display: none; }

/**=====================================================
   ECRANS taille moyenne : tablettes, petits notebooks
====================================================== */
@media (width >= 48rem) {
  :root { 
    --headerHeight: calc((1.25rem * 2) + 2rem + 2.25rem + 1rem); 
  }
  .not4mobile { display:block; }
  a#logo { margin: 0; width:8rem; }
  #header .flex-grid { flex-flow:row nowrap; }
  #header .flex-item { position: relative; margin: auto; padding:1.25rem 0; width: calc((100% - 4em) / 3); flex-grow: 0 }
  #header div.flex-item:nth-child(2) { flex-grow:1; order:2; text-align: center }
  #header div.flex-item:nth-child(3) { gap: 0; order:3 }
  .blk-search { margin:0 }
  #form-search { max-width:30rem }
  #aboutSection.wrapper { padding:0 0 0 1rem; }
  #aboutSection div.flex-item:first-child { margin:auto; padding:0 3rem 1.5rem 0; width:calc(50% - .5rem) }
  #aboutSection div.flex-item:last-child { width:calc(50% + .5rem) }
  .productsList { gap:2rem }
  .productsList article:last-child { display:inline-flex; flex:0 1 auto }
  a.linkProduct { width:auto; flex-flow:row nowrap }
  a.linkProduct img { width:auto; height:15rem; min-width:9rem; max-width: inherit; max-height: inherit; object-fit:inherit; object-position:none;  }
  a.linkProduct .text { margin: 0 auto 0 0; text-align:left; flex-grow:1; }
  a.linkProduct .productInfos { flex-grow:1 }
  a.linkProduct button { margin: 0; }
  a.linkProduct div.stock { text-align:left }
  a.linkProduct .blkPurchase { margin:.5rem 2.5rem 0 0; }
  .selectSlider article { font-size:1.125rem }
  .selectSlider a.linkProduct h2 { font-size:2.5rem }
  .selectSlider a.linkProduct h3 { font-size:2rem }
  .selectSlider a.linkProduct .image { max-height:100% }
  .selectSlider a.linkProduct .image img { margin:0 0 0 auto }
  .selectSlider a.linkProduct .text { height:100%; flex:1 1 75% }
  .mi-slider .slick-list { padding:0 0 0 1rem }
  .mi-slider a.linkProduct .text { width:min-content; }
  form .field { flex:1 1 calc((100% - 2rem) / 2) }
  form fieldset .field { flex:1 1 calc(50% - 2rem) }
  .ctn-adresses { margin:3rem auto }
  .ctn-mode-envoi { margin:3rem auto }
  .ctn-mode-paiement { margin:3rem auto }
  .ctn-conditions { margin:3rem auto 0 }
  .ctn-msg-vacances { margin:3rem auto 0 }
  .ctn-adresses, form div.ctn-adresses { gap:1.5rem 10rem }
  .ctn-adresses .flex-item { width:auto; flex:0 0 calc((100% - 10rem) / 2) }
  .blk-details img.img-main { max-height:480px }
  .ctn-auteurs ul { -webkit-columns:3; -moz-columns:3; columns:3; }
  div.mi-multicolumns { flex-flow:row nowrap; }
  div.mi-column { flex:0 0 50%; }
  .debug { display: block; }
}
@media (width >= 64rem) {
  :root {
    --headerHeight: calc((1.25rem * 2) + 2rem + 2.25rem + 1rem + .1rem + (1.25rem * 2) + 2.5rem );
  }
  .wrapper { padding:0 3rem }
  a#logo { width:8rem }
  #header .flex-item { padding:1.25rem 0 0 }
  #header div.flex-item:nth-child(3) { gap:0 .5rem }
  .search-items { padding:0 2em 1em }
  div.ctn-menu { position:relative }
  #blk-menu { display:block; padding:0 1.5rem 1.25rem; width:auto; height: auto; min-height:inherit; z-index:0 }
  #blk-menu.active { box-shadow:none; }
  button#toggleMenu { display:none; }
  .menu { width:fit-content; text-align:center; }
  .menu a { position:relative; display:inline-block; padding:.5rem 1rem; width:auto }
  .menu > li { position:relative; display:inline-block; margin:0 .5rem; padding:0 }
  .menu li:hover .s-menu, .menu li:focus-within .s-menu { display:block }
  .s-menu { display:none; position:absolute; left:-1rem; top:auto; padding:1rem; width:auto; min-width:220px; border-radius:.625rem; box-shadow:0 0 1em rgba(0,0,0,.3); columns:2 }
  .s-menu.active { display:block }
  .s-menu li { text-align:left }
  .menu span.btnOpen { display:none; }
  #exitMenu { display:none; }
  .selectSection .inner { padding:0 3rem }
  .selectSlider article { font-size:1.25rem }
  .selectSlider a.linkProduct h2 { font-size:3rem }
  .selectSlider a.linkProduct h3 { font-size:2rem }
  .newSection.wrapper { padding:0 0 0 3rem }
  .newSection div.center { padding:0 3rem 3rem 0 }
  .aboutSection.wrapper { padding:0 0 0 3rem }
  .aboutSection .inner { --paddingLeft:calc((100% - 93rem) / 2) }
  .aboutSection div.flex-item:first-child { padding:0 3rem 1.5rem var(--paddingLeft); width:calc(50% - 1.5rem) }
  .aboutSection div.flex-item:last-child { width:calc(50% + 1.5rem) }
  .wrapper.sameAuthorSection { padding:0 0 0 3rem }
  .wrapper.sameThemeSection { padding:0 0 0 3rem }
  .wrapper.multimedia { padding:3rem }
  .wrapper.reviews { padding:3rem }
  #toggleFilters, #exitFilters { display:none }
  .flex-grid.blk-top { flex-flow:row nowrap; align-items:last baseline; gap:1rem 5rem }
  .blk-top div.flex-item:last-child { flex-flow:column; align-items:flex-end; justify-content:flex-end }
  a.link-reset { align-self:flex-end }
  #ctn-filters { display:flex; position:relative; padding:0; min-height: inherit; justify-content:flex-end; align-items:flex-end; gap:.5em; background-color:inherit; z-index:0 }
  #form-main-filters { flex-flow:row; align-items:flex-end; gap:1em }
  form.filters { margin-top:0; flex-flow:row; align-items:flex-end; gap:1em }
  .formfield-text, .formfield-texteara, .formfield-select, .formfield-checkbox, .formfield-radio { width:auto }
  .breadcrumb { padding-top:3rem; padding-right:3rem; padding-left:3rem }
  .pagination { padding-right:3rem; padding-left:3rem }
  .pagination a, .pagination span.current { font-size:1.25rem; }
  .flex-grid.blk-details { flex-flow:row nowrap }
  .flex-grid.blk-details .flex-item { flex:1 1 50% }
  .blk-details h1 { max-width:inherit; text-align:left }
  .blk-details h2.subtitle { max-width:inherit; text-align:left }
  .producer { text-align:left }
  .discountInfo { text-align:left }
  .blkPurchase { margin:1.5em 0; justify-content:flex-start; gap:.5rem 2rem }
  .blk-details .ctl-qty { display:inline-flex }
  .blk-details .text { margin:.5em 0 }
  .blk-details .ctn-image { padding:1.5em }
  .blk-details img.img-main { max-height:640px }
  div.stock { text-align:left }
  .tb-panier { display:table }
  .tb-panier .item-row { display:table-row }
  .tb-panier .item-column { display:table-cell; padding:1em; vertical-align: baseline; border-bottom:.2rem solid var(--lightGrey) }
  .tb-panier .head .item-column:first-child { border-radius:.625rem 0 0 0 }
  .tb-panier .head .item-column:last-child { border-radius:0 .625rem 0 0 }
  .tb-panier.tb-bottom .item-column { border-bottom:none }
  .tb-panier.tb-bottom .item-column:first-child { border-radius:0 0 0 .625rem }
  .tb-panier.tb-bottom .item-column:last-child { border-radius:0 0 .625rem 0 }
  .tb-panier .actions { padding:.5em 0 .5em 1em; width:250px }
  .tb-panier .action-line .item-column.actions { width:300px }
  .tb-panier .head .item-column { display:table-cell; font-size:.875rem; font-weight:300; color:var(--grayColor); text-transform:uppercase; vertical-align:bottom }
  .tb-panier .item-column:first-child, .tb-panier .ln-frais .item-column:first-child { width:auto }
  .tb-panier .item-column:first-child::after { visibility:hidden; display:block; font-size:0; content:" "; clear:both; height:0 }
  .tb-panier .ctl-qty { float:none }
  .btn-del-item { float:right }
  .tb-panier .total::before { content:'' }
  .tb-panier .qty, .tb-panier .tarticles { width:220px }
  .tb-panier .total, .tb-panier .price, .tb-panier .ttext, .tb-panier .tarticles, .tb-panier .tamount, .tb-panier .ln-frais .item-column { float:none; display:table-cell; width:220px }
  .tb-panier .tamount { font-size:1.5rem }
  .tb-panier .price { width:100px }
  .tb-panier .discount { width:90px }
  .tb-panier .total { width:150px }
  .tb-panier .item-column .only-mobile { display:none }
  .ctn-auteurs ul { -webkit-columns:4; -moz-columns:4; columns:4 }
}

/**=====================================================
   ECRANS + grands
====================================================== */
@media (width >= 96rem) {
  h1 { font-size:2.25rem }
  a#logo { width:10rem }
  .newSection .inner, .sameAuthorSection .inner, .sameThemeSection .inner { margin-left:calc((100% - 93rem) / 2) }
  .selectSlider article { font-size:1.5rem }
  .selectSlider a.linkProduct h2 { font-size:3.75rem }
  .selectSlider a.linkProduct h3 { font-size:2.5rem }
  .sameAuthorSection h2, .sameThemeSection h2 { font-size:2.25rem }
  .tb-panier .price { width:120px; text-align:right }
  .tb-panier .discount { width:100px; text-align:right }
  .tb-panier .total { width:180px; text-align:right }
  .blk-details .ctn-image { padding:2em }
}

/**=====================================================
   ORIENTATION PAYSAGE UNIQUEMENT
====================================================== */
@media (orientation: landscape) {
}