/*
Theme Name: Éditions Coppelius V7
Theme URI: https://editions.coppelius.fr/
Author: Compagnie Coppelius
Description: Thème WordPress sur mesure des Éditions Coppelius : bleu nuit, or, ornements célestes raffinés, contenu éditable et structure éditoriale très simple.
Version: 7.10.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: coppelius-editions
*/

:root{
  --navy:#062b46;
  --navy-deep:#001c31;
  --navy-panel:rgba(3,38,62,.86);
  --gold:#e0a43d;
  --gold-soft:#e9bb65;
  --ivory:#f5eee3;
  --muted:#dacbb7;
  --line:rgba(224,164,61,.8);
  --content:1040px;
  --serif:"Cormorant Garamond",Georgia,serif;
  --display:"Cormorant Garamond",Georgia,serif;
  --sep-h:url('assets/ornaments/separator-h.png');
  --sep-v:url('assets/ornaments/separator-v.png');
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ivory);
  background:var(--navy-deep) url('assets/images/bg-plain.webp') center top/cover fixed;
  font-family:var(--serif);
  font-size:19px;
  line-height:1.62;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:"";
  position:fixed;
  inset:0 0 auto 0;
  height:78vh;
  pointer-events:none;
  z-index:-2;
  background:url('assets/images/bg-stars.webp') center top/cover no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 47%,rgba(0,0,0,.9) 60%,rgba(0,0,0,.42) 80%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 47%,rgba(0,0,0,.9) 60%,rgba(0,0,0,.42) 80%,transparent 100%);
}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
img{max-width:100%;height:auto;display:block}

.site-shell{min-height:100vh;overflow:hidden}
.site-header{max-width:1180px;margin:0 auto;padding:28px 28px 10px}
.header-stage{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) 170px;
  gap:28px;
  align-items:center;
  min-height:270px;
}
.brand-cat-link{align-self:center;justify-self:center}
.brand-cat{width:145px;max-height:245px;object-fit:contain;filter:drop-shadow(0 0 9px rgba(224,164,61,.12))}
.brand-center{text-align:center;padding-top:12px}
.brand-title{
  margin:0;
  color:var(--gold-soft);
  font-family:var(--display);
  font-size:clamp(3rem,5.7vw,5rem);
  font-weight:500;
  letter-spacing:.01em;
  line-height:.98;
  text-transform:uppercase;
}
.brand-tagline{margin:12px 0 20px;color:var(--ivory);font-size:clamp(1.05rem,1.7vw,1.35rem);font-style:italic;letter-spacing:.01em}
.brand-moon{justify-self:center;width:118px;opacity:.98;filter:drop-shadow(0 0 7px rgba(224,164,61,.12))}
.header-side{justify-self:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.instagram-link{display:inline-flex;align-items:center;gap:9px;color:var(--gold-soft);font-size:1.02rem;letter-spacing:.04em;line-height:1;transition:.2s ease}
.instagram-link:hover{color:#ffd58c}
.instagram-icon{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;flex:0 0 28px}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:38px;flex-wrap:wrap}
.site-nav a{position:relative;display:inline-block;padding:6px 0 13px;font-size:1rem}
.site-nav a::before,.site-nav a::after{content:"";position:absolute;bottom:3px;height:1px;width:0;background:var(--gold);transition:.2s ease}
.site-nav a::before{right:52%}.site-nav a::after{left:52%}
.site-nav a:hover::before,.site-nav a:hover::after,.site-nav .current-menu-item a::before,.site-nav .current-menu-item a::after,.site-nav a[aria-current="page"]::before,.site-nav a[aria-current="page"]::after{width:44%}
.site-nav .current-menu-item a::after{box-shadow:0 0 0 0 transparent}

.celestial-divider,.footer-divider{
  max-width:1180px;
  margin:0 auto;
  height:34px;
  position:relative;
  background:var(--sep-h) center/360px auto no-repeat;
}

main{max-width:var(--content);margin:26px auto 72px;padding:0 20px}

.ornate-panel{
  position:relative;
  margin:0 0 26px;
  padding:clamp(44px,6vw,72px) clamp(36px,7vw,90px);
  background:
    url('assets/ornaments/corner-tl-clean.png') left 8px top 8px/108px auto no-repeat,
    url('assets/ornaments/corner-tr-clean.png') right 8px top 8px/108px auto no-repeat,
    url('assets/ornaments/corner-br-clean.png') right 8px bottom 8px/108px auto no-repeat,
    url('assets/ornaments/corner-bl-clean.png') left 8px bottom 8px/108px auto no-repeat,
    linear-gradient(180deg,rgba(3,42,68,.84),rgba(1,30,51,.82));
  border:1px solid rgba(224,164,61,.92);
  box-shadow:inset 0 0 0 6px rgba(224,164,61,.03),0 14px 38px rgba(0,0,0,.08);
}
.ornate-panel::before{
  content:"";
  position:absolute;
  inset:9px;
  border:1px solid rgba(224,164,61,.45);
  pointer-events:none;
}
.ornate-panel--compact{padding-top:32px;padding-bottom:34px}
.panel-title{
  margin:0;
  text-align:center;
  color:var(--gold-soft);
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(2.8rem,5.3vw,4.6rem);
  line-height:1.04;
}
.panel-kicker{text-align:center;text-transform:uppercase;color:var(--gold-soft);letter-spacing:.23em;font-size:.7rem;margin:0 0 13px}
.ornament-rule{
  width:min(360px,72%);
  height:34px;
  margin:12px auto 26px;
  background:var(--sep-h) center/contain no-repeat;
}

.wp-content,.prose{max-width:700px;margin:0 auto;font-size:1.08rem}
.wp-content p,.prose p{margin:0 0 1.2em}
.wp-content p:last-child,.prose p:last-child{margin-bottom:0}
.wp-content a,.prose a{color:var(--gold-soft);border-bottom:1px solid rgba(224,164,61,.42);transition:.2s ease}
.wp-content a:hover,.prose a:hover{color:#ffd58c;border-color:#ffd58c}
.wp-content h2,.wp-content h3{color:var(--gold-soft);font-weight:500;font-family:var(--display)}
.wp-content h2{font-size:2rem;margin:1.2em 0 .45em}.wp-content h3{font-size:1.5rem}

.about-panel .wp-content{position:relative}
.about-panel .wp-content::before,
.about-panel .wp-content::after{display:none}

.contact-panel{padding-top:34px;padding-bottom:42px}
.contact-title{font-size:clamp(2.5rem,4vw,3.7rem)}
.contact-grid{display:grid;grid-template-columns:1fr 1px 1.25fr;gap:42px;align-items:center;max-width:720px;margin:0 auto}
.contact-divider{
  width:36px;
  height:150px;
  background:var(--sep-v) center/contain no-repeat;
}
.contact-name{color:var(--gold-soft);font-size:1.32rem;line-height:1.4}
.contact-links{display:grid;gap:12px}
.contact-row{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:center}
.contact-icon{width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold-soft);font-size:1.05rem}
.contact-row a{border-bottom:1px solid rgba(224,164,61,.32);width:max-content;max-width:100%}
.contact-row a:hover{color:var(--gold-soft)}

.books-grid{display:grid;grid-template-columns:minmax(220px,310px) minmax(0,1fr);gap:48px;align-items:center}
.book-cover{padding:8px;border:1px solid rgba(224,164,61,.56);background:rgba(0,18,33,.4);box-shadow:0 18px 50px rgba(0,0,0,.25)}
.book-meta .eyebrow{color:var(--gold-soft);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem}
.book-meta h2{font-family:var(--display);font-weight:500;color:var(--gold-soft);font-size:clamp(2.4rem,4.5vw,4rem);line-height:1;margin:.38rem 0 .45rem}
.book-meta .author{font-size:1.16rem;margin:0 0 1.1rem}
.button-gold{display:inline-block;margin-top:14px;padding:11px 18px;border:1px solid var(--gold);color:var(--ivory);background:rgba(0,14,27,.25);transition:.2s ease}
.button-gold:hover{background:var(--gold);color:var(--navy-deep)}
.helloasso-frame{margin-top:34px;padding-top:26px;border-top:1px solid rgba(224,164,61,.38)}
.helloasso-frame iframe{width:100%;min-height:260px;border:0;background:white}
.collection-section{max-width:740px;margin:0 auto}.collection-section h2{color:var(--gold-soft);font-weight:500;font-size:2rem}
.small-caps{text-transform:uppercase;letter-spacing:.18em;color:var(--gold-soft);font-size:.72rem;text-align:center}

.site-footer{max-width:1180px;margin:0 auto;padding:0 28px 38px;color:var(--muted)}
.footer-moons{text-align:center;color:var(--gold-soft);font-size:2rem;letter-spacing:.26em;line-height:1;margin:0 0 20px;opacity:.95}
.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:.74rem;text-transform:uppercase;letter-spacing:.18em}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer-links a:hover{color:var(--gold-soft)}


/* Typographie éditoriale */
.wp-content,
.prose,
.book-single-content{
  font-family:var(--serif);
}

.wp-content p,
.prose p,
.book-single-content p,
.ornate-panel .book-meta p,
.collection-section p,
.wp-content blockquote p,
.prose blockquote p,
.book-single-content blockquote p{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
}

/* Les éléments courts restent volontairement non justifiés */
.panel-title,
.panel-kicker,
.brand-title,
.brand-tagline,
.site-nav,
.book-meta .author,
.book-meta .eyebrow,
.contact-name,
.contact-row,
.button-gold,
.small-caps,
.footer-inner{
  hyphens:none;
  -webkit-hyphens:none;
}

/* Fiche individuelle d'un livre */
.book-single-content{
  max-width:760px;
  margin:0 auto;
  font-size:1.08rem;
}

.book-single-content h2,
.book-single-content h3{
  color:var(--gold-soft);
  font-family:var(--display);
  font-weight:500;
  text-align:left;
}

.book-single-content h2{
  font-size:2rem;
  margin:1.2em 0 .45em;
}

.book-single-content h3{
  font-size:1.5rem;
  margin:1.1em 0 .45em;
}

.book-single-content blockquote{
  margin:1.5rem 0;
  padding-left:1.25rem;
  border-left:1px solid rgba(224,164,61,.72);
}

/* Le premier bloc de la fiche livre est forcé en deux colonnes,
   même si Gutenberg a conservé des styles inline en flex. */
.book-single-content > div:first-child{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 270px !important;
  gap:2.5rem !important;
  align-items:start !important;
  margin-bottom:2.5rem !important;
}

.book-single-content > div:first-child > div:first-child{
  min-width:0;
}

.book-single-content > div:first-child > div:last-child{
  width:270px !important;
  max-width:100% !important;
  justify-self:end;
  text-align:center;
}

.book-single-content > div:first-child > div:last-child img{
  display:block;
  width:100% !important;
  max-width:270px !important;
  height:auto !important;
  margin:0 auto !important;
}

/* Bloc d'introduction utilisé dans la fiche Les Enfants de la Nuit */
.book-intro-coppelius{
  display:grid;
  grid-template-columns:minmax(0,1fr) 270px;
  gap:2.5rem;
  align-items:start;
  margin-bottom:2.5rem;
}

.book-intro-coppelius .book-intro-cover{
  width:270px;
  max-width:100%;
  justify-self:end;
}

.book-intro-coppelius .book-intro-cover img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  border:1px solid rgba(224,164,61,.48);
  box-shadow:0 18px 50px rgba(0,0,0,.2);
}

.book-intro-coppelius .book-order{
  display:flex;
  justify-content:center;
  width:100%;
  margin:1.8rem 0;
}

.book-intro-coppelius .book-order a,
.book-single-content .button-gold{
  text-align:center;
  hyphens:none;
  -webkit-hyphens:none;
}

.books-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:14px;
}

.books-actions .button-gold{
  margin-top:0;
}


.purchase-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.purchase-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:132px;
  padding:18px 20px;
  border:1px solid var(--gold);
  background:rgba(0,14,27,.28);
  color:var(--ivory);
  text-align:center;
  transition:.2s ease;
}
.purchase-card:hover{
  background:rgba(224,164,61,.12);
  box-shadow:inset 0 0 0 1px rgba(224,164,61,.22);
}
.purchase-card-label{
  font-size:1.02rem;
  line-height:1.2;
}
.purchase-card-price{
  display:block;
  margin:.35rem 0 .25rem;
  color:var(--gold-soft);
  font-family:var(--display);
  font-size:1.65rem;
  font-weight:600;
  line-height:1;
}
.purchase-card-action{
  color:var(--gold-soft);
  font-size:.92rem;
}

@media(max-width:900px){
  .header-stage{grid-template-columns:100px minmax(0,1fr) 90px;min-height:220px;gap:16px}.brand-cat{width:92px}.brand-moon{width:78px}.brand-title{font-size:clamp(2.2rem,7vw,3.8rem)}
  .site-nav ul{gap:20px}.books-grid{grid-template-columns:1fr}.book-cover{max-width:320px;margin:0 auto}.contact-grid{grid-template-columns:1fr;gap:18px;text-align:center}.contact-divider{width:36px;height:120px;margin:0 auto;background:var(--sep-v) center/contain no-repeat}.contact-row{grid-template-columns:36px minmax(0,1fr);text-align:left;max-width:460px;margin:0 auto}.contact-name{text-align:center}
  .about-panel .wp-content::before,.about-panel .wp-content::after{display:none}
}

@media(max-width:760px){
  .book-single-content > div:first-child{
    grid-template-columns:1fr !important;
  }
  .book-single-content > div:first-child > div:last-child{
    width:240px !important;
    justify-self:center;
  }
  .book-intro-coppelius{
    grid-template-columns:1fr;
  }
  .book-intro-coppelius .book-intro-cover{
    width:240px;
    justify-self:center;
  }
}

@media(max-width:620px){
  body{font-size:16px}.site-header{padding:24px 15px 4px}.header-stage{grid-template-columns:70px 1fr;min-height:auto}.brand-cat{width:64px}.brand-moon{display:none}.brand-center{text-align:left}.brand-title{font-size:2rem}.brand-tagline{font-size:.95rem;margin:6px 0 10px}.site-nav{grid-column:1/-1}.site-nav ul{justify-content:flex-start;gap:7px 18px}.site-nav a{font-size:.95rem}
  main{margin-top:18px;padding:0 12px}.ornate-panel{padding:38px 24px;background-size:82px auto,82px auto,82px auto,82px auto,auto}.panel-title{font-size:2.6rem}.wp-content,.prose{font-size:1.02rem}.footer-inner{display:block;text-align:center}.footer-links{justify-content:center;margin-top:12px}
}


/* V7.2 — typographie éditoriale : forcer Cormorant Garamond sur les contenus WordPress */
body,
article,
.entry-content,
.entry-content p,
.entry-content li,
.entry-content blockquote,
.wp-block-post-content,
.wp-block-post-content p,
.wp-block-post-content li,
.wp-block-post-content blockquote,
.wp-content,
.wp-content p,
.wp-content li,
.wp-content blockquote,
.prose,
.prose p,
.prose li,
.prose blockquote,
.book-single-content,
.book-single-content p,
.book-single-content li,
.book-single-content blockquote,
.book-meta,
.book-meta p,
.collection-section,
.collection-section p {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

/* Corps éditorial justifié */
article p,
.entry-content p,
.wp-block-post-content p,
.wp-content p,
.prose p,
.book-single-content p,
.book-meta p,
.collection-section p,
blockquote p {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
}

/* Les éléments courts restent non justifiés */
button,
.button-gold,
.site-nav,
.site-nav a,
.panel-kicker,
.panel-title,
.brand-title,
.brand-tagline,
.book-meta .eyebrow,
.book-meta .author,
.contact-name,
.contact-row,
.footer-inner {
  text-align: initial;
  hyphens: none;
  -webkit-hyphens: none;
}

.panel-title,
.panel-kicker,
.brand-title,
.brand-tagline {
  text-align: center;
}


/* =========================================================
   V7.3 — TYPOGRAPHIE COHÉRENTE & COMPATIBILITÉ ELEMENTOR
   Ces règles finales harmonisent le site sans bloquer les
   réglages explicites effectués dans Elementor.
   ========================================================= */

/* Corps éditorial cohérent */
body{
  font-size:18px;
}

main:not(.elementor-theme-main) p,
main:not(.elementor-theme-main) li,
main:not(.elementor-theme-main) blockquote{
  font-family:var(--serif);
}

.wp-content,
.prose,
.book-single-content,
.collection-section{
  font-family:var(--serif);
  font-size:1.08rem;
  line-height:1.62;
}

.wp-content p,
.prose p,
.book-single-content p,
.collection-section p,
.book-meta p{
  font-size:1em;
  line-height:1.62;
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
}

/* Titres moins envahissants */
.panel-title{
  font-size:clamp(2.15rem,4vw,3.35rem);
  line-height:1.08;
}

.wp-content h2,
.prose h2,
.book-single-content h2,
.collection-section h2{
  font-size:1.8rem;
  line-height:1.2;
}

.wp-content h3,
.prose h3,
.book-single-content h3,
.collection-section h3{
  font-size:1.35rem;
  line-height:1.25;
}

.book-meta h2{
  font-size:clamp(2rem,3.5vw,2.9rem);
}

/* En-tête : baseline et menu plus lisibles */
.brand-tagline{
  font-size:clamp(1.25rem,2vw,1.6rem);
  margin:14px 0 22px;
}

.site-nav a{
  font-size:1.16rem;
}

/* Lignes courtes et métadonnées : pas de justification */
.book-meta .author,
.book-meta .eyebrow,
.panel-kicker,
.small-caps,
.contact-name,
.contact-row,
.button-gold,
.books-actions,
.site-nav,
.footer-inner{
  text-align:left;
  hyphens:none;
  -webkit-hyphens:none;
}

/* Actions catalogue */
.books-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:20px;
}

.books-actions .button-gold{
  margin-top:0;
}

.page-intro-content{
  margin-bottom:36px;
}

/* Elementor reste à l’intérieur des cadres du thème.
   On lui laisse gérer son contenu sans supprimer la structure Coppelius. */
.ornate-panel .elementor,
.ornate-panel .elementor-section,
.ornate-panel .e-con{
  max-width:100%;
}

@media(max-width:620px){
  .site-nav a{font-size:1.02rem;}
  .brand-tagline{font-size:1.05rem;}
  .panel-title{font-size:2.15rem;}
}

/* =========================================================
   V7.5 — FICHES LIVRES ALIGNÉES SUR LES PAGES
   Les articles "livre" reprennent exactement la même
   largeur éditoriale, le même cadre et la même hiérarchie
   visuelle que les pages classiques.
   ========================================================= */
.book-single-content{
  max-width:700px;
  margin:0 auto;
  font-size:1.08rem;
  line-height:1.62;
}

/* Le premier bloc éditorial conserve sa présentation spéciale
   texte à gauche / couverture à droite sans élargir toute la page. */
.book-single-content .book-intro-coppelius{
  width:100%;
}

/* Si l'ancien HTML d'introduction est encore présent, on garde
   sa grille mais à l'intérieur de la même largeur que les pages. */
.book-single-content > div:first-child{
  width:100%;
}

/* Cohérence parfaite avec page.php */
.single-livre .ornate-panel,
body.single-livre .ornate-panel{
  margin:0 0 26px;
}

@media(max-width:760px){
  .book-single-content{
    max-width:100%;
  }
}


/* =========================================================
   V7.6 — LIENS ET BOUTONS CLIQUABLES DANS LES CADRES
   Sécurise la couche interactive au-dessus des ornements.
   ========================================================= */
.ornate-panel > *{
  position:relative;
  z-index:1;
}

.ornate-panel a,
.book-single-content a,
.wp-content a,
.prose a,
.button-gold{
  position:relative;
  z-index:5;
  pointer-events:auto !important;
}

.button-gold{
  cursor:pointer;
}


/* =========================================================
   V7.7 — ARTICLES DANS LE MÊME CADRE QUE LES PAGES
   Les contenus Elementor restent à l'intérieur du cadre Coppelius.
   ========================================================= */
.single-post main,
.single-livre main{
  max-width:var(--content);
  margin:26px auto 72px;
  padding:0 20px;
}

.single-post .ornate-panel,
.single-livre .ornate-panel{
  width:100%;
}

.single-post .article-content,
.single-livre .article-content{
  max-width:700px;
  margin:0 auto;
  font-family:var(--serif);
  font-size:1.08rem;
  line-height:1.62;
}

.single-post .article-content p,
.single-livre .article-content p{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
}

.single-post .article-content .elementor,
.single-livre .article-content .elementor,
.single-post .article-content .e-con,
.single-livre .article-content .e-con{
  max-width:100% !important;
}

@media(max-width:620px){
  .single-post main,
  .single-livre main{
    margin-top:18px;
    padding:0 12px;
  }
  .single-post .article-content,
  .single-livre .article-content{
    max-width:100%;
    font-size:1.02rem;
  }
}

/* =========================================================
   V7.8 — OPTIMISATION MOBILE
   Conserve la structure desktop et améliore lisibilité,
   navigation, boutons, cadres et fiches livres sur téléphone.
   ========================================================= */

@media (max-width:760px){
  body{
    font-size:16px;
    line-height:1.58;
    background-attachment:scroll;
  }

  .site-header{
    padding:18px 14px 4px;
  }

  .header-stage{
    grid-template-columns:62px minmax(0,1fr);
    gap:12px 14px;
    min-height:auto;
    align-items:center;
  }

  .brand-cat-link{
    align-self:start;
    padding-top:4px;
  }

  .brand-cat{
    width:58px;
    max-height:96px;
  }

  .brand-center{
    text-align:left;
    padding-top:0;
    min-width:0;
  }

  .brand-title{
    text-align:left;
    font-size:clamp(1.9rem,8.7vw,2.55rem);
    line-height:1;
    letter-spacing:0;
  }

  .brand-tagline{
    text-align:left;
    font-size:1rem;
    line-height:1.25;
    margin:7px 0 12px;
  }

  .brand-moon{
    display:none;
  }

  .header-side{
    grid-column:1/-1;
    justify-self:center;
    margin-top:0;
    gap:0;
  }

  .instagram-link{
    font-size:1.03rem;
    padding:4px 0 8px;
  }

  .instagram-icon{
    width:30px;
    height:30px;
    flex-basis:30px;
  }

  .site-nav{
    grid-column:1/-1;
    width:100%;
    margin-top:4px;
  }

  .site-nav ul{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 14px;
    width:100%;
    justify-content:stretch;
  }

  .site-nav li:last-child{
    grid-column:auto;
  }

  .site-nav a{
    width:100%;
    padding:8px 0 10px;
    font-size:1.08rem;
    line-height:1.15;
    text-align:center;
  }

  .celestial-divider,
  .footer-divider{
    height:26px;
    background-size:260px auto;
  }

  main,
  .single-post main,
  .single-livre main{
    margin:14px auto 46px;
    padding:0 10px;
  }

  .ornate-panel{
    padding:34px 20px 38px;
    background-size:66px auto,66px auto,66px auto,66px auto,auto;
  }

  .ornate-panel::before{
    inset:7px;
  }

  .panel-kicker{
    font-size:.67rem;
    letter-spacing:.18em;
    margin-bottom:9px;
  }

  .panel-title{
    font-size:clamp(2rem,9vw,2.55rem);
    line-height:1.04;
    overflow-wrap:anywhere;
  }

  .ornament-rule{
    width:min(290px,82%);
    height:28px;
    margin:10px auto 20px;
  }

  .wp-content,
  .prose,
  .book-single-content,
  .single-post .article-content,
  .single-livre .article-content,
  .collection-section{
    max-width:100%;
    font-size:1.03rem;
    line-height:1.58;
  }

  .wp-content p,
  .prose p,
  .book-single-content p,
  .single-post .article-content p,
  .single-livre .article-content p,
  .collection-section p,
  .book-meta p,
  blockquote p{
    line-height:1.58;
    margin-bottom:1.05em;
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
    -webkit-hyphens:auto;
    overflow-wrap:break-word;
  }

  .wp-content h2,
  .prose h2,
  .book-single-content h2,
  .collection-section h2{
    font-size:1.62rem;
    line-height:1.18;
    margin-top:1.25em;
  }

  .wp-content h3,
  .prose h3,
  .book-single-content h3,
  .collection-section h3{
    font-size:1.28rem;
    line-height:1.2;
  }

  blockquote{
    margin:1.3rem 0;
    padding-left:.9rem;
  }

  .book-single-content > div:first-child,
  .book-intro-coppelius{
    grid-template-columns:1fr !important;
    gap:1.35rem !important;
  }

  .book-single-content > div:first-child > div:last-child,
  .book-intro-coppelius .book-intro-cover{
    width:min(230px,72vw) !important;
    justify-self:center !important;
    margin:0 auto;
  }

  .books-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .book-cover{
    width:min(260px,78vw);
    max-width:none;
    margin:0 auto;
  }

  .book-meta{
    text-align:left;
  }

  .book-meta h2{
    font-size:2rem;
    line-height:1.05;
  }

  .books-actions,
  .book-order{
    display:grid !important;
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
  }

  .purchase-options{
    grid-template-columns:1fr;
    gap:10px;
    margin-top:18px;
  }

  .purchase-card{
    min-height:108px;
    padding:15px 16px;
  }

  .button-gold,
  .books-actions .button-gold,
  .book-order a,
  .book-single-content a[style*="padding:12px 20px"]{
    display:block !important;
    width:100%;
    min-height:46px;
    padding:12px 16px !important;
    margin:0 !important;
    text-align:center !important;
    line-height:1.25;
  }

  .helloasso-frame{
    margin-top:26px;
    padding-top:20px;
  }

  .helloasso-frame iframe{
    min-height:320px;
  }

  .contact-grid{
    gap:14px;
  }

  .contact-row{
    max-width:100%;
  }

  .site-footer{
    padding:0 16px 28px;
  }

  .footer-inner{
    display:block;
    text-align:center;
    line-height:1.5;
  }

  .footer-links{
    justify-content:center;
    margin-top:12px;
  }
}

@media (max-width:430px){
  .ornate-panel{
    padding:31px 17px 34px;
    background-size:58px auto,58px auto,58px auto,58px auto,auto;
  }

  .panel-title{
    font-size:2rem;
  }

  .site-nav ul{
    grid-template-columns:1fr;
    gap:2px;
  }

  .site-nav li:last-child{
    grid-column:auto;
  }

  .site-nav a{
    padding:7px 0 9px;
    font-size:1.06rem;
  }

  .brand-title{
    font-size:1.86rem;
  }

  .brand-tagline{
    font-size:.96rem;
  }

  .wp-content p,
  .prose p,
  .book-single-content p,
  .single-post .article-content p,
  .single-livre .article-content p,
  .collection-section p,
  .book-meta p,
  blockquote p{
    text-align:left;
    hyphens:none;
    -webkit-hyphens:none;
  }
}

