/* =============================================================================
   Laure Dugher — tokens, polices et styles des blocs de contenu.
   Chargé sur le site ET dans l'éditeur (add_editor_style) pour un rendu fidèle.
   Source : maquette « La Table — variantes » (Terre cuite, Newsreader + Alegreya
   Sans, angles vifs, bandeau panoramique, hero centré, densité aérée).
   ============================================================================= */

@font-face { font-family: 'Newsreader'; font-style: normal; font-weight: 300 500; font-display: swap;
  src: url(../fonts/newsreader-var.woff2) format('woff2'); }
@font-face { font-family: 'Newsreader'; font-style: italic; font-weight: 300 500; font-display: swap;
  src: url(../fonts/newsreader-var-italic.woff2) format('woff2'); }
@font-face { font-family: 'Alegreya Sans'; font-style: normal; font-weight: 400; font-display: swap;
  src: url(../fonts/alegreya-sans-400.woff2) format('woff2'); }
@font-face { font-family: 'Alegreya Sans'; font-style: italic; font-weight: 400; font-display: swap;
  src: url(../fonts/alegreya-sans-400-italic.woff2) format('woff2'); }
@font-face { font-family: 'Alegreya Sans'; font-style: normal; font-weight: 500; font-display: swap;
  src: url(../fonts/alegreya-sans-500.woff2) format('woff2'); }
@font-face { font-family: 'Alegreya Sans'; font-style: normal; font-weight: 700; font-display: swap;
  src: url(../fonts/alegreya-sans-700.woff2) format('woff2'); }

:root {
  --ld-bg: #F1E6D1;
  --ld-surface: #E4D4B6;
  --ld-ink: #2C2118;
  --ld-muted: #7A6349;
  --ld-hairline: rgba(44, 33, 24, 0.22);
  --ld-accent: #9B3B1F;
  --ld-accent-ink: #F6EEDD;
  --ld-img: repeating-linear-gradient(122deg, #DFCFAF 0 6px, #D6C4A0 6px 12px);
  --ld-page: #443529;
  --ld-page-ink: #F1E7D6;
  --ld-font-title: 'Newsreader', Georgia, 'Times New Roman', serif;
  --ld-font-ui: 'Alegreya Sans', 'Segoe UI', Arial, sans-serif;
  --ld-title-weight: 300;
  --ld-max: 1200px;
  --ld-gutter: 56px;
}
@media (max-width: 760px) { :root { --ld-gutter: 22px; } }

body,
.editor-styles-wrapper {
  margin: 0;
  background: var(--ld-bg);
  color: var(--ld-ink);
  font-family: var(--ld-font-title);
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 4px; }

.ld-main { max-width: var(--ld-max); margin: 0 auto; }
.ld-main > * { margin-top: 0; margin-bottom: 0; }

/* Titres (commun) */
.ld-main h1, .ld-main h2, .editor-styles-wrapper h1, .editor-styles-wrapper h2 {
  font-family: var(--ld-font-title);
  font-weight: var(--ld-title-weight);
  color: inherit;
}

/* Surtitre en capitales */
.ld-eyebrow {
  font-family: var(--ld-font-ui);
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ld-muted);
  margin: 0;
}

/* ---------- Bouton d'appel (CTA) ---------- */
.ld-cta { display: flex; flex-direction: column; gap: 12px; align-items: center; }
.ld-cta > * { margin: 0 !important; }
.ld-cta .wp-block-buttons { justify-content: center; }
.ld-cta .wp-block-button__link,
.ld-cta .wp-block-button__link:visited {
  background: var(--ld-accent);
  color: var(--ld-accent-ink);
  padding: 19px 30px;
  border-radius: 0;
  font-family: var(--ld-font-ui);
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
}
.ld-cta__note {
  font-family: var(--ld-font-ui);
  font-size: 16px;
  color: var(--ld-muted);
  text-align: center;
}

/* ---------- Hero ---------- */
.ld-hero { padding: 64px var(--ld-gutter) 48px; text-align: center; }
.ld-hero > * { max-width: 64ch; margin-left: auto !important; margin-right: auto !important; }
.ld-hero .ld-eyebrow { max-width: none; }
.ld-hero h1 { margin: 36px 0 0; font-size: 58px; line-height: 1.1; letter-spacing: -0.02em; }
.ld-hero__lead { margin: 40px 0 0; font-size: 20px; line-height: 1.72; max-width: 58ch; }
.ld-hero .ld-cta { margin-top: 52px; }

/* ---------- Bandeau photo 3:1 (vide tant que la photo n'est pas choisie) ---------- */
.ld-banner {
  margin: 0 var(--ld-gutter);
  aspect-ratio: 3 / 1;
  background: var(--ld-img);
  overflow: hidden;
}
.ld-banner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ld-banner > * { margin: 0 !important; height: 100%; }

/* ---------- Section texte centrée ---------- */
.ld-section { padding: 72px var(--ld-gutter) 0; text-align: center; }
.ld-section h2 { margin: 0; font-size: 40px; line-height: 1.15; letter-spacing: -0.015em; }
.ld-section p { margin: 22px auto 0; font-size: 20px; line-height: 1.72; max-width: 60ch; }
.ld-section p + p + p { margin-top: 18px; }

/* ---------- Accompagnements (grille 2×2) ---------- */
.ld-offers { padding: 72px var(--ld-gutter); }
.ld-offers h2 { margin: 0; text-align: center; font-size: 40px; line-height: 1.15; letter-spacing: -0.015em; }
.ld-cards {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.ld-cards > * { margin: 0 !important; }
.ld-card {
  border: 1px solid var(--ld-hairline);
  background: var(--ld-surface);
  padding: 34px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ld-card > * { margin: 0 !important; }
.ld-card h3 {
  font-family: var(--ld-font-title);
  font-size: 34px;
  line-height: 1.2;
  font-weight: var(--ld-title-weight);
  letter-spacing: -0.015em;
  color: var(--ld-accent);
}
.ld-card p { font-size: 20px; line-height: 1.7; }

.ld-closing { padding: 0 var(--ld-gutter) 120px; }

/* ---------- Qui suis-je ---------- */
.ld-about {
  padding: 72px var(--ld-gutter) 96px;
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 56px;
  align-items: center;
}
.ld-about > * { margin: 0 !important; }
.ld-portrait {
  aspect-ratio: 4 / 5;
  background: var(--ld-surface);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 16px;
  box-sizing: border-box;
}
.ld-portrait:has(img) { padding: 0; }
.ld-portrait > * { margin: 0 !important; }
.ld-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ld-portrait .ld-placeholder {
  font-family: var(--ld-font-ui);
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ld-muted);
}
.ld-about__text > * { margin: 0; }
.ld-about__text .ld-eyebrow { font-size: 14px; letter-spacing: 0.2em; }
.ld-about__text h2 { margin-top: 18px; font-size: 40px; line-height: 1.15; letter-spacing: -0.015em; }
.ld-about__text p:not(.ld-eyebrow):not(.ld-about__meta) { margin-top: 22px; font-size: 20px; line-height: 1.72; max-width: 58ch; }
.ld-about__text p:not(.ld-eyebrow):not(.ld-about__meta) + p:not(.ld-about__meta) { margin-top: 18px; }
.ld-about__meta { margin-top: 22px; font-family: var(--ld-font-ui); font-size: 16px; color: var(--ld-muted); }

/* ---------- Mobile (maquette 380 px) ---------- */
@media (max-width: 760px) {
  .ld-eyebrow { font-size: 12px; line-height: 1.6; text-wrap: balance; }
  .ld-hero { padding: 36px var(--ld-gutter) 40px; }
  .ld-hero h1 { margin-top: 28px; font-size: 38px; line-height: 1.12; }
  .ld-hero__lead { margin-top: 28px; font-size: 19px; }
  .ld-hero .ld-cta { margin-top: 36px; }
  .ld-cta { align-items: stretch; }
  .ld-cta .wp-block-button { width: 100%; }
  .ld-cta .wp-block-button__link { display: block; padding: 19px; font-size: 14px; }

  .ld-section { padding-top: 52px; }
  .ld-section h2, .ld-offers h2 { font-size: 30px; line-height: 1.18; }
  .ld-section p { margin-top: 20px; font-size: 18px; line-height: 1.7; }
  .ld-section p + p { margin-top: 18px; }
  .ld-section p + p + p { margin-top: 16px; }

  .ld-offers { padding: 52px var(--ld-gutter) 44px; }
  .ld-cards { margin-top: 28px; grid-template-columns: 1fr; gap: 14px; }
  .ld-card { padding: 22px; gap: 10px; }
  .ld-card h3 { font-size: 26px; }
  .ld-card p { font-size: 18px; line-height: 1.65; }
  .ld-closing { padding-bottom: 64px; }

  .ld-about { grid-template-columns: 1fr; gap: 32px; padding: 40px var(--ld-gutter) 64px; }
  .ld-about__text h2 { font-size: 30px; line-height: 1.18; }
  .ld-about__text p:not(.ld-eyebrow):not(.ld-about__meta) { font-size: 18px; line-height: 1.7; }
}
