/*
CSS by Manu LECHAT
https://e-lechat.com
fermedebovenant.com
*/

/* ---- fonts ---- */
@font-face { font-family: "Cardo"; src: url("../fonts/Cardo-Regular.ttf") format('truetype'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Cardo"; src: url("../fonts/Cardo-Italic.ttf") format('truetype'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Cardo"; src: url("../fonts/Cardo-Bold.ttf") format('truetype'); font-weight: 700; font-style: normal; font-display: swap; }

@font-face { font-family: "Poppins"; src: url("../fonts/Poppins-Medium.ttf") format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/Poppins-SemiBold.ttf") format('truetype'); font-weight: 600; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/Poppins-Bold.ttf") format('truetype'); font-weight: 700; font-display: swap; }





/* ---- variables ---- */
:root {
    --rouge:        #BA173F;
    --vert:         #318A53;
    --noir_txt:     #20261d;
    --noir:     #212125;
    --brun:         #261f1a;
    --blanc:        #ffffff;
    --beige:        #ffffff59;
    --bg:           #f9f6f0;

    --font_serif:   "Cardo", Georgia, serif;
    --font_sans:    "Poppins", system-ui, sans-serif;

    --maxwidth:     1400px;
    --gutter:       clamp(20px, 4vw, 80px);
    --section_gap:  clamp(60px, 8vw, 120px);
}

/* ---- reset & base ---- */
::selection { background: rgba(159, 37, 57, 0.15); }
* { box-sizing: border-box; outline: none; }
html { min-height: 100vh; background: transparent; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; scroll-behavior: smooth; }
body { min-height: 100vh; display: flex; flex-direction: column; font-family: var(--font_sans); font-weight: 400; font-size: 16px; line-height: 1.36em; color: var(--noir_txt); margin: 0; padding: 0; overflow-x: hidden; }

.bg_tissus::before { content: ''; position: absolute; inset: 0; background-image: url('../images/bg_tissus.png'); background-repeat: repeat; background-size: auto auto; -webkit-mask-image: linear-gradient(to right, transparent 0%, black 60%); mask-image: linear-gradient(to right, transparent 0%, black 60%); pointer-events: none; z-index: 0; }

div { position: relative; display: block; }
header,
section,
main { width: 100%; position: relative; flex: 1; }
footer { width: 100%; position: relative; }

img { max-width: 100%; height: auto; display: block; }
img.cover { width: 100%; height: 100%; object-fit: cover; }

ul { margin: 0; padding: 0; list-style: none; }
li { margin: 0; padding: 0; }

h1,
h2,
h3,
h4,
h5 { font-family: var(--font_serif); font-weight: 400; line-height: 1.1em; letter-spacing: -0.02em; margin: 0; color: var(--noir_txt); }

p { letter-spacing: -0.02em; font-size: 16px; margin: 0; padding: 0; line-height: 1.6em; color: var(--noir_txt); }
a { color: var(--vert); text-decoration: none; text-decoration: underline;  }
a:hover { cursor: pointer; }
strong { font-weight: 700;  opacity: 1; }
figure { margin: 0; padding: 0; }
button { border: none; background: none; cursor: pointer; padding: 0; }

/* ---- conteneurs ---- */
.container {  width: 100%; max-width: var(--maxwidth); padding-left: var(--gutter); padding-right: var(--gutter); margin: 0 auto; }
.slim_container { max-width: 1060px;  width: 100%; padding-left: var(--gutter); padding-right: var(--gutter); margin: 0 auto; }

/* ---- utilitaires ---- */
.txt_rouge  { color: var(--rouge); }
.txt_vert   { color: var(--vert); }
.txt_blanc  { color: var(--blanc); }
.serif      { font-family: var(--font_serif); }
.sans       { font-family: var(--font_sans); }
.maj        { text-transform: uppercase; letter-spacing: 0.03em; }
.bold       { font-weight: 700; opacity: 1;  }


.txt_18{ font-size: 18px; }
.txt_14{ font-size: 14px; }

/* ── SURTITLE TAG ──────────────────────────────────────────────────── */
.surtitle_tag { display: inline-flex; align-items: center; padding: 7px 10px; line-height: 1em; border-radius: 5px; font-family: var(--font_sans); font-weight: 400; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--blanc); width: fit-content; }
.surtitle_tag--rouge  { background: var(--rouge); }
.surtitle_tag--vert   { background: var(--vert); }


/* ── CTA BUTTON ────────────────────────────────────────────────────── */
.bt_cta { display: inline-flex; align-items: center; gap: 10px; padding: 13px 30px; border-radius: 45px; font-family: var(--font_sans); font-size: 15px; font-weight: 500; letter-spacing: 0; color: var(--blanc); background: var(--rouge); transition: background .25s, transform .2s; width: fit-content; white-space: nowrap; text-decoration: none; }
.bt_cta::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: white; flex-shrink: 0; opacity: 0.7; }
.bt_cta:hover { background: #d9455e;  }

.bt_outline { display: inline-flex; align-items: center; gap: 14px; padding: 7px 7px 7px 18px; border-radius: 65px; border: 1px solid transparent; background: var(--beige); box-shadow: 0 4px 16px rgba(0,0,0,0.12); font-family: var(--font_sans); font-size: 16px; font-weight: 400; color: var(--rouge); transition: border-color .2s, box-shadow .2s; width: fit-content; white-space: nowrap; text-decoration: none; }
.bt_outline .bt_icon { transition: all .3s; width: 32px; height: 32px; border-radius: 50%; background: var(--rouge); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--blanc); font-size: 16px; line-height: 1; }
.bt_outline:hover { box-shadow: 0 4px 24px rgba(0,0,0,0.18); color: #d9455e;  }
.bt_outline:hover  .bt_icon{ background: #d9455e;  }
.bt_outline--vert { color: var(--vert); }
.bt_outline--vert .bt_icon { background: var(--vert); }
.bt_outline--vert:hover { gap: 24px; }


/* ── DOTS DÉCORATIFS ────────────────────────────────────────────────── */
.dot { position: absolute; width: 32px; height: 32px; border-radius: 50%; pointer-events: none; }
.dot--blue { background: #37AAD3; }
.dot--yellow { background: #EAA229; }

/* ── SEPARATEUR ────────────────────────────────────────────────────── */
.sep_line { width: 100%; height: 1px; background: var(--rouge); opacity: 0.25; border: none; display: block; }
.sep_line--vert { background: var(--vert); }


/* ═══════════════════════════════════════════════════════════════════
   HEADER / NAV
═══════════════════════════════════════════════════════════════════ */
.site_header { position: absolute; top: 0; left: 0; width: 100%; z-index: 100; padding: 28px var(--gutter);   }
.header_container {  width: 100%; max-width: 2550px; padding-left: var(--gutter); padding-right: var(--gutter); margin: 0 auto; display: flex; align-items: center; justify-content: space-between;  }


.site_header_logo { display: block; width:  240px; flex-shrink: 0; }
.site_header_logo img { width: 100%; height: auto; object-fit: contain; }

.site_nav { display: flex; align-items: center; gap: 40px; }
.site_nav a { font-family: var(--font_sans); font-weight: 600; text-transform: uppercase; font-size: 14px; font-weight: 600; color: var(--noir_txt); text-decoration: none; transition: color .2s; white-space: nowrap; }
.site_nav a:hover,
.site_nav a.active { color: var(--rouge); }

.site_header_right { display: flex; align-items: center; gap: 16px; }

/* ── MENU TOGGLE BUTTON ────────────────────────────────────────── */
.menu_toggle { position: fixed; right: 40px; top: 70px; width: 42px; height: 42px; border-radius: 50%; background: var(--rouge); display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 4px; cursor: pointer; border: none; flex-shrink: 0; transition: background .2s, transform .2s; }
.menu_toggle:hover { background: #d9455e; transform: scale(1.06); }
.menu_toggle span { display: block; width: 5px; height: 5px; border-radius: 50%; background: #fff; }

/* ── FULLSCREEN MENU ───────────────────────────────────────────── */
.fullscreen_menu { position: fixed; inset: 0; z-index: 999; background: var(--bg); display: flex; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.fullscreen_menu.is-open { opacity: 1; pointer-events: all; }

.fullscreen_menu_close { position: absolute; right: 40px; top: 70px; width: 42px; height: 42px; border-radius: 50%; background: white; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--noir_txt); transition: background .2s, color .2s; }
.fullscreen_menu_close:hover { background: var(--rouge); border-color: var(--rouge); color: #fff; }

.fullscreen_menu_nav { display: flex; flex-direction: column; align-items: center; gap: 32px; }

.fullscreen_menu_link { font-family: var(--font_serif); font-size: clamp(36px, 6vw, 72px); font-weight: 400; letter-spacing: -0.02em; line-height: 1em; color: var(--noir_txt); text-decoration: none; transition: color .2s, transform .2s; display: block; }
.fullscreen_menu_link:hover,
.fullscreen_menu_link.active { color: var(--rouge); }
.fullscreen_menu_link:hover { transform: translateX(8px); }

/* mobile burger (legacy — kept for safety) */
.burger { display: none; flex-direction: column; gap: 5px; width: 28px; cursor: pointer; }
.burger span { display: block; height: 2px; background: var(--noir_txt); border-radius: 2px; transition: all .3s; }


.img_header{ z-index: 10; position: absolute; width:240px; top: 0px; right: 80px; mix-blend-mode: multiply; }

/* ── LIEN CONTACT FIXE VERTICAL ───────────────────────────────── */
.contact_fixed_link { position: fixed; right: 0px; top: 50%;  min-height: 34px;  color: var(--noir_txt); transform: translateY(-50%) rotate(90deg); transform-origin: center center; z-index: 200; font-family: var(--font_sans); font-size: 12px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; text-decoration: none; padding: 8px 18px; border-radius: 0 0 5px 5px ;  transition: right .2s, color .2s; }
.contact_fixed_link:hover,
.contact_fixed_link.active { color: var(--rouge);}

/* ── BOUTON RÉSERVATION FLOTTANT ───────────────────────────────── */
.cta_float { position: fixed; bottom: 32px; right: 32px; z-index: 900; opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .35s ease, transform .35s ease; }
.cta_float.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
@media (max-width: 600px) { .cta_float { bottom: 20px; right: 16px; } }

/* ═══════════════════════════════════════════════════════════════════
   HOME — HERO
═══════════════════════════════════════════════════════════════════ */
.home_hero { width: 100%; padding-top: 260px; padding-bottom: 100px; }
.home_hero .container { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }

/* média */
.home_hero_media { z-index: 10; position: relative;  border-radius: 5px; aspect-ratio: 16/11; }
.home_hero_media .home_hero_img { border-radius: 5px; background-color: white; padding: 0px; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home_hero_media .home_hero_img img{  inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 3px;  }
.home_hero_media .mini_photo{ box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.08);  right: -30px; bottom: -30px; transform: rotate(2deg); object-fit: cover; border-radius: 5px; background-color: white; padding: 5px; position: absolute; width: 250px; height: 180px; object-fit: cover; }
.home_hero_media .mini_photo img{  inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 3px;  object-position: center; }

/* contenu texte */
.home_hero_content { display: flex; flex-direction: column; justify-content: center; gap: 20px; }
.suptitle {  font-family: "Poppins"; font-size: 16px; font-weight: 600; line-height: normal; text-transform: uppercase; color: var(--rouge); letter-spacing: -0.02em; }
.home_hero_title {  font-weight: 400;  ; font-family: var(--font_serif); font-size:  52px; line-height: 1.08em; letter-spacing: -0.03em; color: var(--noir_txt); margin-bottom: 4px; max-width: 540px; }
.home_hero_text { opacity: 0.7; font-size: 16px; line-height: 1.6em; color: var(--brun); max-width: 440px; }
.home_hero .suptitle:before{ content: "" ;  width: 32px; height: 1px; background-color: var(--rouge); }
/* localisation */
.home_hero_loc { display: flex; flex-direction: column; gap: 8px; margin-bottom: 36px; }
.home_hero_loc_text { font-size: 16px; color: var(--noir_txt); max-width: 260px; }
.home_hero_loc_text a { text-decoration: underline; color: inherit; }

/* cercle décoratif */
.home_hero_circle { position: absolute; top: 24px; right: 12%; width: clamp(100px, 10vw, 148px); height: clamp(100px, 10vw, 148px); pointer-events: none; }
.home_hero_circle img { width: 100%; height: 100%; }


/* ═══════════════════════════════════════════════════════════════════
   HOME — RÉSERVATION (section bandeau)
═══════════════════════════════════════════════════════════════════ */
/* .section_resa_bg::before { content: ''; position: absolute; inset: 0; background-image: url('../images/bg_tissus.png'); background-repeat: repeat; background-size: auto auto; -webkit-mask-image: linear-gradient(to left, transparent 0%, rgba(0, 0, 0, 0.465) 60%); mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.549) 60%); pointer-events: none; z-index: 0;  } */
.resa_bg { position: absolute; width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; opacity: 0.8; filter: brightness(1.15); }
.section_resa_bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(255,255,255,0.45) 0%, rgba(0,0,0,0.18) 100%); pointer-events: none; z-index: 1; }
.section_resa { position: relative;  overflow: hidden; padding: clamp(60px, 8vw, 100px) 0; }
.home_hero .dot1,
.home_hero .dot2,
.home_hero .dot3,
.home_hero .dot4 { display: block; position: absolute; width: 31px; height: 31px; border-radius: 50%; pointer-events: none; z-index: 10; }
.home_hero .dot1 { background: var(--rouge); top: 30%; left: 5%; }
.home_hero .dot2 { background: var(--rouge); top: 60%; right: 8%; }
.home_hero .dot3 { background: var(--rouge); bottom: 0px; left: 40%; }
.home_hero .dot4 { background: var(--rouge); top: 15%; right: 30%; }
.section_resa_bg { position: absolute; inset: 0; }


.home_hero_resa_right{  display: flex; gap: 0px; width: 100%; flex-direction: column;  }
.home_hero_resa_right svg{ margin-bottom: 20px; color: (--vert); }

.section_resa::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url(../images/bg_tissus.png);
    background-repeat: repeat;
    background-size: auto auto;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.388) 60%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.388) 60%);
    pointer-events: none;
    z-index: 0;
}


/* .section_resa_bg:after { content: ""; width: 100%; height: 100%; background-color:rgb(255, 255, 255); opacity: 0.03; display: block; position: absolute;  } */
/* .section_resa_bg img { width: 100%; height: 116%; object-fit: cover; object-position: center; position: absolute; top: -8%; left: 0; will-change: transform; } */
.section_resa_card { box-shadow: 0 10px 10px 0 rgba(0, 0, 0, 0.08); background: white; background-blend-mode: color-burn; background-size: cover; border-radius: 12px; padding: 60px 80px; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); align-items: center; max-width: 980px; margin: 0 auto; position: relative; z-index: 2; }
.section_resa_title { font-family: var(--font_serif); font-size: 36px; color: var(--noir_txt); line-height: 1.1em; letter-spacing: -0.04em; margin-bottom: 20px; }
.section_resa_list { display: flex; flex-direction: column; gap: 0px; margin-bottom: 32px; }
.section_resa_list li { display: flex; align-items: center; gap: 12px; font-size: 16px; color: var(--noir_txt); }
.section_resa_list li::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--rouge); flex-shrink: 0; }
.section_resa_loc { display: flex; flex-direction: column; gap: 16px; }
.section_resa_loc p { max-width: 280px; }
.section_resa_loc_header { display: flex; align-items: flex-start; gap: 12px; max-width: 350px; }
.section_resa_loc_header svg { flex-shrink: 0; margin-top: 2px; }
.section_resa_loc_label { font-family: var(--font_sans); font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--rouge); line-height: 1.4em; }
.section_resa_loc_text { font-size: 18px; color: var(--noir_txt); line-height: 1.6em; }
.section_resa_loc_text a { text-decoration: underline; color: inherit; }
.home_hero_intro{ display: flex; gap: 40px; align-items: center; }
.home_hero_intro img{ width: 106px; height: 147px; object-fit: cover; border-radius: 5px ; }
.section_resa .radis{ position: absolute; right: 0px; top: 0px; z-index: 11; mix-blend-mode: multiply; width: 240px; }
.template_home .hero_resa{display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 80px); align-items: center; max-width: 980px; margin: 0 auto;  }
.template_home .home_hero_resa{ padding-bottom: 60px; }

/* ═══════════════════════════════════════════════════════════════════
   HOME — SECTION GALERIE TABLE (fond texturé)
═══════════════════════════════════════════════════════════════════ */
.block_galerie { position: relative; background: var(--noir); padding: var(--section_gap) 0; overflow: hidden; margin-bottom: 40px; }
/* .block_galerie::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80vmin; height: 80vmin; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 100%); pointer-events: none; } */
.block_galerie_bg { display: none; mix-blend-mode: color; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: auto; height: 100%; object-fit: contain pointer-events: none; }
.block_galerie_inner { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 2vw, 20px); padding: 0 var(--gutter); }

/* colonne gauche */
.block_galerie_col--left { display: flex; flex-direction: column; align-items: flex-end; gap: 16px; flex-shrink: 0; width: 280px; }
.block_galerie_title { position: relative; font-family: var(--font_serif); font-size: clamp(28px, 3vw, 40px); line-height: 1.1em; letter-spacing: -0.02em; color: var(--blanc); text-align: right; margin-bottom: 8px; }
.block_galerie_title .dot--blue  { top: -10px; left: -50px; }
.block_galerie_title .dot--yellow { top: -10px; left: -14px; }
.block_galerie_img { border-radius: 5px; overflow: hidden; flex-shrink: 0; }
.block_galerie_img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* colonne centrale : grande photo */
.block_galerie_col--center { flex-shrink: 0; width:  420px; }
.block_galerie_col--center .block_galerie_img { aspect-ratio: 9/14; width: 100%; }
.block_galerie_col--center .block_galerie_img img { transform-origin: center center; will-change: transform; }

/* colonne droite */
.block_galerie_col--right { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; flex-shrink: 0; width:  280px; }


/* ═══════════════════════════════════════════════════════════════════
   HOME — SECTION VIRGINIE
═══════════════════════════════════════════════════════════════════ */
.block_paragraphe { --color: var(--rouge); background-color: white;  padding: 60px 0 ; }
.block_paragraphe.vert{ --color: var(--vert);  }

.block_paragraphe .surtitle_tag{ background-color: var(--color); }
.block_paragraphe .sep_line { display: none; border: none; height: 0; border-top: 1px dashed var(--color); opacity: 0.5; background: none; }
.block_paragraphe_inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 80px); align-items: start; }
.block_paragraphe_text { display: flex; flex-direction: column; gap: 24px; }

.block_paragraphe_text_inner{ display: flex; flex-direction: column; gap: 25px; }

.block_paragraphe_title { font-family: var(--font_serif); font-size:  52px; letter-spacing: -0.02em; color: var(--color); line-height: 1.1em; }
.block_paragraphe_intro { opacity: 1; font-weight: 700; font-size: 16px; line-height: 1.65em; color: var(--noir_txt); }
.block_paragraphe_body { columns: 2; column-gap: 32px; font-size: 16px; line-height: 1.65em; color: var(--noir_txt); }
.block_paragraphe_readmore { display: none; }
.block_paragraphe_photo { position: relative; padding: 40px var(--section_gap); display: flex; flex-direction: column; gap: 14px; }
.block_paragraphe_photo_inner { border-radius: 5px; overflow: hidden; width: 100%; margin: auto; }
.block_paragraphe_photo_inner img { width: 100%; height: 100%; aspect-ratio: 14/16; object-fit: cover; }
.block_paragraphe_photo_caption { max-width: 80%; line-height: 1.6em; font-family: var(--font_serif); font-size: 32px; letter-spacing: -0.02em; color: var(--color); line-height: 1.35em; }

.block_paragraphe--vert .sep_line { border-top-color: var(--vert); }
.block_paragraphe--vert .block_paragraphe_title { color: var(--vert); }
.block_paragraphe--vert .block_paragraphe_photo_caption { color: var(--vert); }




.block_paragraphe.polaroid .block_paragraphe_title{ font-size: 38px; font-weight: 700; }
.block_paragraphe.polaroid .block_paragraphe_right{ width: 100%;  display: flex; justify-content: center; }
.block_paragraphe.polaroid .block_polaroid_photo{ background-color: white; width: 400px; transform: rotate(2deg); box-shadow: 0 9.625px 23.375px 0 rgba(0, 0, 0, 0.09); padding: 13px; border-radius: 6px;  }
.polaroid_photo{ background-color: white; transform: rotate(2deg); box-shadow: 0 9.625px 23.375px 0 rgba(0, 0, 0, 0.09); padding: 13px; border-radius: 6px;  }
.polaroid_photo img{ border-radius: 3px; }
.block_paragraphe.polaroid .block_polaroid_photo img{ aspect-ratio:  4/3; border-radius: 3px;}
.block_paragraphe.polaroid .block_polaroid_photo_caption{ font-size: 12px; text-align: center; padding: 20px 0 12px; }

/* ═══════════════════════════════════════════════════════════════════
   HOME — CITATION
═══════════════════════════════════════════════════════════════════ */
.block_citation {  padding: 60px 0 ;; text-align: center; background: transparent; }
.block_citation_text { font-family: var(--font_serif); font-size: 38px;  letter-spacing: -0.02em; color: var(--noir_txt); max-width: 980px; letter-spacing: -0.01em; margin: 0 auto; line-height: 1.1em;  }

.template_article .block_citation_text{ font-size: 32px; }

/* ═══════════════════════════════════════════════════════════════════
   TEMPLATE — ARTICLE
═══════════════════════════════════════════════════════════════════ */
.template_article { padding-top: 140px; padding-bottom: 80px; }
.template_article .slim_container { padding-top: 0; }
.template_article .article_container{ background: white; padding: 0 80px 80px 80px; border-radius: 20px; }
.template_article .block_paragraphe.polaroid .container{ padding-left: 0; padding-right: 0; }
.template_article .block_paragraphe.polaroid .block_polaroid_photo{ width: 300px; }
.template_article .block_paragraphe_inner{ grid-template-columns: 60% 40%; }

.template_default{ padding-top: 140px; padding-bottom: 80px; }
.template_default  h1{ margin: 20px 0; font-size: 48px; }
.template_default .default_page_body h2{ margin: 20px 0; font-size: 32px; }

/* Fil d'ariane */
.article_breadcrumb { display: flex; align-items: center; gap: 8px; font-family: var(--font_sans); font-size: 13px; color: var(--rouge); flex-wrap: wrap; margin-bottom: 32px; }
.article_breadcrumb a { color: var(--rouge); text-decoration: underline; text-underline-offset: 3px; }
.article_breadcrumb a:hover { opacity: 0.7; }
.article_breadcrumb_sep { opacity: 0.5; }
.article_breadcrumb_current { color: var(--noir_txt); opacity: 0.5; }

/* Meta : date badge + chapter */
.article_meta { display: flex; align-items: center; gap: 24px; margin-bottom: 28px; flex-wrap: wrap; }
.article_date_badge { display: inline-flex; align-items: center; gap: 12px; border: 1px solid var(--rouge); padding: 6px 14px; }
.article_date_day { font-family: var(--font_serif); font-weight: 700; font-size: 28px; line-height: 1em; color: var(--rouge); }
.article_date_sep { width: 1px; height: 18px; background: var(--rouge); opacity: 0.4; }
.article_suptitle { font-family: var(--font_sans); font-weight: 700; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rouge); }
.article_chapter { font-family: var(--font_sans); font-weight: 700; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: #7c7c7c; }

/* Titre / Intro */
.article_header {  display: flex; flex-direction: column; gap: 20px; margin-bottom: 40px; }
.article_title { font-family: var(--font_serif); font-size: 72px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.05em; color: var(--noir_txt); }
.article_intro { font-family: var(--font_serif); font-weight: 700; font-size: clamp(18px, 2vw, 26px); line-height: 1.4em; color: var(--rouge); }


.page_intro { max-width: 720px; padding-top: 1em; color: #736b63 }



/* Cover */
.article_cover { border-radius: 5px; overflow: hidden; margin-bottom: 48px; }
.article_cover img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }

/* Corps */
.article_body { columns: 2; column-gap: clamp(28px, 4vw, 56px); font-size: clamp(16px, 1.2vw, 21px); line-height: 1.7em; color: var(--noir_txt); margin-bottom: 60px; }
.article_body p { margin-bottom: 1.2em; break-inside: avoid; }
.article_body h2 { font-family: var(--font_serif); font-weight: 700; font-size: clamp(24px, 2.5vw, 38px); letter-spacing: -0.02em; line-height: 1.15em; color: var(--vert); margin: 1.5em 0 0.6em; column-span: all; }
.article_body h3 { font-family: var(--font_serif); font-weight: 700; font-size: clamp(20px, 1.8vw, 28px); color: var(--noir_txt); margin: 1.2em 0 0.5em; }
.article_body strong { font-weight: 700; }
.article_body em { font-style: italic; }
.article_body a { color: var(--rouge); text-underline-offset: 3px; }

/* Partage */
.article_share { display: flex; align-items: center; justify-content: flex-end; gap: 16px; padding: 32px 0; border-top: 1px solid rgba(42,127,70,0.15); margin-top: 20px; }
.article_share_label { font-family: var(--font_sans); font-size: 14px; font-weight: 400; color: #739959; white-space: nowrap; }
.article_share_buttons { display: flex; align-items: center; gap: 10px; }
.article_share_btn { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none; transition: transform .2s, opacity .2s; flex-shrink: 0; border: none; cursor: pointer; }
.article_share_btn:hover { transform: scale(1.1); opacity: 0.9; }
.article_share_btn svg { width: 18px; height: 18px; }
.article_share_btn--whatsapp { background: #25d366; }
.article_share_btn--facebook { background: #1877f2; }
.article_share_btn--copy { background: #739959; }
.article_share_btn--copy.copied { background: var(--vert); }

/* À lire ensuite */
.article_related { padding: 60px 0 80px; }
.article_related_label { font-family: var(--font_sans); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #736b63; margin-bottom: 14px; }
.article_related_line { border: none; border-top: 1px solid #d1ccc4; margin: 0 0 32px; }
.article_related_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.article_related_card { text-decoration: none; display: flex; flex-direction: column; gap: 10px; }
.article_related_card_img { border-radius: 4px; overflow: hidden; background: #b8ad9e; }
.article_related_card_img img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; transition: transform .35s; }
.article_related_card_img--placeholder { aspect-ratio: 16/10; }
.article_related_card:hover .article_related_card_img img { transform: scale(1.04); }
.article_related_card_suptitle { font-family: var(--font_sans); font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rouge); }
.article_related_card_title { font-family: var(--font_serif); font-weight: 700; font-size: 20px; line-height: 1.3em; color: var(--noir_txt); }

/* ═══════════════════════════════════════════════════════════════════
   BLOCK — ARTICLE GALLERY (swiper)
═══════════════════════════════════════════════════════════════════ */
.block_article_gallery { padding: 40px 0; }
.block_article_gallery_text { font-family: var(--font_serif); font-size: clamp(18px, 1.8vw, 24px); line-height: 1.5em; color: var(--noir_txt); margin-bottom: 28px; }

.article_gallery_swiper { border-radius: 5px; overflow: hidden; }
.article_gallery_swiper .swiper-slide img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; transform: scale(1.06) rotate(0.8deg); transition: transform 4.5s ease; }
.article_gallery_swiper .swiper-slide-active img { transform: scale(1) rotate(0deg); }

.block_article_gallery .swiper-controls { display: flex; align-items: center; justify-content: space-between; padding: 16px 0 0; }

.article_gallery_swiper .swiper-pagination { position: static; display: flex; align-items: center; gap: 8px; }
.article_gallery_swiper .swiper-pagination-bullet { width: 8px; height: 8px; background: var(--brun); opacity: 0.25; margin: 0 !important; transition: opacity .25s, width .25s; }
.article_gallery_swiper .swiper-pagination-bullet-active { opacity: 1; background: var(--brun); width: 24px; border-radius: 4px; }

.swiper-nav { display: flex; align-items: center; gap: 8px; }
.swiper-nav .swiper-button-prev,
.swiper-nav .swiper-button-next { position: static !important; width: 42px !important; height: 42px !important; border-radius: 50%; background: var(--bg); color: var(--brun); margin: 0 !important; transform: none !important; display: flex !important; align-items: center; justify-content: center; flex-shrink: 0; transition: background .2s; }
.swiper-nav .swiper-button-prev::after,
.swiper-nav .swiper-button-next::after { font-size: 13px !important; font-weight: 700; }
.swiper-nav .swiper-button-prev:hover,
.swiper-nav .swiper-button-next:hover { background: #e8e2d8; }

/* ═══════════════════════════════════════════════════════════════════
   TEMPLATE — ARTICLES (journal)
═══════════════════════════════════════════════════════════════════ */
.template_articles { padding-top: 140px; padding-bottom: 100px; }

.articles_header { padding-bottom: 60px; max-width: 720px; margin: auto;   }
.articles_title { font-family: var(--font_serif); font-size: 72px; font-weight: 400; letter-spacing: -0.02em; line-height: 1.05em; color: var(--noir_txt); }

.articles_grid { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(24px, 3vw, 48px); }
.articles_grid > * { flex: 0 1 calc(25% - clamp(18px, 2.25vw, 36px)); min-width: 220px; }

.article_card { display: flex; flex-direction: column; gap: 18px; text-decoration: none; color: inherit; }
.article_card_img { border-radius: 5px; overflow: hidden; background: #d1ccc4; }
.article_card_img img { width: 100%; aspect-ratio: 3/2; object-fit: cover; display: block; transition: transform .4s ease; }
.article_card_img_placeholder { aspect-ratio: 3/2; }
.article_card:hover .article_card_img img { transform: scale(1.04); }

.article_card_body { display: flex; flex-direction: column; gap: 10px; }
.article_card_meta { display: flex; align-items: center; gap: 6px; font-family: var(--font_sans); font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rouge); }
.article_card_meta_sep { opacity: 0.5; }
.article_card_title { font-family: var(--font_serif); font-weight: 700; font-size: clamp(18px, 1.6vw, 24px); line-height: 1.25em; letter-spacing: -0.02em; color: var(--noir_txt); transition: color .2s; }
.article_card:hover .article_card_title { color: var(--rouge); }
.article_card_intro { font-size: 14px; line-height: 1.6em; color: #736b63; }

.articles_empty { font-family: var(--font_serif); font-size: 22px; color: #999; padding: 60px 0; }

/* ═══════════════════════════════════════════════════════════════════
   BLOCK — PRESENTATIONS
═══════════════════════════════════════════════════════════════════ */
.block_presentations { padding: 60px 0; }
.block_presentations_title { font-family: var(--font_serif); font-size: clamp(42px, 5.5vw, 68px); letter-spacing: -0.02em; color: var(--noir_txt); line-height: 1.1em; text-align: center; margin-bottom: 60px; }

.block_presentations_grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 80px); align-items: start; }

.block_presentations_item { --color: var(--rouge); display: flex; flex-direction: column; gap: 20px; }
.block_presentations_item.vert { --color: var(--vert); }

.block_presentations_surtitle { font-family: var(--font_sans); font-weight: 700; font-size: 18px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color); line-height: 1em; }

.block_presentations_photo { border-radius: 5px; overflow: hidden; width: 100%; }
.block_presentations_photo img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }

.block_presentations_item_title { font-family: var(--font_serif); font-weight: 700; font-size: clamp(22px, 2.5vw, 30px); letter-spacing: -0.03em; color: var(--color); line-height: 1.3em; }

.block_presentations_body { font-size: 16px; line-height: 1.65em; color: var(--noir_txt); }
.block_presentations_body p { margin-bottom: 1em; }
.block_presentations_body p:last-child { margin-bottom: 0; }

.bloc_image{  padding: 40px 0 ;  width: 100%;  overflow: hidden; }
.bloc_image .container{ border-radius: 5px; overflow: hidden; padding: 0; }
.bloc_image img{ object-fit: cover;  width: 100%; height: 115%; min-height: 300px; will-change: transform; }


/* ═══════════════════════════════════════════════════════════════════
   HOME — SECTION JARDIN
═══════════════════════════════════════════════════════════════════ */
.home_jardin { padding: var(--section_gap) 0; background: transparent; }
.home_jardin_inner { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 80px); align-items: start; }
.home_jardin_text { display: flex; flex-direction: column; gap: 24px; }
.home_jardin_title { font-family: var(--font_serif); font-size: clamp(34px, 3.5vw, 48px); letter-spacing: -0.02em; color: var(--vert); line-height: 1.15em; }
.home_jardin_chapeau { font-weight: 700; font-size: 21px; line-height: 1.5em; color: var(--brun); }
.home_jardin_cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; font-size: 18px; color: var(--brun); }
.home_jardin_media { display: flex; flex-direction: column; gap: 20px; }
.home_jardin_photo { border-radius: 4px; overflow: hidden; aspect-ratio: 4/3; }
.home_jardin_photo img { width: 100%; height: 100%; object-fit: cover; }
.home_jardin_subtitle { font-family: var(--font_serif); font-size: clamp(22px, 2.5vw, 30px); letter-spacing: -0.03em; color: var(--vert); line-height: 1.25em; }


/* ═══════════════════════════════════════════════════════════════════
   HOME — SECTION CONTACT / CARTE (fond photo)
═══════════════════════════════════════════════════════════════════ */
.home_contact { position: relative; overflow: hidden; height: clamp(500px, 50vw, 710px); }
.home_contact_bg { position: absolute; inset: 0; }
.home_contact_bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.home_contact_bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0) 30%, rgba(0,0,0,0.5) 100%); }
.home_contact_card { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: transparent; border-radius: 10px; box-shadow: 0 14px 24px rgba(0,0,0,0.1); width: min(700px, 90vw); display: grid; grid-template-columns: 1fr auto; overflow: hidden; z-index: 2; }
.home_contact_body { padding: clamp(28px, 3vw, 48px); display: flex; flex-direction: column; gap: 16px; }
.home_contact_logo { width: clamp(80px, 10vw, 130px); margin-bottom: 8px; }
.home_contact_logo img { width: 100%; height: auto; }
.home_contact_suptitle { font-family: var(--font_sans); font-weight: 700; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--rouge); }
.home_contact_title { font-family: var(--font_serif); font-weight: 700; font-size: clamp(22px, 2.5vw, 36px); letter-spacing: -0.03em; color: var(--noir_txt); line-height: 1.1em; }
.home_contact_list { display: flex; flex-direction: column; gap: 8px; }
.home_contact_list li { display: flex; align-items: baseline; gap: 10px; font-size: 18px; color: var(--noir_txt); line-height: 1.6em; }
.home_contact_list li::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--rouge); flex-shrink: 0; position: relative; top: -1px; }
.home_contact_map { display: flex; flex-direction: column; gap: 8px; padding-top: 8px; font-size: 18px; color: var(--noir_txt); }
.home_contact_photo { width: clamp(120px, 12vw, 200px); flex-shrink: 0; overflow: hidden; }
.home_contact_photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.home_contact_pin_label { font-family: var(--font_serif); font-size: clamp(20px, 2vw, 30px); letter-spacing: -0.03em; line-height: 1.2em; color: var(--noir_txt); }


/* ═══════════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════════ */
.site_footer {justify-content: center; background: var(--noir_txt); padding: clamp(24px, 3vw, 40px) var(--gutter); display: flex; align-items: center;  gap: 20px; flex-wrap: wrap; }
.site_footer p { font-size: 12px; color: rgba(255, 255, 255, 0.643); line-height: 1.4em; }
.site_footer a { color: rgba(255, 255, 255, 0.751); transition: color .2s; }
.site_footer a:hover { color: var(--blanc); }
.footer_mentions { font-size: 12px; text-decoration: none; opacity: 0.6; }

.social_fixed { position: fixed; bottom: 24px; left: 24px; z-index: 100; display: flex; flex-direction: column; gap: 10px; align-items: center; }
.social_fixed_link { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: #F5C127; border-radius: 50%; color: rgba(255,255,255,0.85); transition: color .2s, transform .2s, background .2s; }
.social_fixed_link:hover { color: var(--blanc); transform: scale(1.1); }
.social_fixed_link svg { width: 22px; height: 22px; }


/* ═══════════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {

    .suptitle { font-size: 14px; }
    .img_header{ right: -60px; }
    .home_hero { padding-top: 140px; padding-bottom: 48px; }
    .home_hero .container { grid-template-columns: 1fr; gap: 10px; display: flex; flex-direction: column-reverse; }
    .home_hero_media { aspect-ratio: 16/10; padding: 0 var(--gutter);  }
    .home_hero_content { padding: 32px 0 0; }
    .home_hero_title { font-size: clamp(30px, 7vw, 44px); }
    .home_hero_intro { flex-direction: column; gap: 16px; }
    .home_hero_intro img { width: 80px; height: auto; }
    .home_hero_content .suptitle{ max-width: 95%; }
    .home_hero_content{ gap: 5px; }

    .template_home .hero_resa{ display: flex; flex-direction: column-reverse; max-width: 100%; padding: 0 var(--gutter);} 
    .template_home .hero_resa  .section_resa_left{ width: 100%;  }
    .template_home .hero_resa  .section_resa_right{ width: 100%; }
    .section_resa_card { grid-template-columns: 1fr; transform: translateY(0); margin: 0 var(--gutter); }
    .section_resa_photo { display: none; }
    .block_galerie_inner { flex-direction: column; align-items: stretch; gap: 20px; }
    .block_galerie_col--left { width: 100%; justify-content: center; flex-wrap: wrap; flex-direction: column; align-items: stretch; gap: 12px; display: grid; grid-template-columns: 1fr 1fr; }
    .block_galerie_title { text-align: center; font-size: clamp(26px, 6vw, 36px); margin-bottom: 4px; }
    .block_galerie_col--left .block_galerie_img:last-child { width: 100% !important; grid-column: auto;  display: none;}
    /* .block_galerie_col--left .block_galerie_img:last-child{ border: 1px solid red; width: 50%; } */
    .block_galerie_col--center { width: 100%; }
    /* .block_galerie_col--center .block_galerie_img { aspect-ratio: 4/3; } */
    .block_galerie_col--right { display: flex; width: 100%; flex-direction: row; gap: 12px; }
    .block_galerie_col--right .block_galerie_img { flex: 1; aspect-ratio: 3/2 !important; width: auto !important; }

    .article_body { columns: 1; }
    .article_related_grid { grid-template-columns: 1fr 1fr; }
    .articles_grid > * { flex-basis: calc(50% - clamp(12px, 1.5vw, 24px)); }

    .block_presentations_grid,
    .block_paragraphe_inner,
    .home_jardin_inner { grid-template-columns: 1fr; }
    .block_paragraphe_photo { order: -1; }

.block_paragraphe_inner{ flex-direction: column-reverse; }
    .block_paragraphe_body { columns: 1; display: none; }
    .block_paragraphe_text_inner.is-open .block_paragraphe_body { display: block; }
    .block_paragraphe_readmore { display: inline-block; margin: 12px 0; font-size: 14px; font-weight: 600; color: var(--noir_txt); text-decoration: underline; cursor: pointer; }
    .home_jardin_cols { grid-template-columns: 1fr; }

    .home_contact_card { grid-template-columns: 1fr; }
    .home_contact_photo { display: none; }

    .site_nav { display: none; }
    .burger { display: flex; }
    .block_citation{ padding: 30px 0; }
    .bloc_image{ padding: 30px 0; }
    .site_header_logo { width:  130px;} 
}

@media (max-width: 600px) {
    .block_citation_text { font-size:  28px; }
    .section_resa_body { padding: 24px; }
    .article_related_grid { grid-template-columns: 1fr; }
    .articles_grid > * { flex-basis: 100%; }
}


/* ══════════════════════════════════════════════════════════════════════
   TEMPLATE RECETTES (listing)
══════════════════════════════════════════════════════════════════════ */

.template_recettes { padding-top: 140px; padding-bottom: 100px; }
.template_recette { padding-top: 140px; padding-bottom: 100px; }

.recettes_intro { text-align: center; margin-bottom: clamp(40px, 5vw, 72px); }
.recettes_intro .suptitle { color: var(--rouge); margin-bottom: 12px; }
.recettes_title { font-family: var(--font_serif); font-size: clamp(36px, 5vw, 64px); font-weight: 700; line-height: 1.1; margin: 0 0 20px; }
.recettes_desc { font-size: 18px; color: #5a5249; max-width: 540px; margin: 0 auto; line-height: 1.6; }

.recettes_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(24px, 3vw, 40px);
}

/* ── Recette card ── */
.recette_card { display: flex; flex-direction: column; gap: 18px; text-decoration: none; color: inherit; }
.recette_card_img { border-radius: 5px; overflow: hidden; background: #d1ccc4; }
.recette_card_img img { width: 100%; aspect-ratio: 16/8; object-fit: cover; display: block; transition: transform .4s ease; }
.recette_card_img_placeholder { aspect-ratio:16/8;}
.recette_card:hover .recette_card_img img { transform: scale(1.04); }

.recette_card_body { display: flex; flex-direction: column; gap: 10px; }
.recette_card_meta { display: flex; align-items: center; gap: 6px; font-family: var(--font_sans); font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rouge); }
.recette_card_badge { color: var(--rouge); }
.recette_card_meta_sep { opacity: 0.5; }
.recette_card_date { color: var(--rouge); }
.recette_card_title { font-family: var(--font_serif);  color: var(--black);  font-weight: 700; font-size: clamp(18px, 1.6vw, 24px); line-height: 1.15em; letter-spacing: -0.02em;  transition: color .2s; }
.recette_card:hover .recette_card_title { color: var(--vert); }
.recette_card_intro { font-size: 14px; line-height: 1.6em; color: #736b63; }
.recette_card_infos { color: var(--vert);  display: flex; gap: 12px; flex-wrap: wrap; }
.recette_card_infos span { font-size: 11px; color: #736b63; color: var(--vert); }


/* ══════════════════════════════════════════════════════════════════════
   TEMPLATE RECETTE (detail)
══════════════════════════════════════════════════════════════════════ */

.template_recette {  padding-bottom: var(--section_gap); }

.recette_container {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 var(--gutter);
}

/* ── Card principale ── */
.recette_detail_card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 14px 40px rgba(0,0,0,0.08);
    overflow: hidden;
}

/* ── En-tête card ── */
.recette_card_header {
    padding: clamp(32px, 4vw, 56px) clamp(32px, 5vw, 72px);
    display: grid;
    grid-template-columns: 250px 1fr;
    grid-template-rows: auto auto;
    column-gap: clamp(24px, 3vw, 48px);
    align-items: start;
}

.recette_cover_circle {
    grid-row: 1 / 3;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.12);
}
.recette_cover_circle img { width: 100%; height: 100%; object-fit: cover; display: block; }

.recette_badge { align-self: start; margin-bottom: 12px; }

.recette_header_content { grid-column: 2; padding: 20px 0 0px;  }
.recette_title {
    font-family: var(--font_serif);
    font-size: clamp(28px, 3.5vw, 48px);
    font-weight: 400;
    line-height: 1.2;
    color: var(--brun);
    margin: 0 0 20px;
}
.recette_intro {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.65;
    color: #3a3028;
    margin: 0;
}

/* ── Corps : sidebar + étapes ── */
.recette_detail_body {
    display: grid;
    grid-template-columns: 330px 1fr;
}

/* Sidebar */
.recette_sidebar {
    padding: clamp(24px, 3vw, 40px) clamp(20px, 3vw, 40px);
}

.recette_infos { margin-bottom: 24px; }
.recette_portions {
    font-family: var(--font_sans);
    font-size: 14px;
    font-weight: 700;
    color: var(--rouge);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin: 0 0 10px;
}
.recette_timing { list-style: none; margin: 0; padding: 0; }
.recette_timing li { font-size: 13px; color: #5a5249; padding: 4px 0; }
.recette_timing li span { display: block; font-weight: 600; color: var(--brun); font-size: 11px; text-transform: uppercase; letter-spacing: .6px; }

.recette_ingredients_title {
    font-family: var(--font_sans);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--brun);
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--rouge);
    display: inline-block;
}
.recette_ingredients ul { list-style: none; margin: 0; padding: 0; }
.recette_ingredients li { font-size: 12px; line-height: 1.5; padding: 5px 0;  display: flex; gap: 8px; letter-spacing: -0.03em; align-items: baseline; }
.recette_ingredients li:last-child { border-bottom: none; }
.recette_qty { font-weight: 700; color: var(--brun); flex-shrink: 0; }

.recette_notes { margin-top: 24px; font-size: 13px; line-height: 1.6; color: #6a6059; }
.recette_notes p { margin: 0 0 8px; font-size: 12px; }
.recette_notes strong { color: var(--brun); }

/* Étapes */
.recette_steps { padding: clamp(24px, 3vw, 40px); }

.recette_step { margin-bottom: 32px; }
.recette_step:last-of-type { margin-bottom: 0; }

.recette_step_header { margin-bottom: 10px; }
.recette_step_num {
    display: inline-block;
    font-family: var(--font_sans);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--rouge);
    margin-bottom: 4px;
}
.recette_step_title { font-family: var(--font_serif); font-size: 18px; font-weight: 700; margin: 4px 0 0; color: var(--brun); }
.recette_step_text { font-size: 15px; line-height: 1.7; color: #3a3028; margin: 0; }
.recette_step_img { margin-top: 16px; border-radius: 8px; overflow: hidden; }
.recette_step_img img { width: 100%; display: block; }

/* Share dans recette */
.recette_share {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    padding-top: 32px;
    margin-top: 32px;
    border-top: 1px solid #ede8e0;
}
.recette_share_label { font-size: 14px; color: var(--vert); font-weight: 600; }

/* ── Responsive ── */
@media (max-width: 900px) {

    body{ font-size: 14px; overflow-x: hidden; }
    p{ font-size: 14px;}
    .block_paragraphe_title{ font-size: 38px; }
    .recette_card_header { grid-template-columns: 1fr; padding: clamp(24px, 4vw, 40px) clamp(20px, 4vw, 40px); }
    .recette_cover_circle { grid-row: auto; margin-bottom: 24px; }
    .recette_header_content { grid-column: 1; padding: 0; }
    .recette_detail_body { grid-template-columns: 1fr; }
    .recette_sidebar { border-bottom: 1px solid #ede8e0; }
    .recette_sidebar { border-right: none; padding: 0 clamp(20px, 4vw, 40px) 32px; }
    .recette_steps { padding: 0 clamp(20px, 4vw, 40px) clamp(24px, 4vw, 40px); }
    .recettes_grid { grid-template-columns: repeat(2, 1fr); }
    /* .block_paragraphe_photo{ padding: 0; aspect-ratio: 16/9; width: 100%; } */
    /* .block_paragraphe_photo_inner{ height: 100%; overflow: hidden; } */
    .block_paragraphe_photo_inner img{ aspect-ratio: 16/9; }
    .block_paragraphe_body, .home_jardin_cols{  }
    .contact_fixed_link{ display: none; }
    .section_resa_card{ padding: 20px; }
    .block_paragraphe_inner{ display: flex; flex-direction: column-reverse;  gap: 0;}
    .template_article .article_container{ padding: 20px; }
    .article_title{ font-size: 32px; }
    .section_resa .radis{ display: none; }
    .site_footer{ padding-bottom: 100px; }
    .section_resa .section_resa_loc_header{ display: none; }
    .block_galerie_col--left{ flex-direction: row; flex-wrap: wrap; }
    .block_galerie_col--left .block_galerie_img:last-child{ height: 200px; }
    .home_hero_media .mini_photo{ width: 120px; height: 140px;right: 20px; bottom: -30px; }
    .block_paragraphe{ padding: 0; }
    .section_resa{ padding-left: 0; padding-right: 0; }
    .section_resa_card{ margin-right: 0; margin-left: 0; }
    .img_header{ right: 0px; top: -80px; }
    .block_paragraphe_photo{ padding: 0; }
    .block_paragraphe.polaroid .block_polaroid_photo{ transform: rotate(0); }
    
}

@media (max-width: 600px) {
    .recettes_grid { grid-template-columns: 1fr; }
    .recette_cover_circle { width: 140px; height: 140px; }
}

/* ═══════════════════════════════════════════════════════════════════
   PAGE CONTACT
═══════════════════════════════════════════════════════════════════ */
.contact_hero { padding: clamp(180px, 22vw, 300px) 0 clamp(80px, 10vw, 140px); }
.contact_title { font-family: var(--font_serif); font-size: clamp(42px, 6vw, 80px); font-weight: 400; letter-spacing: -0.02em; line-height: 1em; margin-bottom: 32px; }
.contact_intro { font-size: 18px; line-height: 1.6em; max-width: 560px; color: var(--noir_txt); margin-bottom: 60px; }
.contact_infos { display: flex; flex-direction: column; gap: 32px; }
.contact_info_item { display: flex; flex-direction: column; gap: 4px; text-decoration: none; }
.contact_info_label { font-family: var(--font_sans); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rouge); }
.contact_info_value { font-family: var(--font_serif); font-size: clamp(20px, 2.5vw, 28px); color: var(--noir_txt); }

.contact_booking { padding: 0 0 clamp(80px, 10vw, 140px); }
.contact_booking_iframe { width: 100%; min-height: 700px; border: none; border-radius: 8px; display: block; }

.contact_hero .deux_cols{ display: flex; gap: 80px; width: 100%; }
.contact_hero .deux_cols .col{ width: 100%; }