
/* ===== Anti-CLS : fallbacks à métrique ajustée ===== */
/* Les polices système imitent les métriques de Cormorant/Public Sans */
/* pour éliminer le reflow au swap (font-display:swap) */
@font-face{
  font-family:'Cormorant Fallback';
  src:local('Georgia');
  size-adjust:92%;
  ascent-override:90%;
  descent-override:25%;
  line-gap-override:0%;
}
@font-face{
  font-family:'PublicSans Fallback';
  src:local('Arial');
  size-adjust:100%;
}
:root{
  --paper:#f4efe4; --card:#fbf8f1; --ink:#2b2620; --ink-soft:#6b6357; --ink-faint:#9a9184;
  --rule:#e2d9c8; --accent:#7c2d3a; --accent-soft:#a14653; --gold:#b08a3e; --link:#7c2d3a;
  --quote:#332d25;
  --maxw:1060px; --readw:740px;
}
@media (prefers-color-scheme:dark){
  :root{ --paper:#1c1915; --card:#25211b; --ink:#ece5d8; --ink-soft:#b0a795; --ink-faint:#7d7565;
    --rule:#3a3428; --accent:#d98a97; --accent-soft:#c26b7a; --gold:#d0a860; --link:#d98a97; --quote:#ece5d8; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Public Sans","PublicSans Fallback",system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.65}
.dc-wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}

/* Header */
.dc-top{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:20}
.dc-top-in{display:flex;align-items:center;gap:26px;height:68px}
.dc-logo{display:flex;align-items:center;gap:10px;color:var(--accent);white-space:nowrap}
.dc-logo span{font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-size:25px;font-weight:600;color:var(--ink);letter-spacing:.01em}
.dc-logo em{color:var(--accent);font-style:normal}
.dc-nav{display:flex;gap:22px;flex:1}
.dc-nav a{color:var(--ink-soft);font-size:15px;font-weight:500}
.dc-nav a:hover{color:var(--accent);text-decoration:none}
.dc-search{display:flex;position:relative}
.dc-search input{width:190px;height:40px;padding:0 14px;border:1px solid var(--rule);border-right:0;border-radius:20px 0 0 20px;background:var(--card);color:var(--ink);font-size:15px;font-family:inherit}
.dc-search input:focus{outline:none;border-color:var(--accent)}
.dc-search button{height:40px;width:44px;border:1px solid var(--accent);border-radius:0 20px 20px 0;background:var(--accent);color:#fff;font-size:17px;cursor:pointer}

/* Breadcrumb */
.dc-crumb{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--ink-faint);padding:20px 0 4px}
.dc-crumb a{color:var(--ink-faint)}
.dc-crumb a:hover{color:var(--accent)}

/* Page head */
.dc-head{padding:16px 0 22px;border-bottom:2px solid var(--rule);margin-bottom:10px}
.dc-head .kick{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);font-weight:600;margin-bottom:10px}
.dc-head h1{font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-size:44px;font-weight:600;line-height:1.06;margin:0;color:var(--ink);letter-spacing:.01em}
.dc-head .sub{margin-top:10px;color:var(--ink-soft);font-size:16px}

/* Quote in list */
.dc-q{margin:0;padding:22px 0;border-bottom:1px solid var(--rule)}
.dc-q blockquote{margin:0;font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-size:23px;line-height:1.42;color:var(--quote);font-weight:500}
.dc-q blockquote a{color:inherit}
.dc-q blockquote a:hover{color:var(--accent);text-decoration:none}
.dc-q footer{margin-top:9px;font-size:14px;color:var(--ink-faint)}
.dc-q .dc-auth{color:var(--accent);font-weight:500}
.dc-q .dc-ref{color:var(--ink-soft);font-style:italic}
.dc-q .sep{color:var(--rule)}

/* Single quote hero */
.dc-single{margin:34px 0 0;font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-size:33px;line-height:1.36;color:var(--quote);max-width:var(--readw);font-weight:500}
.dc-single .mark{color:var(--accent);font-size:52px;line-height:0;vertical-align:-14px;margin-right:6px}
.dc-single-meta{margin-top:24px;padding:20px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:16px;max-width:var(--readw)}
.dc-single-meta .row{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin:4px 0}
.dc-single-meta .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);min-width:80px}
.dc-single-meta a{font-weight:500}
.dc-dico{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--gold)}
.dc-pub{margin-top:14px;font-size:13px;color:var(--ink-faint)}

/* Section title */
.dc-sec{font-family:"Public Sans",sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:32px 0 4px;padding-bottom:6px;border-bottom:1px solid var(--rule)}

/* Grid links */
.dc-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.dc-grid a{font-size:15px;border:1px solid var(--rule);border-radius:20px;padding:7px 15px;background:var(--card);color:var(--ink)}
.dc-grid a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}

/* Columns */
.dc-cols{column-width:240px;column-gap:30px;margin:14px 0}
.dc-cols a{display:block;padding:5px 0;color:var(--ink-soft);font-size:15px;break-inside:avoid}
.dc-cols a:hover{color:var(--accent);text-decoration:none}
.dc-cols .n{color:var(--ink-faint);font-size:13px}

/* Alpha nav */
.dc-alpha{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.dc-alpha a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--rule);border-radius:8px;background:var(--card);color:var(--ink-soft);font-family:"Cormorant Garamond",serif;font-size:18px;font-weight:600}
.dc-alpha a:hover,.dc-alpha a.on{background:var(--accent);color:#fff;border-color:var(--accent);text-decoration:none}

/* Pager */
.dc-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:26px 0;font-size:15px}
.dc-pager span{color:var(--ink-faint);font-size:14px}
.dc-pager a{padding:9px 18px;border:1px solid var(--rule);border-radius:20px;background:var(--card)}
.dc-pager a:hover{border-color:var(--accent);text-decoration:none}

/* Hero */
.dc-hero{padding:54px 0 40px;text-align:center;border-bottom:2px solid var(--rule)}
.dc-hero .orn{color:var(--gold);font-size:22px;letter-spacing:.4em;margin-bottom:16px}
.dc-hero h1{font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-size:52px;font-weight:600;line-height:1.06;margin:0 0 12px;color:var(--ink);letter-spacing:.01em}
.dc-hero p{font-size:19px;color:var(--ink-soft);max-width:600px;margin:0 auto 26px}
.dc-hero-search{display:flex;max-width:540px;margin:0 auto}
.dc-hero-search input{flex:1;height:54px;padding:0 20px;border:1px solid var(--rule);border-right:0;border-radius:27px 0 0 27px;background:var(--card);color:var(--ink);font-size:17px;font-family:inherit}
.dc-hero-search input:focus{outline:none;border-color:var(--accent)}
.dc-hero-search button{height:54px;padding:0 28px;border:1px solid var(--accent);border-radius:0 27px 27px 0;background:var(--accent);color:#fff;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit}
.dc-featured{margin:38px auto 0;max-width:var(--readw);padding:32px;background:var(--card);border:1px solid var(--rule);border-radius:4px;position:relative;text-align:center}
.dc-featured::before{content:"\201C";position:absolute;top:-8px;left:22px;font-family:"Cormorant Garamond",serif;font-size:80px;color:var(--gold);opacity:.4;line-height:1}
.dc-featured blockquote{margin:0;font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif;font-size:26px;font-style:italic;line-height:1.4;color:var(--quote)}
.dc-featured .by{margin-top:14px;font-size:15px;color:var(--accent);font-weight:500}

/* Thematic sections (home) */
.dc-theme{margin:26px 0}
.dc-theme h2{font-family:"Cormorant Garamond",serif;font-size:26px;color:var(--ink);margin:0 0 4px;font-weight:600}
.dc-theme p.intro{color:var(--ink-soft);font-size:16px;margin:0 0 14px;max-width:var(--readw)}

/* Autocomplete */
.dc-ac{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:var(--card);border:1px solid var(--rule);border-radius:10px;overflow:hidden;box-shadow:0 12px 32px rgba(60,40,20,.18)}
.dc-ac-item{display:flex;justify-content:space-between;gap:10px;padding:10px 15px;font-size:15px;color:var(--ink)}
.dc-ac-item small{color:var(--ink-faint);text-transform:uppercase;font-size:11px;letter-spacing:.05em}
.dc-ac-item:hover,.dc-ac-item.on{background:var(--paper);color:var(--accent);text-decoration:none}

/* Prose */
.dc-prose{max-width:var(--readw)}
.dc-prose p{margin:0 0 15px;font-size:17px;line-height:1.75;color:var(--ink-soft)}
.dc-prose h2{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:600;color:var(--ink);margin:28px 0 10px}
.dc-tbl{width:100%;max-width:var(--readw);border-collapse:collapse;font-size:16px;margin-top:8px}
.dc-tbl td{padding:11px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.dc-tbl td:first-child{color:var(--ink-faint);width:42%;font-size:14px}

/* Footer */
.dc-foot{margin-top:56px;border-top:2px solid var(--rule);padding:38px 0 30px;background:var(--card)}
.dc-foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:26px;margin-bottom:22px}
.dc-foot-h{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:600;margin-bottom:12px}
.dc-foot-grid a{display:block;padding:4px 0;font-size:14px;color:var(--ink-soft)}
.dc-foot-grid a:hover{color:var(--accent)}
.dc-foot-legal{font-size:13px;color:var(--ink-faint);margin:0;border-top:1px solid var(--rule);padding-top:18px}

@media(max-width:720px){
  .dc-nav{display:none}
  .dc-search input{width:140px}
  .dc-head h1{font-size:33px}
  .dc-hero h1{font-size:38px}
  .dc-single{font-size:26px}
  .dc-q blockquote{font-size:20px}
  body{font-size:16px}
}

/* ===== Premium : lettrine, fleurons ===== */
.dc-fleuron{display:flex;align-items:center;gap:16px;margin:30px 0 0}
.dc-fleuron::before,.dc-fleuron::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.dc-fleuron .orn{color:var(--gold);font-size:16px;letter-spacing:.3em}
.dc-fleuron .orn.small{font-size:12px}
.dc-single-premium{text-align:center;margin:24px auto 0;font-size:36px;line-height:1.32;color:var(--ink);max-width:640px}
.dc-single-premium .dropcap{float:left;font-size:78px;line-height:.72;margin:8px 12px 0 0;color:var(--accent);font-weight:600;font-family:"Cormorant Garamond","Cormorant Fallback",Georgia,serif}
.dc-single-meta{margin:26px auto 0;max-width:560px;background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:20px 26px}
.dc-single-meta .row{display:flex;align-items:baseline;gap:12px;margin:5px 0}
.dc-single-meta .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint);min-width:64px}
.dc-single-meta .dc-dico{margin-left:auto}
.dc-pubinfo{font-size:12px;color:var(--ink-faint);margin-top:10px;padding-top:10px;border-top:1px solid var(--rule)}
@media(max-width:720px){
  .dc-single-premium{font-size:27px}
  .dc-single-premium .dropcap{font-size:58px}
  .dc-single-meta .row{flex-wrap:wrap}
  .dc-single-meta .dc-dico{margin-left:0}
}

/* Liens dicocitations groupés sur la fiche méta */
.dc-dico-links{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:720px){ .dc-dico-links{margin-left:0;width:100%} }
