/* Blocs WordPress : mise en page de la maquette sur le balisage des blocs. Généré par scripts/build_theme.py depuis scripts/blocks.css. */
/* ---------- paragraphes « en ligne » ----------
   Liens et textes hors paragraphe dans la maquette : sur le site, le paragraphe s'efface (display: contents),
   les liens redeviennent les enfants directs de leur conteneur (menus, boutons, puces).
   Les règles de la maquette sur « p » visaient ses vrais paragraphes : elles ne s'appliquent pas à ceux-ci (#lb). */
p.is-inline:not(#lb) { all: inherit; display: contents; }
.head > .is-inline > .link, .head > .is-inline > .btn { flex: none; white-space: nowrap; }
@media (max-width: 480px) {
  .btns > .is-inline > .btn:not(.btn-sm) { flex: 1 1 200px; }
}

/* ---------- blocs WordPress ---------- */
.wp-block-image { margin: 0; }
.wp-block-image img { height: auto; }
.banner .wp-block-image img, .presta .pic img { height: 100%; }
.service .wp-block-image img { height: 190px; }

/* Listes de définitions : pas d'espace entre paragraphes (.prose p + p). */
.dl > p.dt, .dl > p.dd { margin-top: 0; }

/* ---------- icônes (masque CSS ; .i-NOM définit l'image, voir plus bas) ---------- */
.has-icon::before { content: ""; display: inline-block; flex: none; width: 20px; height: 20px; background: currentColor; -webkit-mask: var(--lb-icon) center / contain no-repeat; mask: var(--lb-icon) center / contain no-repeat; vertical-align: -4px; }
.i-arrow::before { order: 2; }
.trust .has-icon::before, .facts .has-icon::before, .audience.has-icon::before { margin-top: 2px; }
.audience.has-icon::before { display: block; }
.presta li.has-icon, .uses li.has-icon { display: flex; gap: 8px; align-items: center; }

/* ---------- en-tête : partie « Menu principal » ---------- */
.menu .wrap > .is-inline > a { display: flex; align-items: center; gap: 4px; padding: 0 13px; font-weight: 600; font-size: 14.5px; border-bottom: 2px solid transparent; height: 100%; white-space: nowrap; }
.menu .wrap > .is-inline > a:hover, .menu .wrap > .is-inline > a.on { color: var(--blue-dark); border-bottom-color: var(--blue); }

/* ---------- en-tête : « Mon compte », « Panier » restent lus par les lecteurs d'écran sur mobile ---------- */
@media (max-width: 1080px) {
  .tools .label { display: inline; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* ---------- pied de page ---------- */
.footer .social a { font-size: 0; }
.footer .logo-box { display: inline-block; }

/* ---------- éditeur : les paragraphes « en ligne » restent cliquables ---------- */
.editor-styles-wrapper p.is-inline:not(#lb) { display: block; }
.editor-styles-wrapper .btns > p.is-inline:not(#lb), .editor-styles-wrapper .chips > p.is-inline:not(#lb) { display: flex; flex-wrap: wrap; gap: inherit; }

/* Icônes : règles .icon de la maquette appliquées aux éléments .has-icon (masque CSS). */
.i-phone { --lb-icon: url("../icons/phone.svg"); }
.i-truck { --lb-icon: url("../icons/truck.svg"); }
.i-search { --lb-icon: url("../icons/search.svg"); }
.i-user { --lb-icon: url("../icons/user.svg"); }
.i-cart { --lb-icon: url("../icons/cart.svg"); }
.i-arrow { --lb-icon: url("../icons/arrow.svg"); }
.i-left { --lb-icon: url("../icons/left.svg"); }
.i-right { --lb-icon: url("../icons/right.svg"); }
.i-chev { --lb-icon: url("../icons/chev.svg"); }
.i-cal { --lb-icon: url("../icons/cal.svg"); }
.i-pin { --lb-icon: url("../icons/pin.svg"); }
.i-tool { --lb-icon: url("../icons/tool.svg"); }
.i-check { --lb-icon: url("../icons/check.svg"); }
.i-card { --lb-icon: url("../icons/card.svg"); }
.i-tag { --lb-icon: url("../icons/tag.svg"); }
.i-menu { --lb-icon: url("../icons/menu.svg"); }
.i-clock { --lb-icon: url("../icons/clock.svg"); }
.i-x { --lb-icon: url("../icons/x.svg"); }
.i-mail { --lb-icon: url("../icons/mail.svg"); }
.i-doc { --lb-icon: url("../icons/doc.svg"); }
.i-play { --lb-icon: url("../icons/play.svg"); }
.i-lock { --lb-icon: url("../icons/lock.svg"); }
.i-info { --lb-icon: url("../icons/info.svg"); }
.i-minus { --lb-icon: url("../icons/minus.svg"); }
.i-plus { --lb-icon: url("../icons/plus.svg"); }
.i-trash { --lb-icon: url("../icons/trash.svg"); }
.i-home { --lb-icon: url("../icons/home.svg"); }
.i-box { --lb-icon: url("../icons/box.svg"); }
.i-logout { --lb-icon: url("../icons/logout.svg"); }
.i-shield { --lb-icon: url("../icons/shield.svg"); }
.i-users { --lb-icon: url("../icons/users.svg"); }
.i-building { --lb-icon: url("../icons/building.svg"); }
.i-leaf { --lb-icon: url("../icons/leaf.svg"); }
.i-drop { --lb-icon: url("../icons/drop.svg"); }
.i-insta { --lb-icon: url("../icons/insta.svg"); }
.i-yt { --lb-icon: url("../icons/yt.svg"); }
.i-filter { --lb-icon: url("../icons/filter.svg"); }
.has-icon::before { width: 20px; height: 20px; flex: none; }
.btn.has-icon::before, .btn .has-icon::before { width: 18px; height: 18px; }
.link.has-icon::before, .link .has-icon::before { width: 17px; height: 17px; }
.topbar .right.has-icon::before, .topbar .right .has-icon::before { width: 14px; height: 14px; }
.search .go.has-icon::before, .search .go .has-icon::before { width: 17px; height: 17px; }
.menu .sub .all.has-icon::before, .menu .sub .all .has-icon::before { width: 16px; height: 16px; }
.finder .control.has-icon::before, .finder .control .has-icon::before { position: absolute; left: 12px; top: 12px; width: 18px; height: 18px; color: var(--blue); pointer-events: none; }
.trust.has-icon::before, .trust .has-icon::before { color: var(--blue); margin-top: 2px; }
.presta li.has-icon::before, .presta li .has-icon::before { width: 17px; height: 17px; color: var(--green-dark); }
.audience.has-icon::before, .audience .has-icon::before { color: var(--blue); width: 24px; height: 24px; margin-bottom: 10px; }
.footer .social.has-icon::before, .footer .social .has-icon::before { width: 18px; height: 18px; }
.notice.has-icon::before, .notice .has-icon::before { margin-top: 1px; }
.from.has-icon::before, .from .has-icon::before { width: 18px; height: 18px; color: var(--blue); margin-left: 6px; }
.cal-head.has-icon::before, .cal-head .has-icon::before { width: 16px; height: 16px; }
.facts.has-icon::before, .facts .has-icon::before { width: 18px; height: 18px; color: var(--blue); margin-top: 1px; }
.stock.has-icon::before, .stock .has-icon::before { width: 17px; height: 17px; }
.qty button.has-icon::before, .qty button .has-icon::before { width: 16px; height: 16px; }
.uses.has-icon::before, .uses .has-icon::before { width: 17px; height: 17px; color: var(--green-dark); margin-top: 2px; }
.doc.has-icon::before, .doc .has-icon::before { color: var(--blue); }
.info-note.has-icon::before, .info-note .has-icon::before { width: 18px; height: 18px; color: var(--blue); margin-top: 1px; }
.cart-empty.has-icon::before, .cart-empty .has-icon::before { width: 40px; height: 40px; color: var(--muted); margin: 0 auto 12px; }
.confirm-head .ok.has-icon::before, .confirm-head .ok .has-icon::before { width: 28px; height: 28px; }
.account-nav.has-icon::before, .account-nav .has-icon::before { width: 18px; height: 18px; }

/* Listes de définitions (dt, dd → paragraphes .dt, .dd). */
.prose .dt, .dl .dt { color: var(--muted); }
.prose .dd, .dl .dd { margin: 0; }
@media (max-width: 640px) { .prose .dd, .dl .dd { margin-bottom: 10px; } }
