/* Charte Maison Doucettys Paris (manuel d'août 2026), appliquée sur la mise en page des catalogues.
   Rouge Doucettys #670101 en principal, rouge intense #B70101 pour les détails, rose doux #FFD9DA, gris #4F5254.
   Tribute (serif) pour les titres, Neue Haas Grotesk pour le texte, signature Sloop en accent ; rayures marinière et « D » Notre-Dame. */
@font-face { font-family: Tribute; src: url(fonts/tribute-roman.woff2) format('woff2'); font-style: normal; font-display: swap; }
@font-face { font-family: Tribute; src: url(fonts/tribute-italic.woff2) format('woff2'); font-style: italic; font-display: swap; }
@font-face { font-family: Haas; src: url(fonts/haas-regular.woff2) format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: Haas; src: url(fonts/haas-bold.woff2) format('woff2'); font-weight: 600 700; font-display: swap; }
@font-face { font-family: Sloop; src: url(fonts/sloop.woff2) format('woff2'); font-display: swap; }

.pg {
  --rouge: #670101;
  --rouge-f: #b70101;
  --rose: #ffd9da;
  --encre: #2b2324;
  --gris: #4f5254;
  --filet: #e9dfda;
  --creme: #f7f2ec;
  --blanc: #ffffff;
  --titre: Tribute, 'Times New Roman', Georgia, serif;
  --titre-c: Tribute, 'Times New Roman', Georgia, serif;
  --titre-xc: Tribute, 'Times New Roman', Georgia, serif;
  --titre-l: Haas, Arial, sans-serif;
  --texte: Haas, Arial, sans-serif;
  --cond: Haas, Arial, sans-serif;
  --script: Sloop, 'Snell Roundhand', cursive;
  font-family: var(--texte);
}

/* titres : serif en casse normale, comme le manuel */
.pg h1, .pg h2, .pg h3, .pg h4, .cv-sous, .sommaire b, .chiffre b, .corps h3, .saveur h4, .ov-bloc h2, .ed-texte h2,
.sg-tete h2, .pl-contenu h2, .ct-grille h2, .contact h3, .etapes h3, .pl-livraison h3, .interlude blockquote span, .pn-txt p,
.cz-tete h2, .cz-intro h2, .etape h4, .confit h3, .video h3, .regles b, .tg-f, .fl-nom b, .marche b, .auto b, .auto em,
.ed-texte .mission, .bouton { text-transform: none; letter-spacing: 0; }
.sur, .pied, table.prix th, .chip, .ruban, .moule, .bas .ligne b, .conseil b, .astuce b, .cons b, .ov-bloc ul, .fl-legende,
.cv-haut .annee, .legende li b, .auto .an, .marche .niv, .etapes b, table.recap th { font-family: var(--cond); font-weight: 600; letter-spacing: .16em; }
.sur { color: var(--rouge-f); }
.pied .num, .sommaire em { font-family: var(--titre); font-style: italic; }

/* motifs : rayures marinière et « D » */
.m-rayures { background: repeating-linear-gradient(0deg, var(--rouge-f) 0 8px, var(--creme) 8px 18px); }
.m-lignes { background: repeating-linear-gradient(90deg, var(--rouge) 0 2px, var(--creme) 2px 14px); }
.m-vichy { background: var(--rose) url(brand/d-rouge.png) 50% 50% / 26px auto repeat; }
.m-damier { background: var(--rouge-f) url(brand/d-blanc.png) 0 0 / 22px auto repeat; }
.m-diag { background: var(--rouge); }
.dmark { display: inline-block; background: currentColor; -webkit-mask: url(brand/d-blanc.png) center / contain no-repeat; mask: url(brand/d-blanc.png) center / contain no-repeat; }

/* couverture */
.couverture { background: var(--rouge); }
.cv-haut { align-items: flex-start; }
.cv-haut .logo { height: 86px; width: auto; }
.cv-haut .annee { border-color: rgba(255,217,218,.7); color: var(--rose); }
.couverture h1 { margin-top: 64px; }
.couverture h1 .l1 { font: 64px var(--script); letter-spacing: 0; color: var(--rose); line-height: 1; margin-bottom: -6px; }
.couverture h1 .l2 { font: 132px var(--titre); line-height: .95; }
.cv-sous { background: transparent; color: var(--blanc); border-top: 1.5px solid var(--rose); border-bottom: 1.5px solid var(--rose); font: 600 15px var(--cond); letter-spacing: .3em; text-transform: uppercase; padding: 8px 2px; }
.cv-mosaique { border-color: var(--creme); background: var(--creme); }
.cv-coeur { background: var(--creme); }
.cv-coeur .coeur { width: 60px; height: 104px; color: var(--rouge); }
.rond { border-color: var(--creme); }
.cv-slogan { font: italic 22px var(--titre); letter-spacing: .02em; text-transform: none; color: var(--rose); }

/* édito et sommaire */
.ed-texte h2, .cz-intro h2 { font: 60px var(--titre); line-height: .95; color: var(--rouge); }
.ed-texte .mission { font: italic 17px var(--titre); color: var(--rouge-f); }
.chiffre { border-top-color: var(--rouge-f); }
.chiffre b { font: 28px var(--titre); }
.sommaire b { font: 19px var(--titre); }
.sommaire .pastille { background: var(--rouge); }

/* ouvertures de rubrique et interlude */
.ouverture { background: var(--rouge); }
.ov-bloc h2 { font: 96px var(--titre); line-height: .9; }
.ov-bloc li::before { content: '—'; }
.interlude blockquote span { background: var(--rouge); font: italic 58px var(--titre); padding: 6px 18px 4px; }

/* fiches */
.visu::before { inset: 12px -12px -12px 12px; background: repeating-linear-gradient(0deg, var(--rouge-f) 0 5px, transparent 5px 12px); }
.fiche.droite .visu::before { inset: 12px 12px -12px -12px; }
.coeur-deco { width: 22px; height: 40px; right: -6px; top: -16px; color: var(--rouge); filter: none; }
.fiche.droite .coeur-deco { left: -6px; }
.ruban { background: var(--rouge); }
.corps h3 { font: 32px var(--titre); line-height: 1; color: var(--rouge); }
.chip { border-color: var(--rouge); color: var(--rouge); font-weight: 600; letter-spacing: .1em; }
table.prix th { border-bottom-color: var(--rouge); }
table.prix td b { font: 600 12.5px var(--cond); letter-spacing: .02em; }
table.prix td.p.base { font: 22px var(--titre); color: var(--rouge-f); }
.conseil { background: var(--rose); }
.conseil .ico { width: 12px; height: 20px; color: var(--rouge); }
.sv-prix { border-top-color: var(--rouge); }
.sv-prix b { font: 25px var(--titre); color: var(--rouge-f); }
.saveur h4 { font: 21px var(--titre); }
.sg-tete h2 { font: 48px var(--titre); color: var(--rouge); }
.pn-txt { background: var(--rouge); box-shadow: 8px 8px 0 var(--rose); }
.pn-txt p { font: italic 27px var(--titre); line-height: 1.1; }

/* paliers et contact */
.paliers { background: var(--creme); }
.pl-contenu h2 { font: 78px var(--titre); color: var(--rouge); }
.marche.m0 { background: var(--rose); color: var(--rouge); } .marche.m1 { background: var(--rouge-f); } .marche.m2 { background: var(--rouge); }
.marche b { font: 26px var(--titre); }
.pl-livraison { border-top-color: var(--rouge); }
.pl-livraison h3, .etapes h3 { font: 28px var(--titre); }
.pl-livraison li b { font: 22px var(--titre); color: var(--rouge-f); }
.etapes .n { background: var(--rouge); font: 20px var(--titre); }
.ct-grille h2 { font: 40px var(--titre); line-height: 1; }
.bouton { background: var(--rouge); box-shadow: 6px 6px 0 var(--rose); font: 600 15px var(--cond); letter-spacing: .06em; }
.qr svg { border-color: var(--rouge); }
.contact h3 { font: 28px var(--titre); }
.ct-coeur .coeur { width: 120px; height: 200px; left: 35px; color: var(--rouge); filter: drop-shadow(0 6px 14px rgba(0,0,0,.35)); }
.ct-coeur span { font: italic 19px var(--titre); text-transform: none; }

/* dos */
.dos { background: var(--rouge); }
.ds-motifs { opacity: .14; }
.ds-centre .coeur { width: 64px; height: 115px; color: var(--rose); }
.ds-centre img { width: 320px; }
.ds-centre p { font: italic 24px var(--titre); text-transform: none; letter-spacing: .02em; color: var(--rose); }
.ds-centre a { border-color: var(--rose); color: var(--rose); }

/* guide de cuisson */
.cz-tete h2 { font: 58px var(--titre); color: var(--rouge); }
.cz-photo::before { background: repeating-linear-gradient(0deg, var(--rouge-f) 0 5px, transparent 5px 12px); }
.etape { border-top-color: var(--rouge); }
.etape h4 { font: 17px var(--titre); }
.et-ico, .mn { background: var(--rouge); }
.mn { box-shadow: 2px 2px 0 var(--rose); font-family: var(--cond); }
.mn b { font: 18px var(--titre); }
.mn.grand b { font-size: 28px; }
.fl-legende .lg.p1, .ph.p1 { background: var(--rose); } .fl-legende .lg.p2, .ph.p2 { background: var(--rouge-f); }
.ph b, .fl-nom b, .tg-f { font-family: var(--titre); }
.astuce { background: var(--rose); }
.cons { border-color: var(--rouge); }
.auto { border-top-color: var(--rouge-f); } .auto.ferme { background: var(--rouge); }
.auto b, .auto em { font-family: var(--titre); }
table.recap th { background: var(--rouge); }
table.recap .t { font-family: var(--titre); color: var(--rouge-f); }
.regles div { border-top-color: var(--rouge); }
.regles b { font: 24px var(--titre); }
.coeur-deco { display: none; }
.saveurs { gap: 18px 18px; margin-top: 18px; }
.saveurs.n6 .sv-visu { aspect-ratio: 16 / 11; }
.saveur p { min-height: 0; }
.sg-bas { margin-top: 14px; }
.ct-coeur .coeur { display: none; }
.ct-coeur { width: auto; height: auto; }
.ct-coeur span { background: var(--rouge); color: var(--blanc); width: auto; padding: 12px 18px; margin: 0; font: italic 20px var(--titre); box-shadow: 5px 5px 0 var(--rose); white-space: nowrap; }
