/* Reset
-------------------------------------------------- */
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0}
*, *:before, *:after{margin:0;padding:0;border:0;-webkit-box-sizing:border-box;box-sizing:border-box}
*{-webkit-tap-highlight-color: rgba(0,0,0,0);-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale}

/* Réglages
-------------------------------------------------- */
img{display:block;width:100%;height:auto}
ul,li{list-style: none}
em{font-style:italic;}
strong{font-weight: bold}

/* Liens
-------------------------------------------------- */
a{color:#000;text-decoration:none;outline:0;transition: color .125s ease}
a:hover, a.active{color:black;font-style:italic}
main a:hover{text-decoration: underline;font-style:normal}

/* Site
-------------------------------------------------- */
html{width:100%;height:100%}
body{width:100%;;min-height:100%;background: #EFECEC;color:#000;font-family: Arial, Sans-Serif;}
body, h1, h2, h3, h4{line-height:18px;font-size: 16px;letter-spacing: 0.02rem}
body{overflow-x: hidden;display: flex;flex-flow: column nowrap;align-items: flex-start;}

/* Headings
-------------------------------------------------- */
h1, h2, h3, h4{line-height:inherit;font-size:inherit;display:inline-block;margin-bottom:0;}
h1 a, h2 a, h3 a, h4 a{color:inherit;}

/* Main
-------------------------------------------------- */
header{width:100%;position:sticky;top:0;left:0;z-index:999;background: #EFECEC;display: flex;flex-flow: row wrap;align-items:stretch;justify-content: space-between;}
header article:nth-child(1), header article:nth-child(3){width:20%}
header article:nth-child(2){width:60%;display: flex;flex-flow: row wrap;align-items: center;justify-content: center;}
header article:nth-child(2) ul{display: flex;flex-flow: row wrap;align-items: flex-start;justify-content: center;}
header article:nth-child(2) ul li{display: flex;flex-flow: row wrap;align-items: flex-start;justify-content: center;text-transform: lowercase}
header article h1{font-family: Helvetica;font-size: 31px;line-height: 30px;padding: 11px 15px 9px 18px;}
header article:nth-child(2) ul li a{position: relative;font-size: 20px;font-weight: normal;color: #000;padding: 15px 13px 17px 12px;}
header article:nth-child(3){font-size:17px;padding:0;display: flex;align-items: center;justify-content: flex-end}
header article:nth-child(3) a.active{display: none}
header article:nth-child(3) a{position:relative;white-space: nowrap;position:relative;padding: 6px 15px;display: flex;justify-content: center;align-content: center;align-items: center;}
header article:nth-child(3) a:before{content:'';position:absolute;top:calc(50% - 13px);left:0;width:1px;background: black;height:26px;}
header article:nth-child(3) a:first-child:before{display: none}
header article:nth-child(3) a svg{height:20px}
header article:nth-child(3) a span.quantity{background:white;border-radius:100%;padding: 4px 8px;margin-right:5px;}
header article ul li a.active:not(.edition)::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:8px solid #fff}
header article h1 a:hover, header article:last-child a:hover{font-style:normal}
header.shadow{box-shadow: 0 3px 5px rgba(0 , 0 ,0 , 0.1);}
header article:nth-child(3) .search{position:absolute;top: 43px;width: 620px;height: 55px;background:white;border-radius: 18px;box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);right:268px}
header article:nth-child(3) .search form{border-radius: 18px;display:flex;justify-content:center;height:100%;width:100%;position:relative}
header article:nth-child(3) .search input{outline:0;border-radius: 18px;flex:1;font-family:inherit;letter-spacing:inherit;padding:5px 5px 6px 20px;line-height: 20px;font-size:20px;height:100%;background:white}
header article:nth-child(3) .search button{position:absolute;right:0;height:100%;width: 58px;background:transparent}
header article:nth-child(3) .search button svg{height:22px;width:22px}

#search-results{width:100%;display: flex;flex-flow: column wrap;align-items: flex-start;justify-content: center;position: relative;
top: -13px;box-shadow: 0 10px 10px 0 rgba(0, 0, 0, .1);
border-radius: 0 0 20px 20px;
overflow: hidden;}
#search-results li{background:white;width:100%;display: flex;flex-flow: row wrap;align-items: flex-start;padding-left: 5px;line-height: normal;
font-size: 20px;}
#search-results li a{width:100%;text-align:left;justify-content: flex-start;display: inline-block;
overflow: hidden;text-overflow: ellipsis;}

#search-results li.search-empty{padding-left:20px;padding-top:6px}
#search-results li a:hover{font-style:italic}
#search-results li:last-child{padding-bottom:10px}
#search-results mark {
  background: #ffff94;
  color: inherit;
}

/* nav
-------------------------------------------------- */
nav{background-color:#fff;width:100%;box-shadow:0 1px 3px rgb(0 0 0 / 10%);position:sticky;top:50px;left:0;;z-index:9}
nav h2{width:100%;font-size:20px;line-height:20px;padding:15px 18px}
nav .sorting{display:flex;justify-content:center;padding:10.5px 18px}
nav .sorting a{position:relative;display:block;padding:5px 10px 6px;background-color:#EFECEC;font-size:16px;font-weight:400;margin:0 5px;cursor:pointer}
nav .sorting a:nth-child(1){padding-right:30px}
nav .sorting > a{;text-transform:lowercase}
nav .sorting a:hover,nav .sorting a.active{background-color:#ffff94;text-decoration:none;font-style:normal}
nav .sorting a svg{position:absolute;right:5px;top:2px}

nav.titreedition{box-shadow:0 -3px 3px #0000001a;display:grid;grid-template-columns:1fr 4fr 1fr;position:relative;top:0}
nav.titreedition div{padding:7.5px 20px;grid-column:2 / span 1;display:flex;justify-content:space-between;align-items:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;gap:50px}
nav.titreedition div > span{display:flex;justify-content:flex-start;align-items:center;flex-flow:row nowrap;gap:25px}
nav.titreedition div > span:nth-child(1){display:flex;align-items:center;flex-flow:row nowrap;gap:25px;min-width:0;overflow:hidden;flex:1 1 0}
nav.titreedition div h2{width:auto;padding:0;font-family:Helvetica;font-size:24px;white-space:nowrap;flex-shrink:0;line-height:45px}
nav.titreedition div h3{padding:0;padding-right: 8px;font-family:Helvetica;font-size:24px;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex-shrink:1;line-height:45px}
nav.titreedition div > span:nth-child(2){flex-shrink:0;justify-content:flex-end;align-items:center;min-width:0}
nav.titreedition div span.price{font-size:24px}
button.addtocart{background-color:#ffff94;border-radius:22px;color:#000;cursor:pointer;font-family:Helvetica;font-size:20px;font-weight:400;line-height:17px;padding:0;text-decoration:none;text-transform:none;width:auto;margin:0;margin-top:0;float:left;padding:14px 18px;display:block}
button.addtocart:hover{background-color:#000;color:white}

nav .catList{position:relative;display:inline-block}
nav .catList .catDropdown{display:none;position:absolute;top:100%;left:5px;background:#fff;z-index:10;flex-flow:column;min-width:180px}
nav .catList:hover .catDropdown{display:flex}
nav .sorting a.itemCat{margin:0;cursor:pointer;padding:6px 12px;white-space:nowrap}
nav div.itemCat.trigger{display:block;padding:5px 10px 6px;background-color:#EFECEC;font-size:16px;font-weight:400;margin:0 5px;cursor:pointer}
nav div.itemCat.trigger.active{background-color:#ffff94}
nav .itemCat.selected{font-weight:700}
nav .itemCat:hover{background:#EFECEC}

/* Main
-------------------------------------------------- */
main{width:100%;flex:1;display: flex;flex-flow: column wrap;align-items: flex-start;}

/* Éditions
-------------------------------------------------- */
section.editions{width:100%;padding:7px;display:flex;flex-flow:column wrap;align-items:flex-start;gap:3px}
section.editions h3{font-family:Helvetica;font-size:20px;padding:13px 8px 11px 12px;width:100%;background-color:#fff;display: flex;flex-flow: row wrap;align-items: center;}
section.editions h3 svg{width:18px;height:18px;;margin-right:10px}
section.editions article{width:100%;display:flex;flex-flow:row wrap;align-items:flex-start}
section.editions article ul{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;gap:3px}
section.editions article li{min-width: 0;aspect-ratio:1/1;background:#fff;display:flex;flex-flow:column wrap;align-items:flex-start}
section.editions article li:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 2}
section.editions article li:nth-child(1) a figure figcaption{font-size:20px;line-height:22px}
section.editions article li a{height:100%;width:100%;display:flex;flex-flow:column wrap;align-items:flex-start}
section.editions article li a:hover{background:#EFECEC;font-style:normal;text-decoration: none}
section.editions article li a figure{height:100%;width:100%;display:flex;flex-flow:column wrap;align-items:flex-start}
section.editions article li a figure div{overflow: hidden;flex:1;height:100%;position:relative;width:100%}
section.editions article li a figure div img{width:140%;height:140%;max-width:140%;max-height:140%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);object-fit:contain;-webkit-filter:drop-shadow(3px 4px 2px #00000073);filter:drop-shadow(3px 4px 2px #00000073)}
section.editions article li a figure figcaption{padding:8px 12px;font-size:14px;line-height:16px;letter-spacing:.015rem;width:100%}
section.editions article li a figure figcaption h5{font-style:italic}
section.editions article li a figure figcaption h4,section.editions article li a figure figcaption h5{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
section.editions.limitees article li:nth-child(1){grid-column:1 / span 1;grid-row:1 / span 1;}
section.editions.limitees article ul{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px}
section.editions.limitees article li{aspect-ratio:16/9}
section.editions.limitees article li:nth-child(1) a figure figcaption{font-size:14px;line-height:16px;letter-spacing: inherit}
section.editions.limitees article li a figure div img{width:90%;height:90%;max-width:90%;max-height:90%;}

section.editions.related{padding-top:0}
section.editions.related li:nth-child(1){grid-column:1 / span 1;grid-row:1 / span 1}
section.editions.related li:nth-child(1) a figure figcaption{font-size:inherit;line-height:inherit}
section.editions.related .like{background:transparent}

/* Auteurs
-------------------------------------------------- */
section.auteurs{width:100%}
section.auteurs article{padding:7px;width:100%;display:flex;flex-flow:column wrap}
section.auteurs article .colonne{width:100%}
section.auteurs{width:100%}
section.auteurs article{width:100%;padding:7px;position:relative}
section.auteurs article:after{content:'';position:absolute;top:0;right:0;height:100%;width:7px;background:#EFECEC}
section.auteurs article .listAuteur{width:100%;list-style:none;padding:0;margin:0;column-count:6;column-gap:3px}
section.auteurs article .listAuteur.spacer-top{column-fill:auto;height:23px}
section.auteurs article .listAuteur.spacer-top.bottom li{position:relative}
section.auteurs article .listAuteur.spacer-top.bottom li:after{content:'';position:absolute;background:#fff;top:-100vh;left:0;height:100vh;width:100%;z-index:-1}
section.auteurs article .listAuteur.content{column-fill:auto;overflow:visible}
section.auteurs article .listAuteur li{line-height:23px;padding:0 0 0 15px;font-size:16px;background:#fff;break-inside:avoid}
section.auteurs article .listAuteur li.letter{height:69px;line-height:46px;font-weight:700;display:flex;align-items:center}
section.auteurs article .listAuteur li.letter.first{height:46px;line-height:23px;align-items:flex-start}
section.auteurs article .listAuteur li a{text-decoration:none;color:#000}
section.auteurs article .listAuteur li a:hover{background-color:#ffff94}
.listAuteur-col li a:hover{text-decoration:none;text-decoration: none;background-color: #ffff94;}

/* Auteur
-------------------------------------------------- */
section.pagetexte{flex: 1;padding:7px;width:100%;display: grid;grid-template-columns: 1fr 2fr 1fr;gap:3px}
section.pagetexte article{display:flex;flex-flow:column wrap;align-items:flex-start;background: white;padding: 15px;font-size: 16px;line-height: 20px;}
section.pagetexte article figure{width: 100%}
section.pagetexte article figure figcaption {margin-top:11px;font-size: 12px;line-height: 13px;}

/* Actualités
-------------------------------------------------- */
section.pagetexte.actus{flex: 1;padding:7px;width:100%;display: grid;grid-template-columns: 1fr 2fr 1fr;gap:3px}
section.pagetexte.actus article{display:flex;flex-flow:column wrap;align-items:flex-start;background: transparent;padding: 0;gap:3px;font-size: 16px;line-height: 20px;}
section.pagetexte.actus article > div{display:grid;width: 100%;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr;background: white;padding:15px;gap:15px}
section.pagetexte.actus article:nth-child(1), section.auteur.actus article:nth-child(3){background:transparent}
section.pagetexte.actus article div span:nth-child(1){grid-column:1 / span 4;}
section.pagetexte.actus article div span:nth-child(2){grid-column:5 / span 2}
section.pagetexte.actus article div.container{position:relative}
section.pagetexte.actus article div .titreactu{max-width: calc(100% - 30px);line-height: 1.2;background-color: #ffff94;font-size: 24px;color: #000;display: block;width: fit-content;padding: 3px 8px;z-index:2;position:absolute;top:15px;left:15px}

/* About
-------------------------------------------------- */
section.pagetexte.about article{background:transparent}
section.pagetexte.about article:nth-child(2){background:white;font-size: 20px;line-height:24px}

/* Édition
-------------------------------------------------- */
section.pagetexte.edition{grid-template-columns:1fr 4fr 1fr;padding-bottom:0;min-height:500px;}
section.pagetexte.edition article{}
section.pagetexte.edition article:nth-child(2){background:transparent;padding:0;gap:3px;align-items:stretch;display:grid;grid-template-columns:calc(75% + 0px) calc(25% - 3px)}
section.pagetexte.edition article:nth-child(2) > div{background:#fff;padding:15px}
section.pagetexte.edition article:nth-child(2) > div:nth-child(1){letter-spacing: 0.0015rem !important;font-family:Helvetica;font-size:17px;line-height:24px}
section.pagetexte.edition article:nth-child(2) > div:nth-child(2){font-family:Helvetica;font-size:14px;line-height:18px;padding:18px 18px 15px}
section.pagetexte.edition article:nth-child(2) > div:nth-child(2) .mediastalking{position: relative;margin-top:18px;padding-top:18px;}
section.pagetexte.edition article:nth-child(2) > div:nth-child(2) .mediastalking:after{position: absolute;top:0;left:-20px;height:3px;width:calc(100% + 38px);background:#EFECEC;content: ''}
section.pagetexte.edition article:nth-child(2) select{width:100%;font-size:14px;padding:3px 5px 5px;background-color:#fff;border:1px solid #efecec}
.sectionposition{background:#EFECEC;position:relative;top:73vh}

/* Contact
-------------------------------------------------- */
section.pagetexte.contact article{background:transparent;padding:0}
section.pagetexte.contact article:nth-child(2){background:transparent;display: grid;grid-template-columns: 1fr 1fr;gap:3px;align-items: stretch;}
section.pagetexte.contact article:nth-child(2) > div{padding:15px;background:white;font-size: inherit;line-height:inherit;}
section.pagetexte.contact article .honeypot{position:absolute;left:-9999px}
section.pagetexte.contact article .field label:not(.show){display:none}
section.pagetexte.contact article .field input,.field textarea{width:100%;font-size:16px;color:#000;border:0;border-bottom:1px solid #EFECEC;padding:5px 0;margin-bottom:10px;font-family:inherit;line-height:inherit;resize:none}
section.pagetexte.contact article .field input:focus,.field textarea:focus{outline:0}
section.pagetexte.contact article .field textarea{min-height:320px;border:1px solid #EFECEC;padding:5px 10px}
main input[type="submit"], main button.browse{display:inline-block;background-color:#fff;color:#000;border-radius:15px;font-size:16px;padding:5px 20px;border:1px solid #000;margin-top:10px}
main input[type="submit"]:hover, main button.browse:hover{background:#efecec;cursor:pointer}
section.pagetexte.contact article .help{display:block;font-size:.875rem;color:#666}
section.pagetexte.contact article .alert{padding:1rem;margin-bottom:1rem;border-radius:4px}
section.pagetexte.contact .alert.error{background:#fee;color:#c00}
section.pagetexte.contact .alert.success{background:#efe;color:#0a0}
section.pagetexte.contact article ::placeholder{color:#999}
section.pagetexte.contact article input:focus::placeholder{opacity:.5}

/* Pagination
-------------------------------------------------- */
nav.pagination{display:flex;justify-content:center;padding:10.5px 18px}
nav.pagination a,.pagination-ellipsis{aspect-ratio: 1/1;position:relative;display:block;padding:5px 10px 6px;background-color:#EFECEC;font-size:16px;font-weight:400;margin:0 5px}
nav.pagination .pagination-ellipsis{padding:5px 6.5px 6px}
nav.pagination a.active,nav.pagination a:hover{background-color:#ffff94;font-style:normal;text-decoration:none}

/* Footer
-------------------------------------------------- */
footer{padding: 10.5px 7px;;color: #EFECEC;font-family: Helvetica;font-size: 17px;width:100%;background:#000;color:#fff;display: flex;flex-flow: row wrap;align-items: flex-start;justify-content:space-between;gap:18px}
footer article{display: flex;flex-flow: row wrap;align-items: flex-start;align-items: center;}
footer article:nth-child(1){padding: 10.5px 7px;}
footer article:nth-child(1) div:nth-child(1){padding-left: 4px;padding-right: 37.5px;}
footer article:nth-child(1) div {padding: 0 12.5px;display: flex;flex-flow: row wrap;align-items: flex-start;}
footer article:nth-child(2){padding: 10.5px 7px;justify-content: center;align-content: center;display: flex;gap:20px}
footer article a{color:white}
footer article a:hover{color:white;text-decoration: underline;font-style: normal}
footer article svg{width:30px;margin: 0 12.5px;}
footer article form{padding-right:8px;display: flex;flex-flow: row wrap;align-items: flex-start;align-items: center;}
footer article form input[type="email"]{background-color:#000;border:0;color:#fff!important;line-height:24px;font-size:16px;width:200px}
footer article form input[type="email"]:focus{outline:0}
footer article form input[type="submit"]{background-color:#000;border:1px solid #fff;color:#fff!important;border-radius:23px;padding:7px 15px 8px;font-size:16px;cursor:pointer}
footer article a.active{color:white;font-style: normal;text-decoration: underline}
footer.margin{position: relative;top: 73vh;}


/* Cart
-------------------------------------------------- */
/* Cart
-------------------------------------------------- */
section.cart{flex: 1;padding: 7px;width: 100%;display: grid;grid-template-columns: 1fr 2fr 1fr;gap: 3px;}
section.cart article{display:flex;flex-flow:column wrap;align-items:flex-start;font-size:16px;line-height:20px}
section.cart article:nth-child(2){background:white}

/* Table */
section.cart table.cart-table{width:100%;background:#fff;border-collapse:collapse}
section.cart table.cart-table thead th{white-space: nowrap;text-align:left;padding:15px 30px;border-bottom:3px solid #EFECEC;;text-transform:lowercase;letter-spacing:0.02rem}
section.cart table.cart-table tbody tr{border-bottom:3px solid #EFECEC}
section.cart table.cart-table tbody td{padding:0 30px;vertical-align:middle}
section.cart table.cart-table thead th:nth-child(2){width:100%}
/* Boutons ronds — style unifié */
section.cart .cart-delete button,
section.cart .cart-quantity form button{background:#EFECEC;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
section.cart .cart-delete button:hover,
section.cart .cart-quantity form button:hover{background:#ffff94}
section.cart .cart-delete button svg,
section.cart .cart-quantity form button svg{fill:#000}

/* Colonne produit */
section.cart .cart-product a{display:flex;flex-flow:row nowrap;align-items:center;gap:15px;text-decoration:none;padding:10px 0}
section.cart .cart-product a:hover{text-decoration:none;font-style:normal}
section.cart .cart-product img{width:auto;height:85px;object-fit:contain;display:block;flex-shrink:0}
section.cart .cart-product div{display:flex;flex-flow:column wrap;justify-content:center}
section.cart .cart-product em{font-style:italic}

/* Colonne quantité */
section.cart table.cart-table tbody td.cart-quantity-cell{vertical-align:middle}
section.cart .cart-quantity{display:flex;flex-flow:row nowrap;align-items:center;gap:8px}
section.cart .cart-quantity span{min-width:24px;text-align:center}

/* Colonne prix */
section.cart .cart-price{white-space:nowrap}
section.cart td.cart-total{white-space:nowrap;font-weight:bold}

/* Tfoot */
section.cart table.cart-table tfoot td{padding:7.5px 30px}
section.cart table.cart-table tfoot tr.cart-shipping td{padding-top: 30px;border-top:3px solid #EFECEC;color:#000;white-space: nowrap;}
section.cart table.cart-table tfoot tr.cart-ht td,
section.cart table.cart-table tfoot tr.cart-tva td{color:#000;}
section.cart table.cart-table tfoot tr.cart-tva td{padding-bottom: 30px;vertical-align: top;}
section.cart table.cart-table tfoot tr.cart-total-row td{border-top:3px solid #EFECEC;padding-top:30px}
section.cart table.cart-table tfoot tr.cart-total-row td:last-child{white-space:nowrap}

/* Actions tfoot */
section.cart table.cart-table tfoot tr:last-child td{padding-top:30px;padding-bottom:15px}
section.cart table.cart-table tfoot a:not(.submit):hover{text-decoration:underline;font-style:normal}
section.cart table.cart-table tfoot form{display: flex;flex-flow: row nowrap;justify-content: flex-end}
section.cart table.cart-table tfoot button[type="submit"], .return.submit{display: inline-flex;background-color:#ffff94;border:none;border-radius:30px;cursor:pointer;font-size:18px;padding:12px 25px;gap:15px;justify-content: center;flex-flow:row nowrap;align-items: center}
section.cart table.cart-table tfoot button[type="submit"]:hover{background-color:#000;color:#fff;text-decoration:none}
section.cart table.cart-table tfoot button[type="submit"]:hover svg{filter: invert(100%)}
section.cart table.cart-table tfoot button[type="submit"]:disabled{background-color:#EFECEC;color:#999;cursor:not-allowed}
.return, button.submit, .submit{background-color:#EFECEC;border:none;border-radius:30px;cursor:pointer;font-size:18px;padding:12px 25px;display:inline-flex;gap:15px;justify-content: center;flex-flow:row nowrap;align-items: center}
section.cart table.cart-table tfoot .return:not(.submit):hover{background-color:#ffff94;text-decoration: none}
section.cart table.cart-table tfoot .return:not(.submit) svg{transform: rotate(180deg)}
.return.submit:hover{background:black;color:white;text-decoration:none}
.return.submit:hover svg{filter:invert(100%)}

/* Panier vide */
section.cart > p{grid-column:1 / span 3;padding:30px;background:#fff;font-size:18px}
section.cart > a{grid-column:1 / span 3;padding:10px 0;font-size:14px;color:#666}

/* Stock warning */
.stock-warning{color:#c00;font-size:13px;margin-top:5px}

.cart-empty {
   width: 100%;
   height: 100%;
   display: flex;
   flex: 1;
   flex-flow: column nowrap;
   justify-content: center;
   align-items: center;font-size:20px
}
.cart-empty a{margin:30px 0;background-color:#ffff94;border:none;border-radius:30px;cursor:pointer;font-size:18px;padding:12px 25px;display:inline-flex;gap:15px;justify-content: center;flex-flow:row nowrap;align-items: center}
.cart-empty a:hover{background-color:#fff;text-decoration:none!important}

.payment-account {
  
   border-top: 3px solid #EFECEC;
   width: 100%;
   padding: 30px 30px 15px;
}

.payment-account-note {
   opacity: 0.6;
}

.payment-actions {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   padding: 30px 30px 15px;;
}

.payment-button {
   display: inline-flex;
   align-items: center;
   gap: 0.5rem;
}

.payment-secure {
   display: flex;
   align-items: center;
   gap: 0.4rem;
   padding: 7.5px 30px 30px;;
   font-size: 0.75em;
   opacity: 0.5;
   justify-content: flex-end;
}

.cart-table--readonly col.col-delete { visibility: hidden; }
.cart-table--readonly .cart-delete   { visibility: hidden; }



/* Login
-------------------------------------------------- */
section.cart.login{grid-template-columns:1fr 2fr 1fr}
section.cart.login article:nth-child(2){background:none}
section.cart.login .login-grid{align-content: stretch;align-items: stretch;display:grid;grid-template-columns:1fr 1fr;gap:3px;width:100%}
section.cart.login .login-credentials{display:grid;grid-template-columns:1fr 1fr;gap:3px;grid-column:1 / span 2;align-items:stretch}
section.cart.login .login-credentials .login-box{flex:1;height:100%}
section.cart.login .login-box{background:#fff;padding:15px;display:flex;flex-flow:column nowrap;align-items:center;gap:10px}
section.cart.login .login-magic{grid-column:1 / span 2}
section.cart.login h2{font-size:18px;margin-bottom:30px}
section.cart.login form{display:flex;flex-flow:column wrap;align-items:center;gap:10px;width:100%}
section.cart.login form input[type="email"],
section.cart.login form input[type="password"]{width:100%;font-size:16px;color:#000;border:0;border-bottom:1px solid #EFECEC;padding:5px 0;font-family:inherit;line-height:inherit}
section.cart.login form input:focus{outline:0}
section.cart.login form input::placeholder{color:#999}
section.cart.login form button[type="submit"]{background-color:#ffff94;border:none;border-radius:22px;cursor:pointer;font-size:18px;padding:12px 25px;margin-top:60px}
section.cart.login form button[type="submit"]:hover{background-color:#000;color:#fff}
section.cart.login form button.connect{margin-top:71px}
section.cart.login form a{font-size:14px;color:#666}
section.cart.login form a:hover{color:#000;text-decoration:underline;font-style:normal}
nav .error{width:100%;position:absolute;top:0;left:0;color:#c00;font-size:14px;display: flex;
   justify-content: center;
   align-items: center;height:100%}
nav .success{width:100%;position:absolute;top:0;left:0;color:#060;font-size:14px;display: flex;
   justify-content: center;
   align-items: center;height:100%}

/* Account
-------------------------------------------------- */
section.cart.login.account .login-credentials {
   display: grid;
   grid-template-columns: 1fr;
   gap: 3px;
   align-items: stretch;
}
section.cart.account table.cart-table tbody td {
   padding: 15px;
}
section.cart.login.account form button[type="submit"] {

   margin-top: 30px;
}
section.cart.login.account .login-credentials {

   align-items: flex-start;
}
section.cart.login.account .login-grid {
   align-content: flex-start;
   align-items: flex-start;}
section.cart.login.account article:nth-child(2) {
   background: white;gap:0;
}
section.cart.login.account .login-credentials .login-box {
   border-bottom:3px solid #EFECEC
}
section.cart.login.account .login-credentials .login-box:nth-child(2) {
   padding:15px 0 15px
}
section.cart.account table.cart-table tbody tr:last-child {
   border-bottom: 0
}
section.cart.account table.cart-table thead th:nth-child(2) {
   width: auto;
}


/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled{position:relative}.flickity-enabled:focus{outline:0}.flickity-viewport{overflow:hidden;position:relative;height:100%}.flickity-slider{position:absolute;width:100%;height:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-button{position:absolute;background:hsla(0,0%,100%,.75);border:none;color:#333}.flickity-button:hover{background:#fff;cursor:pointer}.flickity-button:focus{outline:0;}.flickity-button:active{opacity:.6}.flickity-button:disabled{opacity:.3;cursor:auto;pointer-events:none}.flickity-button-icon{fill:currentColor}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}.flickity-prev-next-button .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-page-dots{position:absolute;width:100%;bottom:-25px;padding:0;margin:0;list-style:none;text-align:center;line-height:1}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;background:#333;border-radius:50%;opacity:.25;cursor:pointer}.flickity-page-dots .dot.is-selected{opacity:1}
.carouselhome{position:relative;width:100%;display:flex;flex-flow:column wrap;align-items:flex-start}
.carouselhome.edition{position: fixed;z-index:0;}
.carousel{width:100%;height:84vh;overflow:hidden}
.carousel-cell{width:100%;height:100%;overflow:hidden}
.carousel-cell-image{display:block;width:100%;height:100%;opacity:0;object-fit:cover;-webkit-transition:opacity .4s;transition:opacity .4s}
.carousel-cell-image.flickity-lazyloaded,.carousel-cell-image.flickity-lazyerror{opacity:1}
.flickity-prev-next-button.previous{left:0;cursor:w-resize}
.flickity-prev-next-button.next{right:0;cursor:e-resize}
.flickity-prev-next-button.next:hover{cursor:e-resize}
.flickity-prev-next-button.previous:hover{cursor:w-resize}
.flickity-button:hover{background:transparent;cursor:pointer}
.flickity-prev-next-button{top:0;width:50%;height:calc(100% - 170px);border-radius:0;transform:none;outline:0;box-shadow:none}
.flickity-button{position:absolute;background:transparent;border:none;color:transparent}
.caption{padding:40px 40px 60px;position:absolute;bottom:0;left:0;display:flex;flex-flow:column wrap;align-items:flex-start}
.caption h2,.caption h3{font-family:Helvetica;font-size:42px;line-height:45px}
.caption h2{background:#000;color:#fff;padding:5px 12px}
.caption h3{background:#fff;color:#000;padding:5px 12px}
.caption h2 a:hover, .caption h3 a:hover{text-decoration:none;color:inherit}
.carousel-counter{position:absolute;bottom:0;left:40px;padding:5px 6px 3px;width:auto!important;color:#fff;background-color:#000;font-family:Helvetica;font-size:16px}
.carousel.edition{width:100%;height:73vh;overflow:hidden}
.carousel.edition .carousel-cell-image{object-fit:contain;width: 100%;height:100%}
.carousel.edition .carousel-cell-image{-webkit-filter:drop-shadow(8px 12px 9px rgba(0,0,0,0.35)) drop-shadow(3px 5px 3px rgba(0,0,0,0.62));filter:drop-shadow(8px 12px 9px rgba(0,0,0,0.35)) drop-shadow(3px 5px 3px rgba(0,0,0,0.62))}
.carousel-counter-edition{position:absolute;bottom:0;right:0;width:auto!important;color:#fff;background-color:#000;font-family:Helvetica;font-size:16px}
.carousel-counter-edition p{padding:5px 6px 3px}
.carousel-cell-bg{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.5;z-index:-1}
.carousel-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;border:1px solid #00000026;border-top-color:#000f;border-radius:50%;animation:spin .7s linear infinite;pointer-events:none;display:block}
@keyframes spin {to{transform:translate(-50%,-50%) rotate(360deg)}}
.carousel-cell.is-loaded .carousel-spinner{display:none}

/* Plyr
-------------------------------------------------- */
.video-container{width:100%;margin-top:1em}
.plyr__video-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}
.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%}

/* Lazyload
-------------------------------------------------- */
.lazyload, .lazyloading {opacity: 0;}
.lazyloaded {opacity: 1;transition: opacity .25s;}

/* Hide desktop
-------------------------------------------------- */
header article:nth-child(3) a.button-menu{display: none}
nav.mobile, nav.edition{display: none}

/*--------------------------------------
-   MEDIA QUERIES
---------------------------------------*/
@media screen and (max-width: 1400px){
   section.editions article ul {grid-template-columns: 1fr 1fr 1fr 1fr 1fr}
   header article:nth-child(2) ul li a {font-size: 16px; padding: 16px 9px}
   footer article:nth-child(2){order:3;width: 100%;gap: 10px;}
   footer {gap:0}
   .listAuteur-grid {grid-template-columns: repeat(4, 1fr);}
   nav.titreedition div{grid-column: 1 / span 3}


   section.cart.account table.cart-table thead th:nth-child(1), section.cart.account table.cart-table tbody tr td:nth-child(1),
   section.cart.account table.cart-table thead th:nth-child(2), section.cart.account table.cart-table tbody tr td:nth-child(2) {
  display:none
}
   

}

@media screen and (max-width: 1024px){
   header article:nth-child(1), header article:nth-child(3){width:50%}
   header article h1 {font-size: 26px;}
   header article:nth-child(2){display: none}
   header article:nth-child(3) a svg.cart{display: none}
   header article:nth-child(3) a:nth-child(2){display:none}
   header article:nth-child(3) a{padding: 6px 10px}
   header article:nth-child(3) a span.quantity{margin:0}
   header article:nth-child(3) a.button-menu{display: flex}
   header article:nth-child(3) a.button-menu .open{display: none}

   nav.mobile{z-index: 999;display:flex;box-shadow: 0 0 20px #EFECEC;flex-flow:column wrap;align-items:flex-start;position: fixed;top:50px;left:calc(100% + 20px);right:0;bottom:0;background:white;transition:left .5s ease}
   nav.mobile.active{left:0;}
   nav.mobile article{width:100%}
   nav.mobile ul{width:100%;display:flex;flex-flow:column wrap;align-items:flex-start}
   nav.mobile ul li{width:100%;font-size: 22px;font-weight: normal;color: #000;padding: 12px 0 15px 18px;border-bottom: 2px solid #efecec;text-transform: none;letter-spacing: 0.02rem;text-transform: lowercase}
   nav.mobile article:nth-child(2){flex:1;padding: 12px 0 15px 18px;gap:12px;display: flex;flex-flow:row wrap;align-items:flex-start}
   nav.mobile article:nth-child(2) button{display: inline-block;font-size: 18px;background-color: #fff;border: 1px solid #000;border-radius: 23px;padding: 11px 17px 13px;margin-top: 7px;line-height: 17px;}
   nav.mobile article:nth-child(2) button:nth-child(2){background-color: #ffff94;border-color:#ffff94}

   nav.mobile article:nth-child(3){padding: 12px 0 15px 18px;width:100%;display:flex;flex-flow:row wrap;align-items:flex-start;gap:12px}

   section.editions article ul{grid-template-columns:1fr 1fr 1fr}
   section.pagetexte{grid-template-columns:1fr}
   .listAuteur-grid {grid-template-columns: repeat(3, 1fr);}
   section.editions.limitees article ul{grid-template-columns:1fr 1fr}
   section.pagetexte.actus{grid-template-columns:1fr!important}
   section.pagetexte.about article:not(:nth-child(2)),section.pagetexte.actus article:not(:nth-child(2)){display:none}

   footer article:nth-child(1),footer article{padding:7px;width:100%;gap:0;justify-content:space-between}
   footer article svg{display:none}
   footer article:nth-child(1) div:nth-child(1){padding-left:0;padding-right:0}
   footer article form{padding-right:0;width:100%;justify-content:space-between}
   footer article:nth-child(1) div{padding:0}

   section.pagetexte.edition {grid-template-columns: 1fr;}
   section.pagetexte.edition article:nth-child(1), section.pagetexte.edition article:nth-child(3) {display: none}
   nav.titreedition {grid-template-columns: 1fr;}
   nav.titreedition div {grid-column: 1 / span 1;}

   section.auteurs article .listAuteur {column-count: 5;}
   
   
    /* ── Layout général ── */
  section.cart {
    grid-template-columns: 0fr 2fr 0fr;
  }

  /* ── Thead masqué ── */
  section.cart table.cart-table thead {
    display: none;
  }

  /* ── Table et tbody en block ── */
  section.cart table.cart-table,
  section.cart table.cart-table tbody {
    display: block;
    width: 100%;
  }

  /* ── Chaque ligne en flex-wrap ── */
  section.cart table.cart-table tbody tr {
    display: flex;
    flex-flow: row wrap;
    position: relative;
    padding: 15px 20px;
    border-bottom: 3px solid #EFECEC;
    box-sizing: border-box;
    width: 100%;
  }

  /* ── Produit : pleine largeur ── */
  section.cart table.cart-table tbody td.cart-product {
    width: calc(100% - 40px);
    padding: 0;
  }

  section.cart .cart-product a {
    gap: 12px;
  }

  section.cart .cart-product img {
    height: 70px;
  }

  /* ── Bouton suppression en absolu ── */
  section.cart table.cart-table tbody td.cart-delete {
    display: block;
    position: absolute;
    top: 15px;
    right: 20px;
    padding: 0;
    width: auto;
  }

  /* ── Prix / quantité / total : tiers égaux ── */
  section.cart table.cart-table tbody td.cart-price,
  section.cart table.cart-table tbody td.cart-quantity-cell,
  section.cart table.cart-table tbody td.cart-total {
    display: flex;
    align-items: center;
    width: 33.333%;
    padding: 10px 0 0 0;
    box-sizing: border-box;
  }

  section.cart table.cart-table tbody td.cart-price {
    justify-content: flex-start;
  }

  section.cart table.cart-table tbody td.cart-quantity-cell {
    justify-content: center;
  }

  section.cart table.cart-table tbody td.cart-total {
    justify-content: flex-end;
  }

  /* ── Tfoot ── */
  section.cart table.cart-table,
  section.cart table.cart-table tfoot,
  section.cart table.cart-table tfoot tr {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  section.cart table.cart-table tfoot tr {
    display: flex;
    flex-flow: row wrap;
  }

  section.cart table.cart-table tfoot td {
    display: block;
    box-sizing: border-box;
    padding-left: 20px;
    padding-right: 20px;
  }

  /* td décoratifs vides masqués */
  section.cart table.cart-table tfoot td[colspan="3"]:empty {
    display: none;
  }

  /* Lignes shipping / HT / TVA / total : 50% chacun */
  section.cart table.cart-table tfoot tr.cart-shipping td:not(:empty),
  section.cart table.cart-table tfoot tr.cart-ht td:not(:empty),
  section.cart table.cart-table tfoot tr.cart-tva td:not(:empty),
  section.cart table.cart-table tfoot tr.cart-total-row td:not(:empty) {
    width: 50%;
  }

  section.cart table.cart-table tfoot tr.cart-shipping td:last-child,
  section.cart table.cart-table tfoot tr.cart-ht td:last-child,
  section.cart table.cart-table tfoot tr.cart-tva td:last-child,
  section.cart table.cart-table tfoot tr.cart-total-row td:last-child {
    text-align: right;
    white-space: normal;
  }

  section.cart table.cart-table tfoot tr.cart-shipping td {
    border-top: 0;
  }

  /* Dernière ligne : boutons en colonne */
  section.cart table.cart-table tfoot tr:last-child {
    flex-direction: column;
    gap: 0;
    padding: 30px 0;
  }

  section.cart table.cart-table tfoot tr:last-child td {
    width: 100%;
    text-align: center;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  section.cart table.cart-table tfoot tr:last-child td[style] {
    text-align: center !important;
  }

  section.cart table.cart-table tfoot form {
    justify-content: center;
  }

  .return,
  section.cart table.cart-table tfoot button[type="submit"] {
    width: 100%;
    font-size: 16px;
  }
   
   
   
   
   
   section.cart.login {
  grid-template-columns: 0fr 2fr 0fr;
}
   
   section.cart.login .login-credentials {
  display: flex;flex-flow:column nowrap;
  gap: 3px;
  align-items: stretch;
}
   section.cart.login form button.connect {
  margin-top: 20px;
}
   section.cart.login form button[type="submit"] {
  margin-top: 20px;
}
   
   
   
    section.cart.account table.cart-table thead th:nth-child(1), section.cart.account table.cart-table tbody tr td:nth-child(1),
   section.cart.account table.cart-table thead th:nth-child(2), section.cart.account table.cart-table tbody tr td:nth-child(2) {
  display:table-row
}
   
   
   
  /* ── Tableau commandes ── */
  section.cart .account-orders table.cart-table {
    display: block;
    width: 100%;
  }

  section.cart .account-orders table.cart-table thead {
    display: none;
  }

  section.cart .account-orders table.cart-table tbody {
    display: block;
    width: 100%;
  }

  section.cart .account-orders table.cart-table tbody tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 15px;
    border-bottom: 3px solid #EFECEC;
    width: 100%;
    box-sizing: border-box;
  }

  section.cart .account-orders table.cart-table tbody td {
    display: block;
    padding: 2px 0;
    box-sizing: border-box;
  }

 

  section.cart .account-orders table.cart-table tbody td:nth-child(2) {
    text-align: right;
  }

  /* Produit pleine largeur */
  section.cart .account-orders table.cart-table tbody td:nth-child(3) {
    grid-column: 1 / -1;
  }

  section.cart .account-orders table.cart-table tbody td:nth-child(5) {
    font-weight: bold;
    text-align: right;
  }

  /* Facture + commande côte à côte */
  section.cart .account-orders table.cart-table tbody td:nth-child(6) {
    padding-top: 15px;
  }

  section.cart .account-orders table.cart-table tbody td:nth-child(7) {
    padding-top: 15px;
    text-align: right;
  }
    header article:nth-child(3) .search {
  position: absolute;
  top: 45px;
  width: calc(100% - 14px);
  right: 7px;
  left: 7px;
}
   #search-results li {padding-right: 5px;
      padding-left: 10px;}
   
}

@media screen and (max-width: 680px){
   header article a.login{border:1px solid;display: none}
   section.editions article ul {grid-template-columns: 1fr 1fr}
   .listAuteur-grid {grid-template-columns: repeat(1, 1fr);}
   section.editions.limitees article ul {grid-template-columns: 1fr}
   section.pagetexte.edition article:nth-child(2) {grid-template-columns: 1fr;}
   section.pagetexte.edition article:nth-child(2) > div:nth-child(2) {padding:15px;}
   nav.edition{display: inline-block;background-color: #ffff96;padding: 10px 0;z-index: 99;}
   nav.edition h2, nav.edition h3{;font-size: 26px;width:100%;padding:0 15px;line-height: 1;}
   nav.edition h3{font-style: italic;overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;}
   nav.titreedition div > span:nth-child(1){display: none}
   nav.titreedition div > span:nth-child(2) {flex: 1;}
   .carousel.edition {height: 45vh;}
   .sectionposition, footer.margin {top: 45vh}
   .carouselhome.edition {top: 126px;}
   section.pagetexte.edition article:nth-child(2) > div {word-break: break-word;}
   section.pagetexte.actus article div span:nth-child(1), section.pagetexte.actus article div span:nth-child(2) {grid-column: 1 / span 12;}
   section.pagetexte.contact article:nth-child(2) {grid-template-columns: 1fr;}

   section.auteurs article .listAuteur {column-count:2}
   
  
   
   
}

