/* ═══════════════════════════════════════════════════════════════════
   FEMMES DE SAVOIRS — BOUTIQUE
   Complément à core.css (extrait verbatim du site principal).
   Mêmes jetons, mêmes polices, mêmes gestes : cette feuille n'introduit
   AUCUNE couleur ni police nouvelle, uniquement des agencements.
   Tout reste scopé sous #site-jihene, comme l'exige le contrôle de
   build/inline-assets.py.
   ═══════════════════════════════════════════════════════════════════ */

/* ---------- @. Logo allégé ----------
   core.css est une copie mot pour mot du site : on n'y touche pas. La
   variable est simplement redéclarée ici, avec le dérivé produit par
   build/prepare-boutique-assets.py (17 ko au lieu de 35). */
#site-jihene{--logo:url("/static/images/logo.webp")}

/* ---------- A. Fil d'Ariane ---------- */
#site-jihene .fds-crumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;
  font-size:13.5px;color:var(--ink-mute);font-style:italic;
  padding-top:clamp(18px,2.4vw,28px);
}
#site-jihene .fds-crumb a{border-bottom:1px solid transparent;transition:color .3s var(--ease),border-color .3s var(--ease)}
#site-jihene .fds-crumb a:hover{color:var(--rub);border-color:var(--rub)}
#site-jihene .fds-crumb i{width:4px;height:4px;background:var(--ink-hair);transform:rotate(45deg);flex:none}

/* ---------- B. En-tête de page produit ---------- */
/* Pas de photo pleine largeur ici : sur une page de vente, la couverture du
   livre EST le visuel. Un hero photographique ferait doublon et repousserait
   le prix sous la ligne de flottaison. */
#site-jihene .fds-ptop{
  padding-top:clamp(20px,2.6vw,34px);
  padding-bottom:clamp(38px,4.4vw,64px);
}
#site-jihene .fds-ptop h1{
  font-family:'Cormorant Garamond',Garamond,Georgia,serif;font-weight:300;
  font-size:clamp(33px,5vw,62px);line-height:1.06;letter-spacing:-.018em;color:var(--ink);
  margin-top:14px;
}
#site-jihene .fds-ptop h1 em{font-style:italic;color:var(--rub)}

/* ---------- C. Grille produit : couverture | panneau d'achat ----------
   Zones nommées plutôt que simple ordre du flux : sur grand écran la
   couverture et le texte se suivent dans la colonne de gauche, le panneau
   d'achat occupe la droite. Sur téléphone, la grille se replie en UNE
   colonne dans l'ordre fig → buy → body, de sorte que le prix et le bouton
   arrivent juste après la couverture, et non après tout le texte.
   C'est l'ordre du HTML : aucun décalage entre lecture visuelle et
   navigation au clavier ou au lecteur d'écran. */
#site-jihene .fds-prod{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,430px);
  grid-template-areas:
    "fig   buy"
    "body  buy"
    "relay relay";
  column-gap:clamp(30px,4.6vw,72px);
  row-gap:clamp(26px,3.2vw,44px);
  align-items:start;
}
/* L'attribut « hidden » du HTML pose display:none — mais une règle qui
   déclare display:grid l'emporte sur lui. Sans cette ligne, le panneau de
   commande restait affiché sur un panier vide. Vaut pour toute grille
   qu'on masque par attribut. */
#site-jihene .fds-prod[hidden]{display:none}
#site-jihene .fds-prod__fig{grid-area:fig;position:relative;max-width:340px;margin-inline:auto}
#site-jihene .fds-prod__body{grid-area:body;min-width:0}
#site-jihene .fds-prod__fig img{width:100%;height:auto}
/* Même traitement d'ombre que les couvertures du site : les visuels sont
   détourés (fond transparent), drop-shadow épouse donc le contour. */
#site-jihene .fds-prod__cover{
  filter:
    drop-shadow(0 0 1px rgba(34,28,24,.30))
    drop-shadow(0 0 16px rgba(34,28,24,.20))
    drop-shadow(0 16px 28px rgba(34,28,24,.20));
}
#site-jihene .fds-prod__note{
  margin-top:12px;text-align:center;
  font-size:12.5px;font-style:italic;color:var(--ink-mute);
}
/* Le panneau d'achat suit le défilement sur grand écran : sur une page longue,
   le prix et le bouton restent atteignables sans remonter. */
#site-jihene .fds-prod__buy{grid-area:buy;position:sticky;top:calc(var(--hdr) + 18px)}

/* ---------- D. Panneau d'achat ---------- */
#site-jihene .fds-buy{
  background:linear-gradient(168deg,rgba(255,252,245,.95),rgba(242,235,220,.62));
  border:1px solid rgba(207,195,171,.85);border-radius:22px;
  padding:clamp(22px,2.8vw,34px);
  box-shadow:0 36px 60px -52px rgba(34,28,24,.6);
}
#site-jihene .fds-buy h2{
  font-family:'Cormorant Garamond',Garamond,serif;font-weight:400;
  font-size:clamp(21px,2.1vw,26px);line-height:1.2;color:var(--ink);
}
#site-jihene .fds-buy__price{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin-top:6px;
}
#site-jihene .fds-buy__amount{
  font-family:'Cormorant Garamond',Garamond,serif;font-weight:400;
  font-size:clamp(38px,4.4vw,54px);line-height:1;color:var(--rub);letter-spacing:-.02em;
}
#site-jihene .fds-buy__was{
  font-size:16px;color:var(--ink-mute);text-decoration:line-through;
}
#site-jihene .fds-buy__save{
  font-size:12.5px;font-style:italic;color:var(--rub);
  border:1px solid rgba(179,16,71,.35);border-radius:999px;padding:4px 12px;
  background:rgba(179,16,71,.05);
}
#site-jihene .fds-buy__meta{margin-top:10px;font-size:13.5px;color:var(--ink-mute);font-style:italic}
#site-jihene .fds-buy__sep{margin:22px 0;border-top:1px solid rgba(207,195,171,.7)}
#site-jihene .fds-buy__cta{margin-top:24px}
#site-jihene .fds-buy__cta .fds-btn{width:100%}
#site-jihene .fds-buy__foot{
  margin-top:14px;font-size:12.5px;color:var(--ink-mute);line-height:1.6;
}

/* légende d'un groupe de champs : même graphie que les labels du site */
#site-jihene .fds-buy legend,#site-jihene .fds-buy__label{
  font-size:13.5px;color:var(--ink-mute);margin-bottom:11px;display:block;
}

/* ---------- D bis. Renvoi croisé, sous le panneau d'achat ----------
   Placé DANS .fds-prod__buy, donc automatiquement sous le panneau sur les
   deux mises en page : colonne de droite sur grand écran, juste après le
   bouton sur téléphone. Aucune règle de grille à ajouter. */
#site-jihene .fds-cross{margin-top:18px}
#site-jihene .fds-cross__label{
  font-size:12.5px;font-style:italic;color:var(--ink-mute);
  margin-bottom:9px;display:flex;align-items:center;gap:9px;
}
#site-jihene .fds-cross__label::after{
  content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--ink-hair),transparent);
}
#site-jihene .fds-cross__link{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;
  border:1px solid rgba(207,195,171,.8);border-radius:18px;
  background:linear-gradient(168deg,rgba(255,252,245,.9),rgba(242,235,220,.5));
  padding:15px 17px;
  transition:border-color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease);
}
#site-jihene .fds-cross__link:hover{
  border-color:rgba(179,16,71,.4);transform:translateY(-2px);
  box-shadow:0 22px 38px -34px rgba(34,28,24,.6);
}
#site-jihene .fds-cross__fig{flex:none;width:58px;display:block}
#site-jihene .fds-cross__fig img,#site-jihene .fds-cross__fig svg{
  width:100%;height:auto;display:block;
  filter:drop-shadow(0 0 1px rgba(34,28,24,.26)) drop-shadow(0 7px 13px rgba(34,28,24,.2));
}
#site-jihene .fds-cross__body{display:block;min-width:0}
#site-jihene .fds-cross__body b{
  display:block;font-family:'Cormorant Garamond',Garamond,serif;font-weight:400;
  font-size:19px;line-height:1.2;color:var(--ink);
}
#site-jihene .fds-cross__body b em{font-style:italic}
#site-jihene .fds-cross__txt{
  display:block;margin-top:5px;font-size:13.5px;line-height:1.55;color:var(--ink-soft);
}
#site-jihene .fds-cross__go{
  display:inline-block;margin-top:9px;font-size:13.5px;color:var(--rub);
  border-bottom:1px solid var(--rub);padding-bottom:1px;
}
#site-jihene .fds-cross__link:hover .fds-cross__go{border-color:transparent}

/* ---------- E. Quantité ---------- */
#site-jihene .fds-qty{display:flex;align-items:center;gap:0;width:max-content}
#site-jihene .fds-qty button{
  width:40px;height:40px;border:1px solid var(--ink-hair);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;line-height:1;color:var(--ink-soft);
  transition:border-color .3s var(--ease),color .3s var(--ease),background .3s var(--ease);
}
#site-jihene .fds-qty button:first-child{border-radius:999px 0 0 999px}
#site-jihene .fds-qty button:last-child{border-radius:0 999px 999px 0}
#site-jihene .fds-qty button:hover:not([disabled]){border-color:var(--rub);color:var(--rub);background:rgba(179,16,71,.05)}
#site-jihene .fds-qty button[disabled]{opacity:.4;cursor:default}
#site-jihene .fds-qty input{
  width:52px;height:40px;text-align:center;font-size:16px;color:var(--ink);
  border-top:1px solid var(--ink-hair);border-bottom:1px solid var(--ink-hair);
  -moz-appearance:textfield;
}
#site-jihene .fds-qty input::-webkit-outer-spin-button,
#site-jihene .fds-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---------- F. Choix du mode de livraison ---------- */
#site-jihene .fds-ship{display:grid;gap:10px}
#site-jihene .fds-ship__opt{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 13px;align-items:start;
  border:1px solid rgba(207,195,171,.85);border-radius:16px;
  padding:14px 16px;cursor:pointer;
  background:rgba(255,252,245,.5);
  transition:border-color .35s var(--ease),background .35s var(--ease);
}
#site-jihene .fds-ship__opt:hover{border-color:rgba(179,16,71,.4)}
#site-jihene .fds-ship__opt:has(input:checked){border-color:var(--rub);background:rgba(179,16,71,.045)}
#site-jihene .fds-ship__opt input{
  width:15px;height:15px;border:1px solid var(--ink-hair);border-radius:50%;
  margin-top:5px;flex:none;position:relative;cursor:pointer;
  transition:border-color .3s var(--ease);
}
#site-jihene .fds-ship__opt input:checked{border-color:var(--rub);border-width:4px}
#site-jihene .fds-ship__name{font-size:15.5px;color:var(--ink)}
#site-jihene .fds-ship__cost{
  font-size:15px;color:var(--ink);font-family:'Cormorant Garamond',Garamond,serif;font-size:19px;
}
#site-jihene .fds-ship__cost.is-free{color:var(--rub);font-style:italic}
#site-jihene .fds-ship__desc{
  grid-column:2/-1;font-size:13px;color:var(--ink-mute);font-style:italic;line-height:1.5;
}

/* ---------- F bis. Champs de saisie ----------
   Repris mot pour mot du formulaire de conférences du site (bloc 13), qui
   n'entrait pas dans le noyau élagué. Sans eux, la saisie manuelle du point
   relais — le chemin de secours quand la carte ne charge pas — s'affichait
   avec les champs bruts du navigateur. */
#site-jihene .fds-field{margin-top:22px}
#site-jihene .fds-field label{display:block;font-size:13.5px;color:var(--ink-mute);margin-bottom:7px}
#site-jihene .fds-field label span{color:var(--rub)}
#site-jihene .fds-field input,#site-jihene .fds-field select,#site-jihene .fds-field textarea{
  width:100%;padding:12px 2px;font-size:16px;color:var(--ink);
  border-bottom:1px solid var(--ink-hair);
  background:transparent;
  transition:border-color .35s var(--ease);
}
#site-jihene .fds-field textarea{resize:vertical;min-height:104px;line-height:1.6}
#site-jihene .fds-field select{
  cursor:pointer;padding-right:26px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%278%27%3E%3Cpath d=%27M1 1.5 6 6.5 11 1.5%27 fill=%27none%27 stroke=%27%23857868%27 stroke-width=%271.2%27/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 4px center;
}
#site-jihene .fds-field input:focus,#site-jihene .fds-field select:focus,#site-jihene .fds-field textarea:focus{outline:none;border-color:var(--rub)}
#site-jihene .fds-field input::placeholder,#site-jihene .fds-field textarea::placeholder{color:rgba(133,120,104,.6);font-style:italic}
#site-jihene .fds-field.is-bad input,#site-jihene .fds-field.is-bad textarea,#site-jihene .fds-field.is-bad select{border-color:var(--rub-bright)}
#site-jihene .fds-field__err{display:none;margin-top:6px;font-size:12.5px;color:var(--rub-bright);font-style:italic}
#site-jihene .fds-field.is-bad .fds-field__err{display:block}

/* ---------- G. Point relais Mondial Relay ---------- */
/* Un <fieldset> ne se laisse PAS réduire en dessous de la largeur minimale
   de son contenu : c'est un comportement propre à cet élément, que
   « minmax(0,430px) » sur la colonne ne corrige pas. Le widget Mondial
   Relay, qui réclame environ 690 px, élargissait donc le panneau d'achat
   et faisait déborder la page entière — barre de défilement horizontale
   comprise. Les deux déclarations ci-dessous sont le remède ; ne pas les
   retirer en croyant à du code mort. */
/* La réinitialisation du site remet à zéro la marge et le remplissage des
   <fieldset>, mais pas leur bordure : le cadre gris du navigateur restait
   visible autour du mode de livraison. */
#site-jihene .fds-buy fieldset{min-width:0;max-width:100%;border:0}

/* Bloc pleine largeur, sous les deux colonnes du produit. */
#site-jihene .fds-relay{
  grid-area:relay;min-width:0;max-width:100%;
  margin-top:clamp(36px,4.4vw,60px);
  padding-top:clamp(30px,3.4vw,44px);
  border-top:1px solid rgba(207,195,171,.6);
}
#site-jihene .fds-relay__head{max-width:640px;margin-bottom:22px}
/* Signal bref quand on arrive ici depuis « Commander » sans avoir choisi
   de point relais : le titre du bloc bat une fois, pour dire où regarder. */
#site-jihene .fds-relay.is-attendu .fds-relay__head h2{
  animation:fds-attire 1.1s var(--ease) 2;
}
@keyframes fds-attire{0%,100%{color:var(--ink)}50%{color:var(--rub)}}
/* Même signal quand c'est le MODE de livraison qui manque : les deux
   options battent une fois, pour dire où porter le regard. */
#site-jihene .fds-ship.is-attendu .fds-ship__opt{
  animation:fds-attire-cadre 1.1s var(--ease) 2;
}
@keyframes fds-attire-cadre{
  0%,100%{border-color:rgba(207,195,171,.85)}
  50%{border-color:var(--rub);background:rgba(179,16,71,.05)}
}
#site-jihene .fds-relay__head .fds-orn{margin-bottom:16px}
#site-jihene .fds-relay__head h2{
  font-family:'Cormorant Garamond',Garamond,Georgia,serif;font-weight:300;
  font-size:clamp(25px,3vw,38px);line-height:1.1;color:var(--ink);letter-spacing:-.014em;
}
#site-jihene .fds-relay__head h2 em{font-style:italic;color:var(--rub)}
#site-jihene .fds-relay__head .fds-small{margin-top:12px;max-width:60ch}

/* Renvoi depuis le panneau d'achat vers la carte. */
#site-jihene .fds-relay__link{margin-top:14px}
#site-jihene .fds-relay__link[hidden]{display:none}

/* Saisie manuelle : deux colonnes dès qu'il y a la place. */
#site-jihene .fds-relay__form{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 24px;
}
#site-jihene .fds-relay[hidden]{display:none}
/* La carte ne descend pas sous ~690 px. Le bloc étant désormais pleine
   largeur, elle tient sans rogner dès 720 px de fenêtre ; en dessous, elle
   défile horizontalement DANS son cadre plutôt que d'élargir la page. */
#site-jihene .fds-relay__box{
  border:1px solid rgba(207,195,171,.85);border-radius:16px;
  background:rgba(255,252,245,.6);
  max-width:100%;overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}
/* Le widget injecte sa propre carte Leaflet. On lui impose une hauteur : sans
   cela il se replie à zéro dans un conteneur en grille. */
#site-jihene .fds-relay__widget{min-height:430px}
#site-jihene .fds-relay__widget .leaflet-container{font-family:'Newsreader',Georgia,serif}
#site-jihene .fds-relay__wait{
  padding:26px 18px;text-align:center;font-size:14px;font-style:italic;color:var(--ink-mute);
}
/* Repli affiché si le widget ne peut pas se charger (script bloqué, hors
   ligne, ou bloc HTML de l'hébergeur qui filtre les scripts externes).
   La commande reste possible : la cliente cherche son point relais sur le
   site de Mondial Relay et recopie le code ici. */
#site-jihene .fds-relay__fallback{padding:18px}
#site-jihene .fds-relay__fallback p{font-size:14px;color:var(--ink-soft);line-height:1.6}
#site-jihene .fds-relay__fallback .fds-field{margin-top:16px}
#site-jihene .fds-relay__chosen{
  margin-top:14px;font-size:14px;line-height:1.6;color:var(--ink-soft);
  border-left:1px solid var(--rub);padding-left:14px;
}
#site-jihene .fds-relay__chosen b{display:block;color:var(--ink);font-weight:400;font-size:15.5px}
#site-jihene .fds-relay__chosen[hidden]{display:none}

/* ---------- H. Récapitulatif du total ---------- */
#site-jihene .fds-tot{margin-top:22px;display:grid;gap:9px}
#site-jihene .fds-tot__line{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  font-size:14.5px;color:var(--ink-soft);
}
#site-jihene .fds-tot__line span:last-child{white-space:nowrap}
#site-jihene .fds-tot__line.is-sum{
  margin-top:7px;padding-top:13px;border-top:1px solid rgba(207,195,171,.8);
  font-size:16px;color:var(--ink);
}
#site-jihene .fds-tot__line.is-sum span:last-child{
  font-family:'Cormorant Garamond',Garamond,serif;font-size:26px;color:var(--ink);letter-spacing:-.01em;
}
#site-jihene .fds-tot__free{font-size:13px;font-style:italic;color:var(--rub)}
#site-jihene .fds-tot__alerte{
  margin-top:10px;font-size:13px;line-height:1.6;color:var(--ink-soft);
  border-left:1px solid var(--rub);padding-left:13px;
}
#site-jihene .fds-tot__alerte[hidden]{display:none}

/* ---------- I. Nuancier des marque-pages ---------- */
#site-jihene .fds-swatches{display:flex;flex-wrap:wrap;gap:11px}
#site-jihene .fds-swatch{
  width:38px;height:38px;border-radius:50%;position:relative;
  border:1px solid rgba(207,195,171,.9);
  box-shadow:inset 0 0 0 3px var(--parch);
  transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);
}
#site-jihene .fds-swatch:hover{transform:scale(1.08)}
#site-jihene .fds-swatch[aria-pressed="true"]{
  border-color:var(--rub);box-shadow:inset 0 0 0 3px var(--parch),0 0 0 1px var(--rub);
}
#site-jihene .fds-swatch__name{
  margin-top:13px;font-size:14px;color:var(--ink-soft);font-style:italic;
}
#site-jihene .fds-swatch__name b{font-style:normal;color:var(--ink);font-weight:400}

/* ---------- I bis. Liste de caractéristiques ----------
   Reprise mot pour mot de la section « À propos » du site (bloc 12), qui
   n'entrait pas dans le noyau élagué alors que les pages produit s'en
   servent pour la fiche technique. */
#site-jihene .fds-about__facts{margin-top:26px;display:grid;gap:0}
#site-jihene .fds-about__facts li{
  display:grid;grid-template-columns:minmax(0,150px) minmax(0,1fr);gap:8px 22px;
  padding:14px 0;border-top:1px solid rgba(207,195,171,.6);font-size:15px;
}
#site-jihene .fds-about__facts li:last-child{border-bottom:1px solid rgba(207,195,171,.6)}
#site-jihene .fds-about__facts dfn,#site-jihene .fds-about__facts strong{
  font-style:italic;font-weight:400;color:var(--rub);font-size:14px;
}

/* intitulé de section légère (« Ce qu'en disent les lectrices ») */
#site-jihene .fds-testis__label{
  font-size:13.5px;font-style:italic;color:var(--ink-mute);margin-bottom:16px;
  display:flex;align-items:center;gap:10px;
}
#site-jihene .fds-testis__label::after{
  content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--ink-hair),transparent);
}

/* ---------- I ter. Fiche de l'ouvrage ----------
   Le descriptif factuel : édition, reliure, dédicace, extrait. Il précède
   le résumé, parce qu'il répond aux questions qu'on se pose une fois la
   couverture vue et le prix lu. */
#site-jihene .fds-fiche{max-width:66ch}
#site-jihene .fds-fiche__titre{
  font-family:'Cormorant Garamond',Garamond,serif;font-weight:400;
  font-size:clamp(20px,2.1vw,25px);line-height:1.24;color:var(--ink);
}
#site-jihene .fds-fiche__marques{
  margin-top:12px;display:flex;flex-wrap:wrap;gap:9px 10px;
}
#site-jihene .fds-fiche__offert{
  display:inline-flex;align-items:center;gap:9px;
  font-size:14px;font-style:italic;color:var(--rub);
  border:1px solid rgba(179,16,71,.35);border-radius:999px;padding:6px 16px;
  background:rgba(179,16,71,.05);
}
#site-jihene .fds-fiche__offert b{font-style:normal;font-weight:400}
#site-jihene .fds-fiche__extrait{margin-top:24px}

/* ---------- I quater. Panier ---------- */
/* confirmation d'ajout, sous le bouton de la fiche produit */
#site-jihene .fds-buy__ajoute{
  margin-top:13px;font-size:14px;color:var(--rub);font-style:italic;
  border-left:1px solid var(--rub);padding-left:14px;line-height:1.6;
}
#site-jihene .fds-buy__ajoute[hidden]{display:none}
#site-jihene .fds-buy__ajoute .fds-link{display:inline-block;margin-top:4px;font-size:14px}

/* panier vide */
#site-jihene .fds-vide{max-width:46ch;padding-block:clamp(20px,3vw,40px)}
#site-jihene .fds-vide[hidden]{display:none}
#site-jihene .fds-vide__titre{
  margin-top:20px;
  font-family:'Cormorant Garamond',Garamond,serif;font-weight:300;
  font-size:clamp(26px,3.2vw,38px);line-height:1.12;color:var(--ink);letter-spacing:-.014em;
}

/* la liste des articles */
#site-jihene .fds-lignes{border-top:1px solid rgba(207,195,171,.6)}
#site-jihene .fds-ligne{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 22px;align-items:start;
  padding:clamp(18px,2.2vw,26px) 0;border-bottom:1px solid rgba(207,195,171,.6);
}
#site-jihene .fds-ligne__nom{
  font-family:'Cormorant Garamond',Garamond,serif;font-weight:400;
  font-size:clamp(20px,2.1vw,25px);line-height:1.18;color:var(--ink);letter-spacing:-.01em;
}
#site-jihene .fds-ligne__var{margin-top:5px;font-size:13.5px;font-style:italic;color:var(--rub)}
#site-jihene .fds-ligne__pu{margin-top:5px;font-size:13.5px;color:var(--ink-mute)}
#site-jihene .fds-ligne__qty{margin-top:14px}
#site-jihene .fds-ligne__qty button{width:36px;height:36px}
#site-jihene .fds-ligne__qty input{width:46px;height:36px}
#site-jihene .fds-ligne__retirer{
  margin-top:12px;display:block;font-size:13px;font-style:italic;color:var(--ink-mute);
  border-bottom:1px solid var(--ink-hair);padding-bottom:1px;
  transition:color .3s var(--ease),border-color .3s var(--ease);
}
#site-jihene .fds-ligne__retirer:hover{color:var(--rub);border-color:var(--rub)}
#site-jihene .fds-ligne__prix{
  font-family:'Cormorant Garamond',Garamond,serif;font-size:24px;line-height:1.2;
  color:var(--ink);white-space:nowrap;
}

/* compteur d'articles dans l'en-tête */
#site-jihene .fds-nav__panier{position:relative;display:inline-flex;align-items:center;gap:8px}
#site-jihene .fds-compteur{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;padding:0 6px;border-radius:999px;
  background:var(--rub);color:#fbf7ee;
  font-family:'Newsreader',Georgia,serif;font-size:11.5px;font-style:normal;line-height:1;
}
#site-jihene .fds-compteur[hidden]{display:none}

/* ---------- I quinquies. Page de remerciement ---------- */
#site-jihene .fds-merci__ok{
  margin-top:24px;
  background:linear-gradient(168deg,rgba(255,252,245,.95),rgba(242,235,220,.62));
  border:1px solid rgba(179,16,71,.35);border-radius:20px;
  padding:clamp(20px,2.4vw,30px);
}
#site-jihene .fds-merci__ok[hidden]{display:none}
#site-jihene .fds-merci__ok-titre{
  font-family:'Cormorant Garamond',Garamond,serif;font-weight:400;
  font-size:clamp(21px,2.2vw,27px);line-height:1.2;color:var(--rub);
}
#site-jihene .fds-merci__ok .fds-relay__chosen{margin-top:14px}
#site-jihene .fds-merci__erreur{
  margin-top:20px;font-size:14px;line-height:1.6;color:var(--ink-soft);
  border-left:1px solid var(--rub-bright);padding-left:14px;
}
#site-jihene .fds-merci__erreur[hidden]{display:none}

/* ---------- J. Cartes produit (page boutique) ---------- */
#site-jihene .fds-shop{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
  gap:clamp(18px,2.4vw,30px);
}
#site-jihene .fds-card{
  display:flex;flex-direction:column;
  border:1px solid rgba(207,195,171,.75);border-radius:20px;
  background:linear-gradient(170deg,rgba(255,252,245,.92),rgba(242,235,220,.45));
  padding:clamp(20px,2.2vw,26px);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);
}
#site-jihene .fds-card:hover{
  transform:translateY(-3px);border-color:rgba(179,16,71,.35);
  box-shadow:0 26px 44px -38px rgba(34,28,24,.6);
}
#site-jihene .fds-card__fig{
  display:flex;align-items:flex-end;justify-content:center;
  min-height:232px;margin-bottom:20px;
}
#site-jihene .fds-card__fig img{
  max-height:232px;width:auto;
  filter:
    drop-shadow(0 0 1px rgba(34,28,24,.28))
    drop-shadow(0 0 14px rgba(34,28,24,.18))
    drop-shadow(0 13px 22px rgba(34,28,24,.18));
}
#site-jihene .fds-card__badge{
  display:inline-block;font-size:12px;font-style:italic;color:var(--rub);
  border:1px solid rgba(179,16,71,.35);border-radius:999px;padding:3px 11px;
  background:rgba(179,16,71,.05);margin-bottom:10px;align-self:flex-start;
}
#site-jihene .fds-card h3{
  font-family:'Cormorant Garamond',Garamond,serif;font-weight:400;
  font-size:clamp(21px,2.1vw,26px);line-height:1.16;color:var(--ink);letter-spacing:-.01em;
}
#site-jihene .fds-card__desc{margin-top:9px;font-size:14.5px;line-height:1.62;color:var(--ink-soft)}
#site-jihene .fds-card__foot{
  margin-top:auto;padding-top:20px;
  display:flex;align-items:center;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;
}
#site-jihene .fds-card__price{
  font-family:'Cormorant Garamond',Garamond,serif;font-size:29px;line-height:1;color:var(--rub);
}
#site-jihene .fds-card__price s{font-size:15px;color:var(--ink-mute);margin-right:7px;font-family:'Newsreader',Georgia,serif}
/* La carte entière est cliquable : le lien réel porte ::after en couverture.
   Le bouton reste un vrai bouton pour les lecteurs d'écran. */
#site-jihene .fds-card{position:relative}
#site-jihene .fds-card__link::after{content:"";position:absolute;inset:0;border-radius:20px}

/* ---------- K. Tableau des tarifs de livraison ---------- */
#site-jihene .fds-tab{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:18px}
#site-jihene .fds-tab th,#site-jihene .fds-tab td{
  text-align:left;padding:13px 16px 13px 0;
  border-bottom:1px solid rgba(207,195,171,.6);vertical-align:top;
}
#site-jihene .fds-tab thead th{
  font-size:13.5px;font-style:italic;font-weight:400;color:var(--rub);
  border-bottom-color:rgba(207,195,171,.85);
}
#site-jihene .fds-tab td:not(:first-child),#site-jihene .fds-tab th:not(:first-child){white-space:nowrap}
#site-jihene .fds-tab tbody th{font-weight:400;color:var(--ink)}
/* Sous 560 px un tableau à 3 colonnes déborde : il défile dans son cadre
   plutôt que d'élargir la page. */
#site-jihene .fds-tab__wrap{overflow-x:auto}

/* ---------- L. Questions fréquentes ---------- */
#site-jihene .fds-faq{border-top:1px solid rgba(207,195,171,.6);margin-top:clamp(22px,2.6vw,32px)}
#site-jihene .fds-faq details{border-bottom:1px solid rgba(207,195,171,.6)}
#site-jihene .fds-faq summary{
  list-style:none;cursor:pointer;padding:18px 34px 18px 0;position:relative;
  font-family:'Cormorant Garamond',Garamond,serif;font-weight:400;
  font-size:clamp(18px,1.9vw,22px);line-height:1.3;color:var(--ink);
  transition:color .3s var(--ease);
}
#site-jihene .fds-faq summary::-webkit-details-marker{display:none}
#site-jihene .fds-faq summary:hover{color:var(--rub)}
#site-jihene .fds-faq summary::after{
  content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;
  border-right:1px solid var(--rub);border-bottom:1px solid var(--rub);
  transform:translateY(-70%) rotate(45deg);transition:transform .35s var(--ease);
}
#site-jihene .fds-faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
#site-jihene .fds-faq__body{padding:0 0 20px;max-width:62ch}
#site-jihene .fds-faq__body p + p{margin-top:12px}

/* ---------- M. Résumé long de l'ouvrage ---------- */
#site-jihene .fds-resume{max-width:66ch}
#site-jihene .fds-resume p + p{margin-top:17px}
#site-jihene .fds-resume__q{
  font-family:'Cormorant Garamond',Garamond,serif;font-weight:300;font-style:italic;
  font-size:clamp(19px,2vw,24px);line-height:1.5;color:var(--ink);
  border-left:1px solid var(--rub);padding-left:18px;
}

/* ---------- N. Bandeau d'appel de bas de page ---------- */
#site-jihene .fds-end{
  background:linear-gradient(180deg,rgba(235,226,207,.55),rgba(235,226,207,.18));
  border-top:1px solid rgba(207,195,171,.55);
}
#site-jihene .fds-end__in{max-width:640px}
#site-jihene .fds-end h2{
  font-family:'Cormorant Garamond',Garamond,serif;font-weight:300;
  font-size:clamp(27px,3.4vw,42px);line-height:1.1;color:var(--ink);letter-spacing:-.014em;
}
#site-jihene .fds-end h2 em{font-style:italic;color:var(--rub)}
#site-jihene .fds-end__cta{margin-top:26px;display:flex;flex-wrap:wrap;gap:13px 16px;align-items:center}

/* ---------- O. Barre d'achat collante (mobile) ---------- */
/* Sur téléphone le panneau d'achat part très bas dans la page. Cette barre
   ramène le prix et le bouton en permanence sous les yeux. Elle n'apparaît
   qu'une fois le panneau dépassé, pour ne pas masquer le contenu d'entrée. */
#site-jihene .fds-bar{display:none}
#site-jihene .fds-bar__in{
  display:flex;align-items:center;gap:14px;
  max-width:var(--maxw);margin:0 auto;padding:11px var(--gut);
}
#site-jihene .fds-bar__price{
  font-family:'Cormorant Garamond',Garamond,serif;font-size:25px;line-height:1.1;color:var(--rub);flex:none;
}
#site-jihene .fds-bar__price span{display:block;font-family:'Newsreader',Georgia,serif;font-size:11.5px;color:var(--ink-mute);font-style:italic}
#site-jihene .fds-bar .fds-btn{margin-left:auto;padding:13px 22px;font-size:15px}

/* ---------- P. Adaptations ---------- */
/* Reprises telles quelles de la section 19 du site pour tout ce qui concerne
   l'en-tête : le menu déroulant mobile doit se comporter à l'identique. */
@media (max-width:1080px){
  #site-jihene .fds-prod{
    grid-template-columns:1fr;
    /* Sur une colonne, le parcours d'achat reste d'un seul tenant :
       couverture, prix et livraison, carte des points relais. Le texte de
       présentation vient après — il informe, il ne fait pas acheter. Sans
       cela, « Commander » renvoyait quatre écrans plus bas. */
    grid-template-areas:"fig" "buy" "relay" "body";
    row-gap:30px;
  }
  #site-jihene .fds-prod__buy{position:static}
  #site-jihene .fds-prod__fig{max-width:250px}
}
@media (max-width:860px){
  #site-jihene{--hdr:64px}
  /* Premier écran resserré : sur téléphone, tout ce qui précède la
     couverture retarde d'autant le prix et le bouton. On réduit le
     chapeau et la couverture pour que le panneau d'achat entre dans le
     deuxième écran au lieu du cinquième. */
  #site-jihene .fds-ptop{padding-bottom:22px}
  #site-jihene .fds-ptop h1{font-size:clamp(30px,8.6vw,38px);margin-top:10px}
  #site-jihene .fds-ptop .fds-lead{font-size:16.5px;line-height:1.6;margin-top:14px}
  #site-jihene .fds-prod__fig{max-width:186px}
  #site-jihene .fds-buy{padding:20px 18px}
  #site-jihene .fds-buy__amount{font-size:42px}
  #site-jihene .fds-burger{display:block}
  #site-jihene .fds-nav{
    position:absolute;left:0;right:0;top:100%;margin:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:rgba(248,243,232,.985);
    border-bottom:1px solid rgba(207,195,171,.8);
    padding:8px var(--gut) 24px;
    box-shadow:0 26px 40px -34px rgba(34,28,24,.6);
    transition:max-height .5s var(--ease),visibility .5s,padding .5s var(--ease);
  }
  #site-jihene.js-on .fds-nav{max-height:0;overflow:hidden;visibility:hidden}
  #site-jihene .fds-nav.is-open{max-height:70vh;visibility:visible;overflow:auto}
  #site-jihene .fds-nav a{padding:15px 0;border-bottom:1px solid rgba(207,195,171,.5);font-size:17px}
  #site-jihene .fds-nav a::after{display:none}
  #site-jihene .fds-nav a.fds-btn--nav{
    padding:13px 26px;margin-top:24px;align-self:flex-start;
    border:1px solid var(--rub);font-size:16px;
  }
  #site-jihene .fds-footer__grid{grid-template-columns:1fr;gap:30px}
  #site-jihene .fds-footer__grid nav{gap:10px 22px}
  /* Barre d'achat collante — VISIBLE DÈS L'ARRIVÉE sur téléphone.
     C'est la réponse au vrai problème : même resserré, le bouton du
     panneau reste sous la ligne de flottaison. Cette barre met le total et
     « Commander » en permanence sous le pouce. Elle s'efface seulement
     quand le bouton du panneau est lui-même à l'écran, pour ne pas
     afficher deux fois le même appel. */
  #site-jihene .fds-bar{
    display:block;position:fixed;left:0;right:0;bottom:0;z-index:70;
    background:rgba(248,243,232,.97);
    border-top:1px solid rgba(207,195,171,.8);
    box-shadow:0 -14px 34px -28px rgba(34,28,24,.6);
    transform:none;transition:transform .42s var(--ease);
    padding-bottom:env(safe-area-inset-bottom);
  }
  #site-jihene .fds-bar.is-down{transform:translateY(102%)}
  #site-jihene .fds-bar[hidden]{display:none}
  /* la barre ne doit pas recouvrir la fin du pied de page */
  #site-jihene .fds-footer{padding-bottom:calc(clamp(42px,4.6vw,66px) + 72px)}
}
@media (max-width:520px){
  #site-jihene .fds-quote{grid-template-columns:1fr;gap:10px}
  #site-jihene .fds-quote__leaf{width:22px}
  #site-jihene .fds-card__fig{min-height:190px}
  #site-jihene .fds-card__fig img{max-height:190px}
}

/* ---------- Z. Champs natifs de la boutique (panier) ----------
   core.css retire l'apparence native de TOUS les champs (-webkit-appearance:
   none), pensé pour les champs texte du site. Le panier introduit des cases
   à cocher et des boutons radio (mode de livraison) : sans cette règle, ils
   deviennent invisibles (aucune boîte de remplacement dessinée). On leur
   rend leur apparence native, teintée à la couleur de la maison. */
#site-jihene input[type="radio"],#site-jihene input[type="checkbox"]{
  -webkit-appearance:auto;appearance:auto;accent-color:var(--rub);
  width:17px;height:17px;flex:none;cursor:pointer;
}
#site-jihene .fds-field{margin-bottom:16px}
#site-jihene .fds-field label{display:block;font-size:13.5px;color:var(--ink-mute);margin-bottom:6px}
#site-jihene .fds-field input{
  -webkit-appearance:none;appearance:none;width:100%;padding:10px 2px;
  border-bottom:1px solid var(--ink-hair);font-size:15.5px;color:var(--ink);
  transition:border-color .3s var(--ease);
}
#site-jihene .fds-field input:focus-visible{border-color:var(--rub)}

/* ═══════════════════════════════════════════════════════════════════
   AA. Page de commande — tunnel distinct du panier, sur le modèle
   Shopify : en-tête épuré (logo seul, pas de menu), deux colonnes
   (formulaire + récapitulatif fixe), étapes numérotées. Le paiement
   lui-même se poursuit sur la page Stripe hébergée, tout aussi épurée.
   ═══════════════════════════════════════════════════════════════════ */

/* en-tête minimal : juste le logo, un fil d'Ariane retour, et la mention
   de paiement sécurisé — pas de menu pour ne pas distraire de l'achat. */
#site-jihene .fds-checkout-header{
  border-bottom:1px solid rgba(207,195,171,.7);background:var(--parch);
}
#site-jihene .fds-checkout-header__in{
  max-width:1180px;margin:0 auto;padding:18px var(--gut);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
#site-jihene .fds-checkout-header .fds-logomark{width:150px;height:44px}
#site-jihene .fds-checkout-header__lock{
  font-size:13px;color:var(--ink-mute);display:flex;align-items:center;gap:6px;
}
#site-jihene .fds-checkout-back{font-size:13.5px;color:var(--ink-mute)}
#site-jihene .fds-checkout-back:hover{color:var(--rub)}

#site-jihene .fds-checkout{
  max-width:1180px;margin:0 auto;padding:clamp(28px,4vw,52px) var(--gut) 80px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);
  gap:clamp(30px,4.6vw,72px);align-items:start;
}
#site-jihene .fds-checkout__form{min-width:0}
#site-jihene .fds-checkout__summary{
  grid-row:1;position:sticky;top:24px;
  background:linear-gradient(168deg,rgba(255,252,245,.95),rgba(242,235,220,.72));
  border:1px solid rgba(207,195,171,.8);border-radius:16px;
  padding:clamp(20px,2.6vw,30px);
}

/* étapes numérotées, façon Shopify (« 1 Contact », « 2 Livraison »...) */
#site-jihene .fds-step{margin-bottom:clamp(30px,3.6vw,46px)}
#site-jihene .fds-step__title{
  display:flex;align-items:center;gap:12px;margin-bottom:18px;
  font-family:'Cormorant Garamond',Garamond,Georgia,serif;font-weight:400;
  font-size:clamp(21px,2.2vw,25px);color:var(--ink);
}
#site-jihene .fds-step__num{
  flex:none;width:28px;height:28px;border-radius:50%;background:var(--rub);color:#fbf7ee;
  display:flex;align-items:center;justify-content:center;font-size:14px;font-family:'Newsreader',serif;
}
#site-jihene .fds-step + .fds-step{border-top:1px solid rgba(207,195,171,.55);padding-top:clamp(26px,3.2vw,40px)}

/* lignes du récapitulatif */
#site-jihene .fds-summary__line{
  display:flex;gap:12px;align-items:center;padding:10px 0;
  border-bottom:1px solid rgba(207,195,171,.5);
}
#site-jihene .fds-summary__line img{width:44px;height:auto;border-radius:4px;flex:none;
  filter:drop-shadow(0 4px 8px rgba(34,28,24,.18))}
#site-jihene .fds-summary__line-body{flex:1;min-width:0}
#site-jihene .fds-summary__line-name{font-size:14.5px;color:var(--ink)}
#site-jihene .fds-summary__line-meta{font-size:12.5px;color:var(--ink-mute);margin-top:2px}
#site-jihene .fds-summary__line-price{font-size:14.5px;color:var(--ink);white-space:nowrap}
#site-jihene .fds-summary__totals{margin-top:16px;padding-top:14px;border-top:1px solid rgba(207,195,171,.7)}
#site-jihene .fds-summary__totals p{display:flex;justify-content:space-between;font-size:14.5px;margin-top:8px;color:var(--ink-soft)}
#site-jihene .fds-summary__totals p:first-child{margin-top:0}
#site-jihene .fds-summary__totals .fds-summary__grand{
  font-size:19px;color:var(--ink);margin-top:14px;padding-top:14px;
  border-top:1px solid rgba(207,195,171,.7);
}

/* sur mobile : plus de colonnes fixes, et le récapitulatif devient un
   tiroir repliable (<details>) placé AVANT le formulaire, comme sur
   Shopify — la cliente voit le total sans dérouler toute la page. */
#site-jihene .fds-checkout-summary-toggle{display:none}
@media (max-width:900px){
  #site-jihene .fds-checkout{grid-template-columns:1fr;padding-top:20px}
  #site-jihene .fds-checkout__summary{position:static;order:-1}
  #site-jihene .fds-checkout-summary-toggle{
    display:flex;align-items:center;justify-content:space-between;
    width:100%;cursor:pointer;list-style:none;font-size:15px;color:var(--ink);
    padding:4px 0;
  }
  #site-jihene .fds-checkout-summary-toggle::-webkit-details-marker{display:none}
  #site-jihene .fds-checkout-summary-toggle i{
    font-style:normal;color:var(--ink-mute);font-size:13px;
    border-bottom:1px solid var(--ink-hair);
  }
  #site-jihene details.fds-checkout__summary[open] .fds-checkout-summary-toggle i{display:none}
  #site-jihene details.fds-checkout__summary:not([open]) .fds-summary__body{display:none}
}

/* ---------- AB. Visuels larges (ex. le lot des deux livres) ----------
   Le cadre de la fiche est taillé pour UNE couverture verticale (340 px
   max). Une image horizontale, comme deux livres côte à côte, y devient
   minuscule : le script ajoute .is-wide quand l'image est plus large que
   haute, et le cadre s'élargit en conséquence. */
#site-jihene .fds-prod__fig.is-wide{max-width:min(560px,100%)}
@media (max-width:860px){#site-jihene .fds-prod__fig.is-wide{max-width:min(440px,100%)}}

/* ---------- AC. Description dans le cadre d'achat ----------
   Placée sous le sous-titre, avant le choix des options : la cliente lit ce
   que c'est (format, papier...) au moment de choisir, sans avoir à descendre
   en bas de page. */
#site-jihene .fds-buy__desc{margin-top:12px;font-size:15px;line-height:1.65;color:var(--ink-soft)}
#site-jihene .fds-buy__desc p + p{margin-top:10px}
#site-jihene .fds-buy__desc:empty{display:none}

/* ---------- AD. Résumé et caractéristiques dans le cadre d'achat ---------- */
#site-jihene .fds-buy__part{
  font-family:'Cormorant Garamond',Garamond,Georgia,serif;font-weight:400;
  font-size:20px;color:var(--ink);margin:18px 0 6px;letter-spacing:-.005em;
}
#site-jihene .fds-buy__desc > .fds-buy__part:first-child{margin-top:14px}
#site-jihene .fds-buy__facts{margin-top:6px}
#site-jihene .fds-buy__facts li{padding:9px 0;font-size:14.5px;grid-template-columns:minmax(0,120px) minmax(0,1fr)}
/* Le cadre d'achat s'allonge avec le résumé : collant, il dépasserait l'écran
   et son bouton deviendrait inaccessible. On le laisse défiler normalement. */
#site-jihene .fds-prod__buy{position:static}

/* ---------- AE. Pages légales (mentions légales, CGV) ---------- */
#site-jihene .fds-legal h1{
  font-family:'Cormorant Garamond',Garamond,Georgia,serif;font-weight:300;
  font-size:clamp(32px,4.6vw,52px);line-height:1.08;color:var(--rub);letter-spacing:-.015em;
}
#site-jihene .fds-legal h1 em{font-style:italic;color:inherit}
#site-jihene .fds-legal h2{
  font-family:'Cormorant Garamond',Garamond,Georgia,serif;font-weight:400;
  font-size:clamp(21px,2.4vw,27px);color:var(--rub);margin-top:clamp(28px,3.4vw,42px);margin-bottom:10px;
}
#site-jihene .fds-legal p{margin-top:12px;font-size:16px}
#site-jihene .fds-legal ul{margin-top:12px;padding-left:20px;list-style:disc}
#site-jihene .fds-legal li{margin-top:6px;font-size:16px}
#site-jihene .fds-legal a{border-bottom:1px solid var(--rub)}
/* information manquante : bien visible tant que l'admin ne l'a pas saisie */
#site-jihene .fds-legal__todo{background:#f6e2a8;color:#5a3b00;padding:1px 6px;border-radius:4px;font-size:.92em}

/* ---------- Bandeau « Promo » (coin de la photo, produits à prix barré) ---------- */
#site-jihene .fds-card__fig,#site-jihene .fds-prod__fig{position:relative}
#site-jihene .fds-promo{
  position:absolute;top:8px;left:8px;z-index:2;
  background:var(--rub);color:#fff;
  font-family:'Newsreader',Georgia,serif;font-size:12px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  padding:5px 13px;border-radius:999px;
  box-shadow:0 6px 14px -8px rgba(34,28,24,.55);
}
#site-jihene .fds-buy__was{margin-left:2px}

/* ---------- Produit « à paraître » ---------- */
#site-jihene .fds-card__soon{
  font-style:italic;font-size:15px;color:var(--rub);
  border:1px solid rgba(179,16,71,.35);border-radius:999px;padding:5px 14px;background:rgba(179,16,71,.05);
}
#site-jihene .fds-buy__cta a.fds-btn{display:block;text-align:center;width:100%}
#site-jihene .fds-promo--bas{
  position:static;display:table;margin:-6px auto 16px;
}
#site-jihene .fds-prod__fig .fds-promo--bas{margin:18px auto 0}

/* ---------- Photo supplémentaire d'une fiche (ex. carte postale du lot) ---------- */
#site-jihene .fds-buy__extra{margin:18px 0 4px;text-align:center}
#site-jihene .fds-buy__extra img{
  display:block;margin-inline:auto;width:min(260px,70%);height:auto;
  background:#fff;border:1px solid rgba(207,195,171,.7);border-radius:10px;padding:14px 18px;
  box-shadow:0 14px 26px -22px rgba(34,28,24,.5);
}
#site-jihene .fds-buy__extra figcaption{margin-top:10px;font-size:13px;line-height:1.5;color:var(--ink-mute);font-style:italic}

/* Visuel du lot : ses ombres sont déjà dans l'image (la carte postale n'en porte pas). */
#site-jihene img[src*="lot-deux-livres"]{filter:none}

/* ---------- Bandeau d'information « cookies » ---------- */
#site-jihene .fds-cookies{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:60;
  max-width:760px;margin-inline:auto;
  display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap;justify-content:space-between;
  background:#fffdf8;border:1px solid rgba(207,195,171,.9);border-radius:16px;
  padding:16px 20px;box-shadow:0 18px 40px -18px rgba(34,28,24,.45);
}
#site-jihene .fds-cookies[hidden]{display:none}
#site-jihene .fds-cookies p{margin:0;flex:1 1 320px;font-size:14px;line-height:1.55;color:var(--ink-soft)}
#site-jihene .fds-cookies a{color:var(--rub);text-decoration:underline}
#site-jihene .fds-cookies .fds-btn{flex:0 0 auto;padding:10px 22px}
#site-jihene .fds-cookies__btns{display:flex;gap:10px;flex:0 0 auto;flex-wrap:wrap}
#site-jihene .fds-cookies__btns .fds-btn{padding:10px 22px;min-width:110px}

/* ---------- Question « Souhaitez-vous une dédicace ? » (page commande) ---------- */
#site-jihene .fds-dedicace__q{margin:0 0 8px;font-size:15px;color:var(--ink)}
#site-jihene .fds-dedicace__choix{display:flex;gap:22px}
#site-jihene .fds-dedicace__choix label{display:flex;gap:8px;align-items:center;cursor:pointer}
#site-jihene .fds-dedicace__saisie{margin-top:14px}
#site-jihene .fds-dedicace__saisie[hidden]{display:none}

/* Prix affiché à côté de chaque mode de livraison (page commande) */
#site-jihene .fds-mode__nom{flex:1 1 auto}
#site-jihene .fds-mode__prix{margin-left:auto;font-weight:500;color:var(--rub);white-space:nowrap}

/* ---------- Feuilleter (visionneuse de pages) ---------- */
#site-jihene .fds-buy__feuilleter{margin:14px 0 4px}
html.fds-feuil-ouvert{overflow:hidden}
#site-jihene .fds-feuil{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}
#site-jihene .fds-feuil[hidden]{display:none}
#site-jihene .fds-feuil__fond{position:absolute;inset:0;background:rgba(24,19,16,.78)}
#site-jihene .fds-feuil__boite{position:relative;display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;padding:18px 56px 44px}
#site-jihene .fds-feuil__img{max-width:100%;max-height:100%;width:auto;height:auto;background:#fff;
  border-radius:6px;box-shadow:0 24px 60px -20px rgba(0,0,0,.7);touch-action:pan-y}
#site-jihene .fds-feuil__fermer,#site-jihene .fds-feuil__fleche{
  position:absolute;background:rgba(255,253,248,.92);color:var(--ink);border:0;border-radius:999px;
  cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}
#site-jihene .fds-feuil__fermer{top:12px;right:12px;width:40px;height:40px;font-size:28px}
#site-jihene .fds-feuil__fleche{top:50%;transform:translateY(-50%);width:42px;height:42px;font-size:32px;padding-bottom:4px}
#site-jihene .fds-feuil__fleche--g{left:8px}
#site-jihene .fds-feuil__fleche--d{right:8px}
#site-jihene .fds-feuil__fleche:disabled{opacity:.3;cursor:default}
#site-jihene .fds-feuil__compteur{position:absolute;left:0;right:0;bottom:14px;margin:0;text-align:center;
  color:#fff;font-size:14px;letter-spacing:.04em}
@media (max-width:600px){#site-jihene .fds-feuil__boite{padding:56px 10px 44px}
  #site-jihene .fds-feuil__fleche{top:auto;bottom:6px;transform:none}
  #site-jihene .fds-feuil__fleche--g{left:12px}#site-jihene .fds-feuil__fleche--d{right:12px}}
/* Le compteur et la boîte ne doivent jamais capter les clics : seuls l'image et les boutons répondent,
   et un clic à côté de la page ferme la visionneuse. */
#site-jihene .fds-feuil__compteur{pointer-events:none}
#site-jihene .fds-feuil__boite{pointer-events:none}
#site-jihene .fds-feuil__boite > img,#site-jihene .fds-feuil__boite > button{pointer-events:auto}

/* Bouton « Feuilleter le livre » : au survol (ou au clavier), il se remplit du rose foncé des autres boutons. */
#site-jihene .fds-buy__feuilleter .fds-btn:hover,
#site-jihene .fds-buy__feuilleter .fds-btn:focus-visible{
  background:var(--rub);border-color:var(--rub);color:#fbf7ee;
  box-shadow:0 16px 32px -18px rgba(140,13,56,.85);
}

/* Titres des fiches produit en gras (titre de page et titre du panneau d'achat) */
#site-jihene h1.fds-titre-produit,
#site-jihene .fds-buy h2{font-weight:600}
#site-jihene .fds-buy__part{font-weight:600}
/* Page « Les livres de Jihene » : titre de page et titres des cartes produit en gras */
#site-jihene .fds-card h3{font-weight:600}

/* ---------- Code promo (récapitulatif de commande) ---------- */
#site-jihene .fds-promo-champ{margin:16px 0 4px}
#site-jihene .fds-promo-champ__ligne{display:flex;gap:8px;align-items:stretch}
#site-jihene .fds-promo-champ__ligne input{flex:1 1 auto;min-width:0;text-transform:uppercase;letter-spacing:.06em}
#site-jihene .fds-promo-champ__ligne .fds-btn{flex:0 0 auto;padding:10px 18px}
#site-jihene .fds-promo-champ__msg{margin:8px 0 0}
#site-jihene .fds-promo-champ__msg.is-ok{color:#2f6b3f}
#site-jihene .fds-promo-champ__msg.is-err{color:var(--rub)}
#site-jihene .fds-promo-champ__retirer{background:none;border:0;padding:0;color:var(--rub);text-decoration:underline;cursor:pointer;font:inherit}
#site-jihene [data-remise-ligne]{color:#2f6b3f}
#site-jihene [data-remise-ligne][hidden]{display:none}
