/*
Theme Name: Jardin des Souvenirs — Renaissance
Theme URI: https://jardindessouvenirs.fr/
Description: Refonte éditoriale et élégante du Jardin des Souvenirs, conservant la logique métier existante.
Version: 9.37
Author: Jardin des Souvenirs
Text Domain: jardin-des-souvenirs
*/

:root {
    --jds-green: #123f38;
    --jds-green-2: #1c5147;
    --jds-green-dark: #0d342f;
    --jds-cream: #f7f4ec;
    --jds-cream-2: #fbfaf6;
    --jds-paper: #fffdf8;
    --jds-gold: #c7b27a;
    --jds-line: #dedbcf;
    --jds-text: #183d37;
    --jds-muted: #68736e;
    --jds-white: #fff;
    --jds-shadow: 0 14px 35px rgba(18,63,56,.07);
    --jds-radius: 6px;
    --jds-serif: 'Cormorant Garamond', Georgia, serif;
    --jds-sans: 'DM Sans', Arial, sans-serif;
    --jds-container: 1260px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.jds-redesign-active {
    margin: 0;
    background: var(--jds-cream-2);
    color: var(--jds-text);
    font-family: var(--jds-sans);
    font-size: 15px;
    line-height: 1.6;
}
body.jds-redesign-active a { color: inherit; text-decoration: none; }
body.jds-redesign-active img { max-width: 100%; display: block; }
body.jds-redesign-active button,
body.jds-redesign-active input { font: inherit; }
.jds-container { width: min(var(--jds-container), calc(100% - 48px)); margin-inline: auto; }
.desktop-only { display: inline; }

/* Header */
.jds-header {
    height: 82px;
    background: rgba(255,253,248,.97);
    border-bottom: 1px solid rgba(18,63,56,.08);
    position: relative;
    z-index: 50;
}
.jds-header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.jds-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--jds-green); min-width: 275px; }
.jds-brand-mark { width: 55px; height: 48px; display: block; color: var(--jds-green); }
.jds-brand-mark svg { width: 100%; height: 100%; }
.jds-brand-copy { display: flex; flex-direction: column; line-height: 1; }
.jds-brand-copy strong { font: 600 25px/1 var(--jds-serif); letter-spacing: -.02em; }
.jds-brand-copy small { margin-top: 7px; font-size: 8.5px; text-transform: uppercase; letter-spacing: .28em; }
.jds-main-nav { display: flex; align-items: center; justify-content: flex-end; gap: 30px; font-size: 12px; color: #173c36; white-space: nowrap; }
.jds-main-nav > a { transition: opacity .2s ease; }
.jds-main-nav > a:hover { opacity: .65; }
.jds-nav-publish { font-weight: 600; }
.jds-login { border: 1px solid var(--jds-line); border-radius: 999px; padding: 9px 18px; display: inline-flex; align-items: center; gap: 8px; }
.jds-login svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.jds-menu-toggle { display: none; background: none; border: 0; padding: 8px; }
.jds-menu-toggle span { display: block; width: 24px; height: 1px; background: var(--jds-green); margin: 5px; }

/* Hero */
.jds-hero { min-height: 415px; position: relative; overflow: hidden; background: #d8d1be var(--jds-hero-image) center/cover no-repeat; }
.jds-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,248,231,.82) 0%, rgba(250,244,228,.58) 45%, rgba(242,236,217,.36) 100%); }
.jds-hero-content { position: relative; z-index: 2; min-height: 415px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 45px 0 30px; }
.jds-eyebrow { display: none; }
.jds-hero h1 { color: var(--jds-green); font: 600 clamp(45px, 4.1vw, 67px)/.88 var(--jds-serif); letter-spacing: -.035em; margin: 0 0 18px; }
.jds-hero h1 em { font-style: normal; }
.jds-hero-lead { color: #24534c; font-size: 14px; line-height: 1.35; margin: 0 0 24px; }
.jds-hero-search { width: min(600px, 100%); }
.jds-search-main { height: 48px; display: flex; align-items: center; background: #fff; border: 1px solid rgba(18,63,56,.13); border-radius: 999px; padding-left: 16px; box-shadow: 0 8px 25px rgba(41,51,43,.1); overflow: hidden; }
.jds-search-main svg { width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: var(--jds-green); stroke-width: 1.6; }
.jds-search-main input { min-width: 0; flex: 1; border: 0; outline: 0; padding: 0 15px; color: var(--jds-text); background: transparent; font-size: 12px; }
.jds-search-main input::placeholder { color: #929792; }
.jds-search-main button { height: 100%; padding: 0 22px; border: 0; background: var(--jds-green); color: #fff; cursor: pointer; font-size: 12px; display: inline-flex; gap: 12px; align-items: center; }
.jds-search-main button span { font-size: 18px; line-height: 1; }
.jds-advanced-toggle { margin: 8px auto 0; background: transparent; border: 0; color: var(--jds-green); font-size: 10px; display: flex; align-items: center; gap: 7px; cursor: pointer; }
.jds-advanced-toggle svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.jds-advanced-toggle b { font-weight: 400; transition: transform .2s ease; }
.jds-advanced-toggle.is-open b { transform: rotate(180deg); }
.jds-advanced-fields { margin-top: 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; padding: 10px; background: rgba(255,255,255,.82); border-radius: 10px; }
.jds-advanced-fields input { min-width: 0; border: 1px solid var(--jds-line); background: #fff; border-radius: 5px; padding: 8px 10px; outline: 0; font-size: 11px; color: var(--jds-text); }
.jds-hero-count { margin-top: 18px; display: flex; align-items: center; gap: 9px; color: var(--jds-green); font: 500 15px var(--jds-serif); }
.jds-leaf-icon { font-size: 25px; transform: rotate(-20deg); color: var(--jds-green); }

/* Shortcut cards */
.jds-shortcuts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; padding-top: 26px; padding-bottom: 28px; }
.jds-shortcut { min-height: 116px; position: relative; display: flex; align-items: center; gap: 17px; background: var(--jds-paper); border: 1px solid var(--jds-line); border-radius: var(--jds-radius); padding: 18px 25px 18px 20px; transition: transform .25s ease, box-shadow .25s ease; }
.jds-shortcut:hover { transform: translateY(-3px); box-shadow: var(--jds-shadow); }
.jds-round-icon { width: 54px; height: 54px; flex: 0 0 54px; display: grid; place-items: center; border-radius: 50%; background: var(--jds-green); color: #fff; }
.jds-round-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.jds-shortcut-copy { display: flex; flex-direction: column; min-width: 0; }
.jds-shortcut-copy strong { font: 600 19px/1.1 var(--jds-serif); }
.jds-shortcut-copy > span { font-size: 11px; line-height: 1.4; color: var(--jds-muted); margin: 5px 0 8px; }
.jds-shortcut-copy small { font-size: 10px; color: var(--jds-green); }
.jds-shortcut-copy small b { margin-left: 5px; font-size: 14px; font-weight: 400; }
.jds-botanical { position: absolute; left: 20px; bottom: 5px; color: #cfc39e; font-size: 33px; opacity: .8; transform: rotate(-25deg); display: none; }

/* Common sections */
.jds-section { padding: 26px 0 40px; }
.jds-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 18px; }
.jds-section-heading h2 { display: flex; align-items: center; gap: 20px; margin: 0; font: 600 30px/1 var(--jds-serif); letter-spacing: -.02em; color: var(--jds-green); }
.jds-section-heading h2 span { display: inline-block; width: 36px; height: 1px; background: #78928b; }
.jds-section-heading p { margin: 10px 0 0; color: #596661; font-size: 11px; line-height: 1.5; }
.jds-section-heading > a { color: var(--jds-green); font-size: 10px; white-space: nowrap; }
.jds-section-heading > a b { font-size: 15px; font-weight: 400; margin-left: 7px; }

/* Avis */
.jds-avis-layout { display: grid; grid-template-columns: minmax(0, 1fr) 160px; gap: 16px; align-items: stretch; }
.jds-avis-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.jds-avis-card { background: var(--jds-paper); border: 1px solid var(--jds-line); border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; min-width: 0; }
.jds-card-image { display: block; height: 106px; overflow: hidden; background: #ddd; }
.jds-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.jds-avis-card:hover .jds-card-image img { transform: scale(1.04); }
.jds-card-body { padding: 12px 13px 13px; display: flex; flex-direction: column; flex: 1; }
.jds-card-body h3 { margin: 0; font: 600 17px/1.05 var(--jds-serif); }
.jds-card-body h3 a:hover { text-decoration: underline; text-decoration-color: var(--jds-gold); }
.jds-years { margin: 4px 0 0; font: 500 11px var(--jds-serif); color: var(--jds-green); }
.jds-place { margin: 0; color: #616a66; font-size: 10px; }
.jds-hommage-meta { display: flex; align-items: center; gap: 4px; color: #87908c; font-size: 8px; margin: 9px 0 8px; }
.jds-mini-flame { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #eee8d6; color: var(--jds-green); font-size: 10px; }
.jds-card-quote { font: italic 12px/1.4 var(--jds-serif); color: #66716c; margin: 0 0 12px; }
.jds-text-link { margin-top: auto; font-size: 9px; color: var(--jds-green); }
.jds-text-link b { font-size: 14px; margin-left: 5px; font-weight: 400; }
.jds-partner-card { min-height: 335px; border-radius: 5px; overflow: hidden; position: relative; background: #d8d5c9 var(--partner-image) center/cover; }
.jds-partner-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(242,240,229,.45), rgba(245,239,221,.94) 62%, rgba(245,239,221,.98)); }
.jds-partner-content { position: relative; z-index: 1; height: 100%; padding: 12px 11px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.jds-partner-label { font-size: 7px; color: var(--jds-green); align-self: flex-end; }
.jds-partner-content h3 { margin: 52px 0 11px; font: 600 20px/.98 var(--jds-serif); }
.jds-partner-content p { margin: 0 0 14px; font-size: 9px; line-height: 1.45; color: #55625d; }
.jds-partner-content a { margin-top: auto; display: block; width: 100%; padding: 9px 5px; border-radius: 5px; background: var(--jds-green); color: #fff; font-size: 8px; }
.jds-partner-content a b { margin-left: 4px; font-size: 12px; font-weight: 400; }

/* Services */
.jds-services { padding: 34px 0 44px; background: #f0eee4; position: relative; overflow: hidden; }
.jds-services:before,
.jds-services:after { content: ''; position: absolute; width: 160px; height: 300px; border: 1px solid rgba(185,165,111,.35); border-radius: 50%; transform: rotate(25deg); pointer-events: none; }
.jds-services:before { left: -120px; bottom: -100px; }
.jds-services:after { right: -120px; top: -90px; }
.jds-service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; position: relative; z-index: 1; }
.jds-service-card { position: relative; overflow: hidden; background: var(--jds-paper); border: 1px solid #d8d6ca; border-radius: 4px; }
.jds-service-image { height: 103px; overflow: hidden; }
.jds-service-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78); }
.jds-service-icon { position: absolute; top: 83px; left: 18px; width: 48px; height: 48px; border-radius: 50%; border: 3px solid var(--jds-paper); background: var(--jds-green); color: #fff; display: grid; place-items: center; font-size: 21px; }
.jds-service-body { padding: 35px 18px 17px; }
.jds-service-body h3 { margin: 0 0 7px; font: 600 17px/1.05 var(--jds-serif); }
.jds-service-body p { margin: 0 0 14px; min-height: 55px; font-size: 10px; line-height: 1.45; color: #68736e; }
.jds-service-body a { color: var(--jds-green); font-size: 9px; }
.jds-service-body a b { margin-left: 7px; font-size: 13px; font-weight: 400; }

/* Personalities */
.jds-personnalites { padding-top: 30px; padding-bottom: 32px; }
.jds-personality-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.jds-personality-card { min-height: 86px; display: grid; grid-template-columns: 78px 1fr; gap: 12px; align-items: center; padding: 9px; background: var(--jds-paper); border: 1px solid var(--jds-line); border-radius: 4px; }
.jds-personality-image { width: 78px; height: 68px; overflow: hidden; background: #ddd; }
.jds-personality-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }
.jds-personality-card h3 { margin: 0; font: 600 15px/1.05 var(--jds-serif); }
.jds-personality-card h3 a:hover { text-decoration: underline; }
.jds-personality-card .jds-years { font-size: 9px; }
.jds-personality-quote { margin: 6px 0 0; font: italic 9px/1.3 var(--jds-serif); color: #71807a; }
.jds-empty { color: var(--jds-muted); font-size: 13px; }

/* Footer */
.jds-footer { background: linear-gradient(115deg, #103d36, #0c332e); color: #fff; }
.jds-footer-main { display: grid; grid-template-columns: 1.45fr .8fr .95fr 1.05fr; gap: 60px; padding: 38px 0 32px; }
.jds-brand-footer { color: #fff; min-width: 0; }
.jds-brand-footer .jds-brand-mark { color: #fff; }
.jds-brand-footer .jds-brand-copy small { color: rgba(255,255,255,.75); }
.jds-footer-col, .jds-footer-newsletter { display: flex; flex-direction: column; }
.jds-footer h3 { margin: 5px 0 12px; font: 600 14px var(--jds-serif); }
.jds-footer-col a { font-size: 9px; color: rgba(255,255,255,.78); margin-bottom: 5px; }
.jds-footer-col a:hover { color: #fff; }
.jds-footer-newsletter p { margin: 0 0 11px; color: rgba(255,255,255,.72); font-size: 9px; line-height: 1.4; }
.jds-newsletter-form { display: flex; height: 34px; border: 1px solid rgba(255,255,255,.55); border-radius: 7px; overflow: hidden; }
.jds-newsletter-form input { min-width: 0; flex: 1; padding: 0 10px; border: 0; outline: 0; background: rgba(255,255,255,.08); color: #fff; font-size: 9px; }
.jds-newsletter-form input::placeholder { color: rgba(255,255,255,.6); }
.jds-newsletter-form button { width: 40px; border: 0; background: #fff; color: var(--jds-green); cursor: pointer; font-size: 17px; }
.jds-socials { display: flex; gap: 14px; margin-top: 13px; }
.jds-socials a { width: 17px; height: 17px; display: grid; place-items: center; color: #fff; font-size: 9px; border-radius: 50%; }
.jds-footer-bottom { border-top: 1px solid rgba(255,255,255,.15); min-height: 45px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 8px; color: rgba(255,255,255,.68); }

/* Inner pages shared by the redesign */
.jds-page-shell { padding: 55px 0 80px; min-height: 55vh; }
.jds-page-title { font: 600 clamp(42px, 5vw, 64px)/.95 var(--jds-serif); color: var(--jds-green); margin: 0 0 12px; }
.jds-page-intro { color: var(--jds-muted); max-width: 700px; margin-bottom: 30px; }
.jds-filter-box { background: var(--jds-paper); border: 1px solid var(--jds-line); padding: 18px; border-radius: 5px; margin-bottom: 28px; }
.jds-filter-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.jds-filter-grid input { width: 100%; padding: 10px 11px; border: 1px solid var(--jds-line); border-radius: 4px; background: #fff; outline: 0; }
.jds-filter-submit { border: 0; border-radius: 4px; background: var(--jds-green); color: #fff; padding: 10px 16px; cursor: pointer; }
.jds-pagination { margin-top: 30px; display: flex; gap: 7px; justify-content: center; flex-wrap: wrap; }
.jds-pagination a, .jds-pagination span { padding: 7px 10px; border: 1px solid var(--jds-line); background: #fff; font-size: 11px; border-radius: 4px; }
.jds-pagination .current { background: var(--jds-green); color: #fff; border-color: var(--jds-green); }
.jds-single { max-width: 900px; margin-inline: auto; }
.jds-single-card { background: var(--jds-paper); border: 1px solid var(--jds-line); padding: 35px; border-radius: 5px; }
.jds-single-image { width: 100%; max-height: 420px; object-fit: cover; margin-bottom: 25px; }
.jds-single-meta { display: flex; gap: 12px; flex-wrap: wrap; color: var(--jds-muted); font-size: 12px; margin-bottom: 20px; }
.jds-single-content { font-size: 15px; line-height: 1.8; color: #4d5b56; }
.jds-single-content p { margin: 0 0 1em; }

/* Responsive */
@media (max-width: 1100px) {
    .jds-main-nav { gap: 18px; }
    .jds-brand { min-width: 245px; }
    .jds-brand-copy strong { font-size: 22px; }
    .jds-shortcuts { gap: 14px; }
    .jds-avis-layout { grid-template-columns: 1fr; }
    .jds-partner-card { display: none; }
    .jds-avis-grid { grid-template-columns: repeat(4, 1fr); }
    .jds-footer-main { gap: 30px; }
}
@media (max-width: 850px) {
    .jds-header { height: 72px; }
    .jds-menu-toggle { display: block; }
    .jds-main-nav { display: none; position: absolute; top: 72px; left: 0; right: 0; background: var(--jds-paper); border-bottom: 1px solid var(--jds-line); padding: 15px 24px 22px; flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 12px 30px rgba(0,0,0,.07); }
    .jds-main-nav.is-open { display: flex; }
    .jds-main-nav > a { padding: 10px 0; border-bottom: 1px solid #eee; }
    .jds-main-nav .jds-login { justify-content: center; margin-top: 10px; border: 1px solid var(--jds-line); }
    .jds-brand-copy strong { font-size: 21px; }
    .jds-brand-copy small { font-size: 7px; }
    .jds-hero { min-height: 500px; }
    .jds-hero-content { min-height: 500px; padding-inline: 12px; }
    .jds-hero h1 { font-size: 48px; }
    .jds-shortcuts { grid-template-columns: 1fr; }
    .jds-avis-grid { grid-template-columns: repeat(2, 1fr); }
    .jds-service-grid { grid-template-columns: repeat(2, 1fr); }
    .jds-personality-grid { grid-template-columns: repeat(2, 1fr); }
    .jds-footer-main { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .jds-container { width: min(100% - 28px, var(--jds-container)); }
    .desktop-only { display: none; }
    .jds-header-inner { gap: 10px; }
    .jds-brand { min-width: 0; gap: 7px; }
    .jds-brand-mark { width: 42px; height: 40px; }
    .jds-brand-copy strong { font-size: 18px; }
    .jds-brand-copy small { font-size: 5.8px; letter-spacing: .18em; }
    .jds-hero { min-height: 525px; background-position: 58% center; }
    .jds-hero-content { min-height: 525px; }
    .jds-hero h1 { font-size: 42px; }
    .jds-hero-lead { font-size: 12px; }
    .jds-search-main { height: auto; min-height: 49px; padding-left: 13px; }
    .jds-search-main input { padding: 0 9px; font-size: 11px; }
    .jds-search-main button { padding: 0 14px; font-size: 10px; }
    .jds-advanced-fields { grid-template-columns: 1fr 1fr; }
    .jds-hero-count { font-size: 13px; }
    .jds-section { padding: 22px 0 30px; }
    .jds-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
    .jds-section-heading h2 { font-size: 27px; }
    .jds-section-heading > a { align-self: flex-end; }
    .jds-avis-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .jds-card-image { height: 92px; }
    .jds-card-body { padding: 10px; }
    .jds-card-body h3 { font-size: 16px; }
    .jds-card-quote { font-size: 11px; }
    .jds-service-grid { grid-template-columns: 1fr; }
    .jds-personality-grid { grid-template-columns: 1fr; }
    .jds-footer-main { grid-template-columns: 1fr 1fr; gap: 25px 15px; }
    .jds-footer-brand { grid-column: 1 / -1; }
    .jds-footer-newsletter { grid-column: 1 / -1; }
    .jds-footer-bottom { flex-direction: column; align-items: flex-start; padding: 12px 0; }
    .jds-filter-grid { grid-template-columns: 1fr 1fr; }
    .jds-single-card { padding: 20px; }
}

.jds-reveal { opacity: 0; transform: translateY(10px); transition: opacity .55s ease, transform .55s ease; }
.jds-reveal.jds-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .jds-reveal { opacity: 1; transform: none; transition: none; }
    .jds-avis-card:hover .jds-card-image img { transform: none; }
}

/* ==========================================================
   SINGLE AVIS — MEMORIAL / HOMMAGE
   ========================================================== */
.jds-avis-page { background: var(--jds-cream-2); }
.jds-avis-banner { min-height: 430px; background-size: cover; background-position: center; position: relative; display: flex; align-items: flex-end; overflow: hidden; }
.jds-avis-banner-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,35,30,.12) 0%, rgba(8,35,30,.28) 45%, rgba(8,35,30,.78) 100%); }
.jds-avis-banner-content { position: relative; z-index: 1; padding-bottom: 58px; color: #fff; }
.jds-avis-kicker { display: block; text-transform: uppercase; letter-spacing: .22em; font-size: 9px; margin-bottom: 13px; opacity: .88; }
.jds-avis-banner-content h1 { margin: 0; font: 600 clamp(44px, 6vw, 72px)/.94 var(--jds-serif); letter-spacing: -.035em; max-width: 850px; }
.jds-avis-banner-content p { margin: 14px 0 0; font: 400 17px var(--jds-serif); opacity: .9; }
.jds-avis-layout { padding-top: 34px; padding-bottom: 70px; }
.jds-avis-main-card { max-width: 920px; margin: 0 auto; background: var(--jds-paper); border: 1px solid var(--jds-line); padding: 35px 46px 55px; box-shadow: var(--jds-shadow); }
.jds-avis-back { display: inline-block; margin-bottom: 25px; }
.jds-avis-portrait { display: flex; justify-content: center; margin: 4px 0 20px; }
.jds-avis-portrait-img { width: 132px; height: 132px; object-fit: cover; border-radius: 50%; border: 4px solid #fff; box-shadow: 0 0 0 1px var(--jds-line); }
.jds-avis-portrait-placeholder { width: 132px; height: 132px; border-radius: 50%; display: grid; place-items: center; background: #eee9dc; color: var(--jds-green); font: 30px var(--jds-serif); }
.jds-avis-heading { text-align: center; margin-bottom: 30px; }
.jds-avis-heading > span { display: block; text-transform: uppercase; letter-spacing: .2em; font-size: 9px; color: var(--jds-muted); margin-bottom: 8px; }
.jds-avis-heading h2 { margin: 0; color: var(--jds-green); font: 600 38px/1 var(--jds-serif); }
.jds-avis-facts { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--jds-line); border-bottom: 1px solid var(--jds-line); margin-bottom: 22px; }
.jds-avis-facts > div { padding: 18px 14px; border-right: 1px solid var(--jds-line); }
.jds-avis-facts > div:last-child { border-right: 0; }
.jds-avis-facts small, .jds-avis-place span { display: block; color: var(--jds-muted); font-size: 9px; text-transform: uppercase; letter-spacing: .11em; margin-bottom: 6px; }
.jds-avis-facts strong, .jds-avis-place strong { display: block; color: var(--jds-green); font: 600 15px/1.2 var(--jds-serif); }
.jds-avis-place { padding: 14px 18px; background: #f4f1e7; margin-bottom: 35px; }
.jds-avis-biography { padding: 32px 0; border-top: 1px solid var(--jds-line); color: #53615c; font-size: 14px; line-height: 1.8; }
.jds-section-eyebrow { display: block; text-transform: uppercase; letter-spacing: .19em; font-size: 8px; color: var(--jds-muted); margin-bottom: 8px; }
.jds-avis-biography h2, .jds-hommage-shop h2, .jds-recent-hommages h2, .jds-comments-wrap h2 { margin: 0 0 12px; color: var(--jds-green); font: 600 30px/1 var(--jds-serif); }
.jds-avis-content p { margin-bottom: 1em; }
.jds-hommage-shop { margin-top: 12px; padding: 34px 0 36px; border-top: 1px solid var(--jds-line); }
.jds-hommage-shop-heading p { color: var(--jds-muted); font-size: 12px; margin: 0 0 22px; }
.jds-hommage-products { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.jds-hommage-product { display: grid; grid-template-columns: 145px 1fr; background: #f4f1e7; border: 1px solid #dfdbcd; min-height: 190px; overflow: hidden; }
.jds-hommage-product-image { background: #e9e4d5; min-height: 190px; display: flex; align-items: center; justify-content: center; padding: 22px; overflow: hidden; }
.jds-hommage-product-image img { width: auto; height: auto; max-width: 78px; max-height: 105px; object-fit: contain; display: block; margin: 0 auto; }
.jds-hommage-fallback-icon { font-size: 48px; color: var(--jds-green); }
.jds-hommage-product-body { padding: 22px 18px; display: flex; flex-direction: column; align-items: flex-start; }
.jds-hommage-symbol { font-size: 8px; text-transform: uppercase; letter-spacing: .17em; color: var(--jds-muted); }
.jds-hommage-product-body h3 { margin: 5px 0 7px; color: var(--jds-green); font: 600 22px/1 var(--jds-serif); }
.jds-hommage-product-body p { margin: 0 0 15px; color: #68736e; font-size: 10px; line-height: 1.45; }
.jds-hommage-button { margin-top: auto; display: inline-flex; align-items: center; gap: 12px; background: var(--jds-green); color: #fff; padding: 9px 12px; font-size: 9px; text-decoration: none; }
.jds-hommage-button:hover { background: var(--jds-green-dark); color: #fff; }
.jds-recent-hommages { padding: 35px 0; border-top: 1px solid var(--jds-line); }
.jds-recent-hommages-list { display: flex; flex-direction: column; gap: 8px; }
.jds-recent-hommage { display: flex; align-items: center; gap: 12px; padding: 9px 12px; background: #f7f5ee; border: 1px solid #e3dfd2; }
.jds-recent-hommage img { width: 52px; height: 52px; object-fit: cover; border-radius: 5px; flex: 0 0 52px; }
.jds-recent-hommage-icon { width: 52px; height: 52px; flex: 0 0 52px; display: grid; place-items: center; background: #ebe6d7; color: var(--jds-green); font-size: 21px; }
.jds-recent-hommage > div { min-width: 0; flex: 1; }
.jds-recent-hommage strong { color: var(--jds-green); font: 600 14px var(--jds-serif); margin-right: 4px; }
.jds-recent-hommage div span { color: #68736e; font-size: 10px; }
.jds-recent-hommage time { color: var(--jds-muted); font-size: 8px; white-space: nowrap; }
.jds-comments-wrap { padding-top: 35px; border-top: 1px solid var(--jds-line); }
.jds-comments-wrap .comments-area { max-width: none; margin: 20px 0 0; padding: 0; background: transparent; border-radius: 0; }
.jds-comments-wrap .comment-form input, .jds-comments-wrap .comment-form textarea { border: 1px solid var(--jds-line); background: #fff; }

@media (max-width: 760px) {
    .jds-avis-banner { min-height: 390px; }
    .jds-avis-banner-content { padding-bottom: 35px; }
    .jds-avis-main-card { padding: 25px 18px 40px; }
    .jds-avis-facts { grid-template-columns: repeat(2, 1fr); }
    .jds-avis-facts > div:nth-child(2) { border-right: 0; }
    .jds-avis-facts > div:nth-child(-n+2) { border-bottom: 1px solid var(--jds-line); }
    .jds-hommage-products { grid-template-columns: 1fr; }
    .jds-hommage-product { grid-template-columns: 125px 1fr; }
    .jds-recent-hommage { align-items: flex-start; }
    .jds-recent-hommage time { display: none; }
}

@media (max-width: 480px) {
    .jds-avis-banner-content h1 { font-size: 43px; }
    .jds-avis-heading h2 { font-size: 31px; }
    .jds-avis-facts > div { padding: 13px 10px; }
    .jds-hommage-product { grid-template-columns: 1fr; }
    .jds-hommage-product-image { height: 150px; min-height: 150px; padding: 20px; }
    .jds-hommage-product-image img { max-width: 72px; max-height: 90px; }
}

/* ==========================================================
   HOMMAGES — icônes légères, petites et côte à côte
   ========================================================== */
.jds-hommage-products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.jds-hommage-product {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: center;
    min-height: 142px;
    background: #f4f1e7;
    border: 1px solid #dfdbcd;
    border-radius: 18px;
    overflow: hidden;
}

.jds-hommage-product-icon {
    width: 92px;
    height: 100%;
    min-height: 142px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ebe6d8;
}

.jds-hommage-product-body {
    padding: 18px 18px 18px 15px;
}

.jds-hommage-product-body h3 {
    margin: 0 0 6px;
    color: var(--jds-green);
    font: 600 20px/1.1 var(--jds-serif);
}

.jds-hommage-product-body p {
    margin: 0 0 12px;
    color: #68736e;
    font-size: 10px;
    line-height: 1.45;
}

.jds-hommage-button {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: var(--jds-green);
    color: #fff;
    padding: 8px 11px;
    border-radius: 999px;
    font-size: 9px;
    text-decoration: none;
}

/* Petite bougie CSS */
.jds-candle-icon {
    position: relative;
    width: 30px;
    height: 48px;
    display: block;
}

.jds-candle-body {
    position: absolute;
    left: 6px;
    bottom: 0;
    width: 18px;
    height: 29px;
    border-radius: 4px 4px 6px 6px;
    background: linear-gradient(90deg, #ddd4bd 0%, #f7f2e4 45%, #d9cfb5 100%);
    box-shadow: inset 0 0 0 1px rgba(63,73,62,.08);
}

.jds-candle-flame {
    position: absolute;
    left: 11px;
    top: 0;
    width: 10px;
    height: 18px;
    border-radius: 55% 45% 55% 45%;
    background: #b78a42;
    transform: rotate(8deg);
    transform-origin: 50% 100%;
    animation: jds-flame 1.25s ease-in-out infinite alternate;
}

.jds-candle-flame::after {
    content: '';
    position: absolute;
    left: 3px;
    bottom: 3px;
    width: 4px;
    height: 8px;
    border-radius: 50%;
    background: #f6ead0;
}

@keyframes jds-flame {
    from { transform: rotate(5deg) scale(.94); }
    to   { transform: rotate(-7deg) scale(1.04); }
}

/* Petite fleur CSS */
.jds-flower-icon {
    position: relative;
    width: 48px;
    height: 54px;
    display: block;
    animation: jds-flower-sway 3s ease-in-out infinite;
    transform-origin: 50% 100%;
}

.jds-flower-petal,
.jds-flower-center {
    position: absolute;
    border-radius: 50%;
}

.jds-flower-petal {
    width: 15px;
    height: 20px;
    left: 17px;
    top: 2px;
    background: #d8aeb5;
    transform-origin: 50% 100%;
}

.jds-flower-petal.p1 { transform: rotate(0deg) translateY(-1px); }
.jds-flower-petal.p2 { transform: rotate(90deg) translateY(-1px); }
.jds-flower-petal.p3 { transform: rotate(180deg) translateY(-1px); }
.jds-flower-petal.p4 { transform: rotate(270deg) translateY(-1px); }

.jds-flower-center {
    width: 10px;
    height: 10px;
    left: 19px;
    top: 15px;
    background: #b58b51;
    z-index: 2;
}

.jds-flower-stem {
    position: absolute;
    left: 23px;
    top: 24px;
    width: 3px;
    height: 29px;
    border-radius: 999px;
    background: #6d866d;
    transform: rotate(3deg);
    transform-origin: top center;
}

@keyframes jds-flower-sway {
    0%, 100% { transform: rotate(-2deg); }
    50% { transform: rotate(3deg); }
}

/* WooCommerce: miniaturas pequenas, arredondadas e uniformes no carrinho */
.woocommerce-cart table.cart img,
.woocommerce-cart td.product-thumbnail img,
.woocommerce-cart .product-thumbnail img {
    width: 54px !important;
    height: 54px !important;
    max-width: 54px !important;
    object-fit: contain !important;
    border-radius: 50% !important;
    padding: 7px !important;
    background: #ebe6d8 !important;
    border: 1px solid #ded7c7 !important;
    box-sizing: border-box;
}

.woocommerce-cart td.product-thumbnail {
    width: 70px !important;
    padding: 8px !important;
}

/* Substitui visualmente as imagens dos dois produtos no carrinho por ícones */
.jds-cart-hommage-icon {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #ebe6d8;
    border: 1px solid #ded7c7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    box-sizing: border-box;
}

.jds-cart-hommage-icon .jds-candle-icon { transform: scale(.62); }
.jds-cart-hommage-icon .jds-flower-icon { transform: scale(.58); }

@media (max-width: 700px) {
    .jds-hommage-products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .jds-hommage-product {
        grid-template-columns: 1fr;
        min-height: 0;
        text-align: center;
    }

    .jds-hommage-product-icon {
        width: 100%;
        min-height: 86px;
        height: 86px;
    }

    .jds-hommage-product-body {
        padding: 12px 10px 14px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .jds-hommage-product-body h3 { font-size: 17px; }
    .jds-hommage-product-body p { font-size: 9px; }
}

@media (max-width: 390px) {
    .jds-hommage-products { grid-template-columns: 1fr 1fr; }
    .jds-hommage-product-body h3 { font-size: 15px; }
    .jds-hommage-button { font-size: 8px; padding: 7px 8px; }
}


/* ==========================================================
   AVIS / MÉMORIAL — nouvelle expérience
   ========================================================== */
.jds-memorial-page {
    background:
        radial-gradient(circle at 10% 5%, rgba(199,178,122,.10), transparent 28%),
        var(--jds-cream-2);
    color: var(--jds-text);
}

.jds-memorial-hero {
    position: relative;
    min-height: 470px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: #d8d1be var(--jds-memorial-image) center 38%/cover no-repeat;
}

.jds-memorial-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(7,31,27,.08) 5%, rgba(7,31,27,.18) 42%, rgba(7,31,27,.86) 100%),
        linear-gradient(90deg, rgba(7,31,27,.12), transparent 65%);
}

.jds-memorial-hero-inner {
    position: relative;
    z-index: 2;
    padding-bottom: 58px;
}

.jds-memorial-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 30px;
    color: rgba(255,255,255,.88) !important;
    font-size: 11px;
    letter-spacing: .02em;
}

.jds-memorial-back:hover { color: #fff !important; }

.jds-memorial-hero-copy { color: #fff; max-width: 960px; }
.jds-memorial-kicker {
    display: block;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: .26em;
    font-size: 9px;
    opacity: .86;
}
.jds-memorial-hero-copy h1 {
    margin: 0;
    font: 600 clamp(48px, 6vw, 78px)/.9 var(--jds-serif);
    letter-spacing: -.045em;
    text-wrap: balance;
}
.jds-memorial-dates {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 16px 0 0;
    font: 400 18px/1.2 var(--jds-serif);
    opacity: .92;
}

.jds-memorial-shell {
    position: relative;
    z-index: 3;
    margin-top: -48px;
    padding-bottom: 80px;
}

.jds-memorial-card {
    max-width: 1060px;
    margin: 0 auto;
    background: rgba(255,253,248,.98);
    border: 1px solid var(--jds-line);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(18,63,56,.11);
    padding: 34px 48px 62px;
}

.jds-memorial-profile {
    display: grid;
    grid-template-columns: 138px minmax(0,1fr) auto;
    align-items: center;
    gap: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--jds-line);
}

.jds-memorial-portrait {
    display: flex;
    justify-content: center;
}
.jds-memorial-portrait-img,
.jds-memorial-portrait-placeholder {
    width: 126px;
    height: 126px;
    object-fit: cover;
    border-radius: 50%;
    border: 5px solid #fff;
    box-shadow: 0 0 0 1px #d8d2c4, 0 10px 30px rgba(18,63,56,.10);
}
.jds-memorial-portrait-placeholder {
    display: grid;
    place-items: center;
    background: linear-gradient(145deg,#f0eadb,#e5decb);
    color: var(--jds-green);
    font: 34px var(--jds-serif);
}
.jds-memorial-profile-copy h2 {
    margin: 0;
    color: var(--jds-green);
    font: 600 34px/1 var(--jds-serif);
}
.jds-memorial-profile-copy p {
    max-width: 610px;
    margin: 9px 0 0;
    color: var(--jds-muted);
    font-size: 13px;
    line-height: 1.55;
}
.jds-memorial-counter {
    min-width: 94px;
    padding: 14px 16px;
    border: 1px solid #e1dccf;
    border-radius: 16px;
    background: #f7f4eb;
    text-align: center;
}
.jds-memorial-counter strong {
    display: block;
    color: var(--jds-green);
    font: 600 28px/1 var(--jds-serif);
}
.jds-memorial-counter span {
    display: block;
    margin-top: 4px;
    color: var(--jds-muted);
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.jds-memorial-facts {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    margin: 26px 0 18px;
    overflow: hidden;
    border: 1px solid var(--jds-line);
    border-radius: 16px;
    background: #fbfaf5;
}
.jds-fact {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
    padding: 17px 16px;
    border-right: 1px solid var(--jds-line);
}
.jds-fact:last-child { border-right: 0; }
.jds-fact-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ebe6d8;
    color: var(--jds-green);
    font-size: 15px;
}
.jds-fact small {
    display: block;
    margin-bottom: 4px;
    color: var(--jds-muted);
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: .11em;
}
.jds-fact strong {
    display: block;
    color: var(--jds-green);
    font: 600 14px/1.2 var(--jds-serif);
    overflow-wrap: anywhere;
}

.jds-memorial-place {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 4px;
    padding: 13px 17px;
    border-left: 3px solid var(--jds-gold);
    border-radius: 0 10px 10px 0;
    background: #f5f1e5;
}
.jds-memorial-place span {
    color: var(--jds-muted);
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: .12em;
}
.jds-memorial-place strong {
    color: var(--jds-green);
    font: 600 15px var(--jds-serif);
}

.jds-memorial-story {
    padding: 35px 0;
    border-top: 1px solid var(--jds-line);
}
.jds-memorial-story h2,
.jds-tribute-section h2,
.jds-gestures-log h2,
.jds-premium-memory h2,
.jds-memory-wall h2 {
    margin: 0 0 12px;
    color: var(--jds-green);
    font: 600 32px/.98 var(--jds-serif);
}
.jds-story-content,
.jds-memorial-content {
    color: #53615c;
    font-size: 14px;
    line-height: 1.85;
}
.jds-memorial-content p { margin: 0 0 1em; }

.jds-tribute-section {
    margin-top: 2px;
    padding: 38px 0 34px;
    border-top: 1px solid var(--jds-line);
}
.jds-section-heading { margin-bottom: 20px; }
.jds-section-heading p {
    max-width: 680px;
    margin: 0;
    color: var(--jds-muted);
    font-size: 12px;
    line-height: 1.55;
}

.jds-tribute-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
}
.jds-tribute-card {
    display: flex;
    align-items: center;
    gap: 15px;
    min-height: 132px;
    padding: 17px;
    border: 1px solid #ded9ca;
    border-radius: 18px;
    background: linear-gradient(145deg,#f8f5ed,#f1ede2);
    color: var(--jds-green) !important;
    box-shadow: 0 6px 18px rgba(18,63,56,.04);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.jds-tribute-card:hover {
    transform: translateY(-3px);
    border-color: #c9c1ad;
    box-shadow: 0 14px 30px rgba(18,63,56,.09);
}
.jds-tribute-icon {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ebe6d8;
    color: var(--jds-green);
}
.jds-tribute-icon svg { width: 31px; height: 31px; }
.jds-tribute-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.jds-tribute-copy strong {
    font: 600 18px/1.1 var(--jds-serif);
}
.jds-tribute-copy small {
    margin-top: 6px;
    color: var(--jds-muted);
    font-size: 10px;
    line-height: 1.35;
}
.jds-tribute-copy em {
    margin-top: 8px;
    color: #8b7754;
    font-style: normal;
    font-size: 9px;
}
.jds-tribute-copy em b { margin-left: 4px; font-size: 12px; font-weight: 500; }

.jds-gestures-log {
    padding: 34px 0;
    border-top: 1px solid var(--jds-line);
}
.jds-gestures-list { display: grid; gap: 8px; }
.jds-gesture-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid #e3dfd2;
    border-radius: 12px;
    background: #faf8f1;
}
.jds-gesture-mini-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ebe6d8;
    color: var(--jds-green);
}
.jds-gesture-row > div { flex: 1; min-width: 0; }
.jds-gesture-row strong { color: var(--jds-green); font: 600 14px var(--jds-serif); }
.jds-gesture-row div span { color: var(--jds-muted); font-size: 10px; }
.jds-gesture-row time { color: var(--jds-muted); font-size: 8px; white-space: nowrap; }

.jds-premium-memory {
    margin-top: 4px;
    padding: 28px 0;
    border-top: 1px solid var(--jds-line);
}
.jds-premium-memory-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 18px;
}
.jds-premium-memory-head p { max-width: 650px; margin: 0; color: var(--jds-muted); font-size: 12px; }
.jds-premium-badge {
    flex: 0 0 auto;
    padding: 7px 11px;
    border: 1px solid #c9bb91;
    border-radius: 999px;
    background: #f4eedc;
    color: #7e6941;
    font-size: 8px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .15em;
}
.jds-premium-locked,
.jds-premium-open {
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 19px;
    border: 1px solid #dcd6c7;
    border-radius: 18px;
    background: linear-gradient(135deg,#f7f3e8,#fbfaf5);
}
.jds-premium-lock,
.jds-premium-open-icon {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ebe6d8;
    color: var(--jds-green);
    font-size: 20px;
}
.jds-premium-locked-copy { flex: 1; min-width: 0; }
.jds-premium-locked-copy strong,
.jds-premium-open strong {
    color: var(--jds-green);
    font: 600 18px/1.1 var(--jds-serif);
}
.jds-premium-locked-copy p,
.jds-premium-open p {
    margin: 5px 0 9px;
    color: var(--jds-muted);
    font-size: 10px;
}
.jds-premium-features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: #68736e;
    font-size: 9px;
}
.jds-premium-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    padding: 10px 14px;
    border-radius: 999px;
    background: var(--jds-green);
    color: #fff !important;
    font-size: 9px;
}
.jds-premium-cta:hover { background: var(--jds-green-dark); color: #fff !important; }

.jds-memory-wall {
    padding-top: 35px;
    border-top: 1px solid var(--jds-line);
}
.jds-memory-wall-heading { margin-bottom: 24px; }
.jds-comments {
    max-width: 860px;
    margin: 0 auto;
}
.jds-comments-list-head {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-bottom: 13px;
    color: var(--jds-muted);
    font-size: 10px;
}
.jds-comments-list-head strong {
    color: var(--jds-green);
    font: 600 25px var(--jds-serif);
}
.jds-comments .comment-list {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
}
.jds-comments .comment-list .comment {
    margin: 0 0 10px;
    padding: 16px;
    border: 1px solid #e3dfd2;
    border-radius: 15px;
    background: #fbfaf6;
}
.jds-comments .comment-author {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 8px;
}
.jds-comments .comment-author img {
    width: 42px;
    height: 42px;
    border-radius: 50%;
}
.jds-comments .comment-author .fn {
    color: var(--jds-green);
    font: 600 16px var(--jds-serif);
}
.jds-comments .comment-metadata {
    margin-left: 51px;
    margin-top: -7px;
    margin-bottom: 10px;
    color: var(--jds-muted);
    font-size: 8px;
}
.jds-comments .comment-content {
    color: #53615c;
    font-size: 12px;
    line-height: 1.65;
}
.jds-comments .comment-content p:last-child { margin-bottom: 0; }
.jds-comments-empty {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 16px;
    margin-bottom: 25px;
    border: 1px dashed #d7d1c2;
    border-radius: 14px;
    background: #faf8f1;
}
.jds-comments-empty > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ebe6d8;
    color: var(--jds-green);
    font-size: 18px;
}
.jds-comments-empty strong { color: var(--jds-green); font: 600 16px var(--jds-serif); }
.jds-comments-empty p { margin: 2px 0 0; color: var(--jds-muted); font-size: 10px; }

.jds-comments .comment-respond {
    padding: 24px;
    border: 1px solid #ded9ca;
    border-radius: 18px;
    background: #f7f4eb;
}
.jds-comments .comment-reply-title {
    margin: 0 0 15px;
    color: var(--jds-green);
    font: 600 26px var(--jds-serif);
}
.jds-comments .comment-form p { margin: 0 0 13px; }
.jds-comments .comment-form label {
    display: block;
    margin-bottom: 6px;
    color: var(--jds-green);
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .1em;
}
.jds-comments .comment-form label span { color: #a36d64; }
.jds-comments .comment-form input[type="text"],
.jds-comments .comment-form input[type="email"],
.jds-comments .comment-form textarea {
    width: 100%;
    border: 1px solid #d8d2c3;
    border-radius: 10px;
    background: #fff;
    color: var(--jds-text);
    padding: 11px 12px;
    outline: none;
}
.jds-comments .comment-form textarea { min-height: 140px; resize: vertical; }
.jds-comments .comment-form input:focus,
.jds-comments .comment-form textarea:focus {
    border-color: #9fa99e;
    box-shadow: 0 0 0 3px rgba(18,63,56,.07);
}
.jds-comment-note { color: var(--jds-muted); font-size: 9px; }
.jds-comments .form-submit input[type="submit"] {
    border: 0;
    border-radius: 999px;
    padding: 11px 18px;
    background: var(--jds-green);
    color: #fff;
    cursor: pointer;
    font-size: 10px;
    font-weight: 600;
}
.jds-comments .form-submit input[type="submit"]:hover { background: var(--jds-green-dark); }

.jds-premium-upload-field {
    margin: 14px 0 18px;
    padding: 14px;
    border: 1px solid #d7c99f;
    border-radius: 12px;
    background: #f7f0dc;
}
.jds-premium-upload-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 9px;
}
.jds-premium-upload-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #ebe1c1;
    color: #7d6841;
}
.jds-premium-upload-label strong {
    display: block;
    color: var(--jds-green);
    font: 600 16px var(--jds-serif);
}
.jds-premium-upload-label small {
    display: block;
    color: var(--jds-muted);
    font-size: 9px;
}
.jds-premium-upload-field input[type="file"] {
    width: 100%;
    color: var(--jds-muted);
    font-size: 10px;
}

.jds-comment-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 12px;
}
.jds-comment-gallery a { display: block; }
.jds-comment-gallery img {
    width: 110px !important;
    height: 82px !important;
    object-fit: cover !important;
    border-radius: 9px !important;
    border: 1px solid #ddd7c8;
}

@media (max-width: 900px) {
    .jds-memorial-card { padding: 28px 28px 50px; }
    .jds-memorial-profile { grid-template-columns: 108px minmax(0,1fr); }
    .jds-memorial-counter { grid-column: 1 / -1; justify-self: start; }
    .jds-memorial-facts { grid-template-columns: repeat(2,1fr); }
    .jds-fact:nth-child(2) { border-right: 0; }
    .jds-fact:nth-child(-n+2) { border-bottom: 1px solid var(--jds-line); }
    .jds-tribute-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .jds-memorial-hero { min-height: 390px; }
    .jds-memorial-hero-inner { padding-bottom: 42px; }
    .jds-memorial-shell { margin-top: -28px; }
    .jds-memorial-card { padding: 22px 17px 42px; border-radius: 20px; }
    .jds-memorial-profile {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 15px;
    }
    .jds-memorial-profile-copy p { margin-inline: auto; }
    .jds-memorial-counter { justify-self: center; }
    .jds-memorial-facts { grid-template-columns: 1fr 1fr; }
    .jds-fact { padding: 13px 10px; }
    .jds-fact:nth-child(odd) { border-right: 1px solid var(--jds-line); }
    .jds-fact:nth-child(even) { border-right: 0; }
    .jds-fact:nth-child(-n+2) { border-bottom: 1px solid var(--jds-line); }
    .jds-memorial-place { align-items: flex-start; flex-direction: column; gap: 3px; }
    .jds-memorial-story h2,
    .jds-tribute-section h2,
    .jds-gestures-log h2,
    .jds-premium-memory h2,
    .jds-memory-wall h2 { font-size: 28px; }
    .jds-tribute-card { min-height: 116px; }
    .jds-premium-memory-head { flex-direction: column; }
    .jds-premium-locked,
    .jds-premium-open { align-items: flex-start; flex-wrap: wrap; }
    .jds-premium-cta { margin-left: 63px; }
}

@media (max-width: 430px) {
    .jds-memorial-hero-copy h1 { font-size: 43px; }
    .jds-memorial-dates { font-size: 16px; }
    .jds-memorial-facts { grid-template-columns: 1fr; }
    .jds-fact,
    .jds-fact:nth-child(odd),
    .jds-fact:nth-child(even) {
        border-right: 0;
        border-bottom: 1px solid var(--jds-line);
    }
    .jds-fact:last-child { border-bottom: 0; }
    .jds-tribute-card { padding: 13px; gap: 11px; }
    .jds-tribute-icon { width: 50px; height: 50px; flex-basis: 50px; }
    .jds-tribute-copy strong { font-size: 16px; }
    .jds-comments .comment-respond { padding: 17px; }
}

/* =========================================================
 * V7.1 — ESPACE MÉMOIRE / TRÊS GESTES D'HOMMAGE
 * Ajouté sans remplacer les styles originaux du thème.
 * ========================================================= */
.jds-hommage-shop .jds-hommage-products { align-items:stretch; }
.jds-hommage-shop .jds-hommage-product-link { min-height:168px; }
.jds-hommage-shop .jds-thought-link { border-color:#d8d1c1 !important; background:#fbf8f0 !important; }
.jds-hommage-shop .jds-thought-link:hover { border-color:#bcae8d !important; }

.jds-memory-section {
    margin-top:18px;
    padding:38px 0 10px;
    border-top:1px solid var(--jds-line);
}
.jds-memory-intro { max-width:650px; margin-bottom:20px; }
.jds-memory-intro h2 { margin:5px 0 9px; color:var(--jds-green); font:600 30px/1.05 var(--jds-serif); }
.jds-memory-intro p { margin:0; color:var(--jds-muted); font:400 15px/1.7 var(--jds-sans); }
.jds-memory-card {
    display:flex; align-items:center; justify-content:space-between; gap:25px;
    padding:26px 28px; border:1px solid #ddd6c6; border-radius:22px;
    background:linear-gradient(135deg,#f8f4e9 0%,#fffdf8 100%);
    box-shadow:0 12px 32px rgba(35,51,42,.055);
}
.jds-memory-card.is-active { border-color:#cbbd98; }
.jds-memory-card-copy { min-width:0; }
.jds-memory-card h3 { margin:9px 0 7px; color:var(--jds-green); font:600 24px/1.15 var(--jds-serif); }
.jds-memory-card p { margin:0; max-width:690px; color:var(--jds-muted); font:400 14px/1.65 var(--jds-sans); }
.jds-premium-badge { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; background:#e9dfc3; color:#76623b; font:700 10px/1 var(--jds-sans); letter-spacing:.12em; text-transform:uppercase; }
.jds-memory-features { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:14px; color:#52615b; font:500 11px/1.4 var(--jds-sans); }
.jds-memory-cta { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border-radius:12px; background:var(--jds-green); color:#fff !important; text-decoration:none !important; font:600 12px/1 var(--jds-sans); transition:transform .2s ease,background .2s ease; }
.jds-memory-cta:hover { transform:translateY(-2px); background:var(--jds-green-2); }
.jds-memory-souvenirs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin:0 0 18px; }
.jds-memory-souvenir { overflow:hidden; border:1px solid var(--jds-line); border-radius:16px; background:#fffdf8; }
.jds-memory-souvenir img { display:block; width:100%; height:155px; object-fit:cover; }
.jds-memory-souvenir-body { padding:15px; }
.jds-memory-souvenir-body > span { color:#8a826f; font:500 10px/1 var(--jds-sans); text-transform:uppercase; letter-spacing:.08em; }
.jds-memory-souvenir h3 { margin:7px 0 5px; color:var(--jds-green); font:600 19px/1.15 var(--jds-serif); }
.jds-memory-souvenir p { margin:0; color:var(--jds-muted); font:400 12px/1.55 var(--jds-sans); }
@media (max-width:760px) {
    .jds-memory-card { flex-direction:column; align-items:flex-start; padding:22px; }
    .jds-memory-cta { width:100%; }
    .jds-memory-souvenirs { grid-template-columns:1fr; }
}
@media (max-width:480px) {
    .jds-memory-section { padding-top:28px; }
    .jds-memory-intro h2 { font-size:26px; }
    .jds-memory-card { border-radius:18px; }
}


/* =========================================================
 * V7.1 — styles du tableau de bord Espace Mémoire
 * ========================================================= */
.jds-memory-dashboard { padding-top:60px; padding-bottom:80px; max-width:1050px; }
.jds-dashboard-hero { padding:28px 0 34px; }
.jds-dashboard-hero h1 { margin:6px 0 10px; color:var(--jds-green); font:600 clamp(42px,5vw,62px)/.95 var(--jds-serif); letter-spacing:-.035em; max-width:760px; }
.jds-dashboard-hero p { max-width:650px; color:var(--jds-muted); font-size:13px; line-height:1.65; }
.jds-dashboard-card { margin-bottom:18px; padding:26px; border:1px solid #ded9ca; border-radius:22px; background:var(--jds-paper); box-shadow:0 10px 30px rgba(18,63,56,.045); }
.jds-dashboard-card h2 { margin:4px 0 9px; color:var(--jds-green); font:600 30px/1 var(--jds-serif); }
.jds-dashboard-card p { color:var(--jds-muted); font-size:11px; line-height:1.65; }
.jds-dashboard-notice { margin:0 0 18px; padding:13px 16px; border-radius:12px; font-size:11px; }
.jds-dashboard-success { background:#edf5ef; border:1px solid #c9dfcf; color:#2f5c43; }
.jds-dashboard-error { background:#faf0ed; border:1px solid #e5c8c0; color:#8a5147; }
.jds-dashboard-memorial-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.jds-dashboard-memorial-head > div { display:flex; align-items:center; gap:15px; }
.jds-dashboard-avatar { width:62px; height:62px; object-fit:cover; border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 1px var(--jds-line); }
.jds-dashboard-outline { padding:9px 13px; border:1px solid var(--jds-line); border-radius:999px; color:var(--jds-green); font-size:10px; text-decoration:none; }
.jds-dashboard-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:18px; }
.jds-memory-form label { display:block; margin-bottom:6px; color:var(--jds-green); font:600 11px/1.3 var(--jds-sans); }
.jds-memory-form input[type="text"], .jds-memory-form textarea { width:100%; box-sizing:border-box; border:1px solid var(--jds-line); border-radius:12px; background:#fffdf8; padding:11px 12px; color:var(--jds-text); font:400 13px/1.55 var(--jds-sans); }
.jds-memory-form textarea { resize:vertical; }
.jds-memory-form input[type="file"] { width:100%; box-sizing:border-box; padding:9px; border:1px dashed #d7d1c2; border-radius:12px; background:#faf8f1; font-size:11px; }
.jds-memory-form small { display:block; margin-top:5px; color:var(--jds-muted); font-size:9px; }
.jds-dashboard-feature { display:flex; flex-direction:column; gap:2px; padding:12px 0; border-bottom:1px solid var(--jds-line); }
.jds-dashboard-feature:last-child { border-bottom:0; }
.jds-dashboard-feature b { color:var(--jds-green); font:600 15px var(--jds-serif); }
.jds-dashboard-feature span { color:var(--jds-muted); font-size:9px; }
.jds-dashboard-section-title { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:18px; }
.jds-dashboard-section-title > span { color:var(--jds-muted); font-size:9px; }
.jds-dashboard-empty { padding:20px; border:1px dashed #d7d1c2; border-radius:14px; background:#faf8f1; }
.jds-dashboard-souvenirs { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:760px) {
    .jds-memory-dashboard { padding-top:30px; }
    .jds-dashboard-hero h1 { font-size:43px; }
    .jds-dashboard-grid, .jds-dashboard-souvenirs { grid-template-columns:1fr; }
    .jds-dashboard-memorial-head { flex-direction:column; align-items:flex-start; }
    .jds-dashboard-outline { align-self:flex-start; }
}

/* V7.2 — confirmation du formulaire de pensée */
.jds-comment-notice {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 0 0 22px;
    padding: 14px 16px;
    border: 1px solid rgba(74, 108, 88, .18);
    border-radius: 14px;
    background: rgba(74, 108, 88, .06);
}
.jds-comment-notice strong { display:block; }
.jds-comment-notice span { display:block; margin-top:2px; }
.jds-comment-notice-error { border-color: rgba(170, 70, 70, .2); background: rgba(170, 70, 70, .06); }
.jds-comment-form-card { margin-top: 24px; }
.jds-comment-form .jds-comment-submit { cursor:pointer; }

/* V7.3 — sécurité visuelle du champ principal de pensée */
.jds-comments .jds-comment-message-field {
    display: block !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.jds-comments .jds-comment-message-field textarea#comment {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-height: 160px !important;
    box-sizing: border-box !important;
    border: 1px solid #d8d2c3 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--jds-text) !important;
    padding: 12px !important;
    font: 400 13px/1.55 var(--jds-sans) !important;
}

/* V7.4 — formulaire public « Publier un avis » */
.jds-public-avis-page { background: var(--jds-bg, #f5f3eb); color: var(--jds-text, #33423d); }
.jds-public-avis-hero { padding: 58px 0 45px; background: linear-gradient(135deg, #eef1e8, #f8f5ec); border-bottom: 1px solid var(--jds-line, #d9ddd5); }
.jds-public-avis-hero h1 { margin: 7px 0 12px; color: var(--jds-green, #315c4c); font: 600 clamp(38px,5vw,60px)/1 var(--jds-serif, Georgia, serif); }
.jds-public-avis-hero p { max-width: 700px; margin: 0; color: var(--jds-muted, #68746f); font-size: 15px; line-height: 1.7; }
.jds-public-avis-content { padding-top: 42px; padding-bottom: 80px; }
.jds-public-avis-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr); gap: 28px; align-items: start; }
.jds-public-avis-card, .jds-public-side-card { background: #fff; border: 1px solid var(--jds-line, #d9ddd5); border-radius: 12px; box-shadow: 0 12px 35px rgba(35,55,47,.06); }
.jds-public-avis-card { padding: clamp(24px,4vw,42px); }
.jds-public-avis-heading { display: flex; gap: 15px; align-items: center; padding-bottom: 22px; margin-bottom: 26px; border-bottom: 1px solid var(--jds-line, #d9ddd5); }
.jds-public-avis-icon { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border-radius: 50%; background: #eef2e9; color: var(--jds-green, #315c4c); font-size: 19px; }
.jds-public-avis-heading h2, .jds-public-side-card h2 { margin: 0 0 5px; color: var(--jds-green, #315c4c); font: 600 25px/1.15 var(--jds-serif, Georgia, serif); }
.jds-public-avis-heading p { margin: 0; color: var(--jds-muted, #68746f); font-size: 12px; }
.jds-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.jds-field { margin-bottom: 20px; }
.jds-field label { display: block; margin-bottom: 7px; color: #42534d; font: 600 12px/1.3 var(--jds-sans, Arial, sans-serif); }
.jds-field label span { color: #9c4f48; }
.jds-field input[type="text"], .jds-field input[type="date"], .jds-field input[type="file"], .jds-field textarea { display: block; width: 100%; box-sizing: border-box; border: 1px solid #ccd3cd; border-radius: 7px; background: #fff; color: #33423d; padding: 12px 13px; font: 400 14px/1.45 var(--jds-sans, Arial, sans-serif); outline: none; transition: border-color .2s, box-shadow .2s; }
.jds-field textarea { min-height: 145px; resize: vertical; }
.jds-field input:focus, .jds-field textarea:focus { border-color: var(--jds-green, #315c4c); box-shadow: 0 0 0 3px rgba(49,92,76,.09); }
.jds-field small { display: block; margin-top: 6px; color: #78837f; font-size: 11px; }
.jds-public-avis-actions { padding-top: 5px; }
.jds-public-avis-submit { display: inline-flex; align-items: center; gap: 12px; border: 0; border-radius: 7px; background: var(--jds-green, #315c4c); color: #fff; padding: 13px 20px; cursor: pointer; font: 600 13px/1 var(--jds-sans, Arial, sans-serif); }
.jds-public-avis-submit:hover { filter: brightness(.94); }
.jds-public-avis-actions p { max-width: 620px; margin: 12px 0 0; color: #7a8581; font-size: 11px; line-height: 1.55; }
.jds-public-side-card { padding: 28px; position: sticky; top: 25px; background: #f9f7ef; }
.jds-public-side-card p { color: #64706b; font-size: 13px; line-height: 1.65; }
.jds-public-side-card ul { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 10px; color: #4d5c56; font-size: 12px; }
.jds-public-notice { margin-bottom: 24px; padding: 16px 18px; border-radius: 8px; border: 1px solid; display: grid; gap: 3px; font-size: 13px; }
.jds-public-notice.is-success { background: #eef7ef; border-color: #bcd8c0; color: #315c4c; }
.jds-public-notice.is-error { background: #fbefed; border-color: #e1bbb5; color: #7b4039; }
.jds-honeypot { position: absolute !important; left: -99999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }

/* V7.4 — champ de pensée : rendu explicite, sans dépendre des filtres du thème */
#commentform .jds-comment-message-field { display: block !important; visibility: visible !important; opacity: 1 !important; width: 100% !important; margin: 0 0 18px !important; }
#commentform .jds-comment-message-field label { display: block !important; margin: 0 0 8px !important; color: #42534d !important; font-weight: 600 !important; }
#commentform .jds-comment-message-field textarea#comment { display: block !important; visibility: visible !important; opacity: 1 !important; width: 100% !important; min-height: 170px !important; box-sizing: border-box !important; padding: 14px 15px !important; border: 1px solid #ccd3cd !important; border-radius: 8px !important; background: #fff !important; color: #33423d !important; font: 400 14px/1.6 var(--jds-sans, Arial, sans-serif) !important; resize: vertical !important; }
#commentform .jds-comment-message-field textarea#comment:focus { outline: none !important; border-color: var(--jds-green, #315c4c) !important; box-shadow: 0 0 0 3px rgba(49,92,76,.09) !important; }
@media (max-width: 800px) { .jds-public-avis-layout { grid-template-columns: 1fr; } .jds-public-side-card { position: static; } }
@media (max-width: 600px) { .jds-form-grid { grid-template-columns: 1fr; gap: 0; } .jds-public-avis-hero { padding: 42px 0 32px; } .jds-public-avis-content { padding-top: 28px; } }

/* JDS — carrousels de la page d'accueil */
.jds-carousel-shell { position: relative; min-width: 0; }
.jds-carousel-track { display: flex !important; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 2px 1px 10px; }
.jds-carousel-track::-webkit-scrollbar { display: none; }
.jds-carousel-track > .jds-avis-card { flex: 0 0 calc((100% - 48px) / 4); scroll-snap-align: start; }
.jds-carousel-track > .jds-personality-card { flex: 0 0 calc((100% - 36px) / 4); scroll-snap-align: start; }
.jds-carousel-arrow { position: absolute; top: 50%; z-index: 4; width: 34px; height: 34px; margin-top: -20px; border: 1px solid var(--jds-line); border-radius: 50%; background: rgba(255,253,248,.96); color: var(--jds-green); box-shadow: 0 5px 18px rgba(18,63,56,.12); cursor: pointer; font: 24px/1 var(--jds-serif); display: grid; place-items: center; padding: 0 0 3px; }
.jds-carousel-arrow:hover { background: var(--jds-green); color: #fff; }
.jds-carousel-prev { left: -17px; }
.jds-carousel-next { right: -17px; }
.jds-personality-carousel-shell { padding-inline: 1px; }
.jds-personality-carousel-shell .jds-carousel-arrow { margin-top: -17px; }
@media (max-width: 1100px) {
    .jds-carousel-track > .jds-avis-card { flex-basis: calc((100% - 32px) / 3); }
    .jds-carousel-track > .jds-personality-card { flex-basis: calc((100% - 24px) / 3); }
}
@media (max-width: 850px) {
    .jds-carousel-track > .jds-avis-card { flex-basis: calc((100% - 16px) / 2); }
    .jds-carousel-track > .jds-personality-card { flex-basis: calc((100% - 12px) / 2); }
    .jds-carousel-prev { left: -10px; }
    .jds-carousel-next { right: -10px; }
}
@media (max-width: 560px) {
    .jds-carousel-track > .jds-avis-card { flex-basis: 82%; }
    .jds-carousel-track > .jds-personality-card { flex-basis: 88%; }
}

/* JDS — page Personnalités */
.jds-page-heading-row { align-items: end; margin-bottom: 28px; }
.jds-page-title { margin: 0; color: var(--jds-green); font: 600 42px/.98 var(--jds-serif); letter-spacing: -.025em; }
.jds-page-intro { max-width: 620px; margin: 10px 0 0; color: var(--jds-muted); font-size: 12px; line-height: 1.55; }
.jds-back-link { color: var(--jds-green); font-size: 10px; white-space: nowrap; }
.jds-personality-archive-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.jds-personality-archive-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--jds-paper); border: 1px solid var(--jds-line); border-radius: 7px; }
.jds-personality-archive-image { display: block; height: 190px; overflow: hidden; background: #ddd; }
.jds-personality-archive-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.75); transition: transform .45s ease, filter .45s ease; }
.jds-personality-archive-card:hover .jds-personality-archive-image img { transform: scale(1.035); filter: grayscale(.25); }
.jds-personality-archive-body { display: flex; flex-direction: column; flex: 1; padding: 16px; }
.jds-personality-archive-body h2 { margin: 0; font: 600 20px/1.05 var(--jds-serif); color: var(--jds-green); }
.jds-personality-archive-body h2 a:hover { text-decoration: underline; text-decoration-color: var(--jds-gold); }
.jds-personality-archive-body > p:not(.jds-years) { margin: 10px 0 15px; color: var(--jds-muted); font: italic 12px/1.5 var(--jds-serif); }
.jds-personality-archive-body .jds-text-link { margin-top: auto; }
.jds-empty-state { padding: 50px 25px; border: 1px solid var(--jds-line); background: var(--jds-paper); text-align: center; }
.jds-empty-state h2 { margin: 0 0 8px; color: var(--jds-green); font: 600 25px var(--jds-serif); }
.jds-empty-state p { margin: 0; color: var(--jds-muted); font-size: 12px; }
@media (max-width: 850px) { .jds-personality-archive-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .jds-page-heading-row { align-items: flex-start; } }
@media (max-width: 560px) { .jds-personality-archive-grid { grid-template-columns: 1fr; } .jds-page-title { font-size: 34px; } .jds-personality-archive-image { height: 210px; } }


/* =========================================================
   JDS V8 — production polish
   ========================================================= */
.jds-breadcrumbs{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:#7a8580;font-size:10px}
.jds-breadcrumbs a{color:var(--jds-green)}
.jds-page-hero{padding:8px 0 30px}
.jds-section-eyebrow{display:block;margin-bottom:8px;color:#8b7551;text-transform:uppercase;letter-spacing:.15em;font:700 10px/1.2 var(--jds-sans)}
.jds-button-primary,.jds-button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 19px;font-size:12px;font-weight:600;transition:.2s ease}
.jds-button-primary{background:var(--jds-green);color:#fff!important;border:1px solid var(--jds-green)}
.jds-button-primary:hover{background:var(--jds-green-dark);transform:translateY(-1px)}
.jds-button-secondary{background:transparent;color:var(--jds-green)!important;border:1px solid var(--jds-line)}
.jds-button-secondary:hover{border-color:var(--jds-green);background:#fff}
.jds-content-card{background:var(--jds-paper);border:1px solid var(--jds-line);border-radius:10px;padding:clamp(22px,4vw,38px);box-shadow:0 10px 30px rgba(18,63,56,.045)}
.jds-legal-content{max-width:900px}
.jds-legal-content h2{margin:26px 0 8px;color:var(--jds-green);font:600 23px/1.15 var(--jds-serif)}
.jds-legal-content h2:first-child{margin-top:0}
.jds-legal-content p,.jds-content-card li{color:#5f6b66;font-size:13px;line-height:1.75}
.jds-alert-box{margin-top:26px;padding:15px 17px;border-left:3px solid var(--jds-gold);background:#f6f1e2;color:#5f5a4d;font-size:12px;line-height:1.6}
.jds-faq-list{max-width:900px;display:grid;gap:9px}
.jds-faq-list details{background:var(--jds-paper);border:1px solid var(--jds-line);border-radius:8px}
.jds-faq-list summary{cursor:pointer;list-style:none;padding:17px 20px;color:var(--jds-green);font:600 18px/1.2 var(--jds-serif)}
.jds-faq-list summary::-webkit-details-marker{display:none}
.jds-faq-list summary:after{content:'+';float:right;font:400 20px/1 var(--jds-sans);color:#8b9a94}
.jds-faq-list details[open] summary:after{content:'−'}
.jds-faq-list details p{margin:0;padding:0 20px 20px;color:#65716c;font-size:12px;line-height:1.7}
.jds-help-cta{max-width:900px;margin-top:20px}
.jds-help-cta h2{margin:0 0 6px;color:var(--jds-green);font:600 25px var(--jds-serif)}
.jds-help-cta p{margin:0 0 16px;color:var(--jds-muted);font-size:12px}
.jds-service-grid-large{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.jds-service-grid-large .jds-service-card{min-height:0}
.jds-service-card h2{margin:0;font:600 22px/1.08 var(--jds-serif);color:var(--jds-green)}
.jds-service-list{margin:14px 0;padding-left:17px;display:grid;gap:5px}
.jds-service-list li{color:#64706b;font-size:11px}
.jds-service-partner-banner{margin:28px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px 30px;border:1px solid var(--jds-line);border-radius:10px;background:#eef1e8}
.jds-service-partner-banner h2{margin:0 0 6px;color:var(--jds-green);font:600 28px var(--jds-serif)}
.jds-service-partner-banner p{max-width:700px;margin:0;color:#64706b;font-size:12px;line-height:1.6}
.jds-service-note{max-width:900px}
.jds-service-note h2{margin:0 0 8px;color:var(--jds-green);font:600 24px var(--jds-serif)}
.jds-hommages-stream{display:grid;gap:18px;max-width:1000px}
.jds-hommage-feature{background:var(--jds-paper);border:1px solid var(--jds-line);border-radius:10px;padding:22px}
.jds-hommage-feature-head{display:flex;align-items:center;gap:15px}
.jds-hommage-feature-head img{width:62px;height:62px;border-radius:50%;object-fit:cover;filter:grayscale(.5)}
.jds-hommage-feature-head h2{margin:0 0 5px;color:var(--jds-green);font:600 24px var(--jds-serif)}
.jds-hommage-feature-head a{font-size:10px;color:var(--jds-green)}
.jds-hommage-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.jds-hommage-quotes blockquote{margin:0;padding:16px;background:#f7f4ec;border-radius:7px;color:#5f6b66;font:italic 15px/1.5 var(--jds-serif)}
.jds-hommage-quotes footer{margin-top:10px;color:#89938f;font:400 10px/1.4 var(--jds-sans)}
.jds-contact-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:20px;align-items:start}
.jds-contact-form{display:grid;gap:15px}
.jds-contact-form label{display:grid;gap:7px;color:#42534d;font:600 12px/1.3 var(--jds-sans)}
.jds-contact-form label span{color:#9c4f48}
.jds-contact-form input,.jds-contact-form textarea{width:100%;border:1px solid #ccd3cd;border-radius:7px;background:#fff;padding:12px 13px;color:var(--jds-text);outline:0}
.jds-contact-form input:focus,.jds-contact-form textarea:focus{border-color:var(--jds-green);box-shadow:0 0 0 3px rgba(49,92,76,.09)}
.jds-contact-form textarea{resize:vertical}
.jds-contact-aside h2{margin:0 0 7px;color:var(--jds-green);font:600 21px var(--jds-serif)}
.jds-contact-aside h2:not(:first-child){margin-top:25px}
.jds-contact-aside p{color:#65716c;font-size:12px;line-height:1.7}
.jds-small-note{font-size:10px!important;color:#8b9691!important}
.jds-memory-landing{background:var(--jds-cream-2);padding:28px 0 70px}
.jds-memory-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:35px;align-items:center;padding:48px 0}
.jds-memory-hero h1{max-width:680px;margin:0 0 14px;color:var(--jds-green);font:600 clamp(42px,5vw,64px)/.95 var(--jds-serif);letter-spacing:-.03em}
.jds-memory-hero p{max-width:650px;color:#64706b;font-size:14px;line-height:1.75}
.jds-memory-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.jds-memory-feature-list{display:grid;gap:10px}
.jds-memory-feature-list>div{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px 17px;background:#fff;border:1px solid var(--jds-line);border-radius:8px}
.jds-memory-feature-list strong{color:#a18b58;font:600 11px var(--jds-sans)}
.jds-memory-feature-list span{color:#64706b;font-size:12px;line-height:1.55}
.jds-memory-feature-list b{color:var(--jds-green)}
.jds-memory-pricing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.jds-memory-pricing h2{margin:8px 0;color:var(--jds-green);font:600 25px var(--jds-serif)}
.jds-memory-pricing a{display:inline-block;margin-top:12px;color:var(--jds-green);font-size:11px;font-weight:600}
.jds-memory-pricing ol{margin:10px 0 0;padding-left:20px}
.jds-premium-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eee7d4;color:#7e6a42;text-transform:uppercase;letter-spacing:.1em;font-size:8px;font-weight:700}
.jds-404 .jds-empty-state{max-width:800px;margin:35px auto}
.jds-404-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.jds-footer-contact-box{padding:3px 0}
.jds-footer-contact-box strong{display:block;color:var(--jds-green);font:600 19px var(--jds-serif)}
.jds-footer-contact-box p{margin:7px 0 10px;color:#6d7773;font-size:10px;line-height:1.55}
.jds-footer-contact-link{font-size:10px;color:var(--jds-green)}
.jds-honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:850px){
 .jds-service-grid-large,.jds-contact-layout,.jds-memory-hero,.jds-memory-pricing{grid-template-columns:1fr}
 .jds-service-partner-banner{align-items:flex-start;flex-direction:column}
 .jds-hommage-quotes{grid-template-columns:1fr}
}
@media(max-width:600px){
 .jds-container{width:min(var(--jds-container),calc(100% - 32px))}
 .jds-page-title{font-size:34px}
 .jds-service-partner-banner{padding:22px}
 .jds-memory-hero{padding:25px 0 35px}
 .jds-memory-hero h1{font-size:43px}
}

/* =========================================================
   V8.1 — Le Journal des Souvenirs
   ========================================================= */
.jds-journal-home{padding:58px 0 72px;background:#fbfaf6;position:relative;overflow:hidden}
.jds-journal-home:before{content:'';position:absolute;width:420px;height:420px;border:1px solid rgba(199,178,122,.22);border-radius:50%;right:-220px;top:-210px;pointer-events:none}
.jds-journal-heading{align-items:flex-end}
.jds-journal-heading>div{max-width:760px}
.jds-journal-heading h2{margin-bottom:8px}
.jds-journal-heading>div>p:not(.jds-journal-kicker){margin:0;color:#69736e;font-size:12px;line-height:1.65}
.jds-journal-kicker{margin:0 0 6px;color:#a28b56;text-transform:uppercase;letter-spacing:.16em;font:700 9px/1.3 var(--jds-sans)}
.jds-journal-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:25px 0 22px}
.jds-journal-category{display:flex;flex-direction:column;min-height:145px;padding:17px;background:#fff;border:1px solid var(--jds-line);border-radius:8px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.jds-journal-category:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(18,63,56,.07);border-color:#c8c2ae}
.jds-journal-category strong{color:var(--jds-green);font:600 18px/1.05 var(--jds-serif)}
.jds-journal-category span{margin-top:10px;color:#707a75;font-size:10px;line-height:1.5}
.jds-journal-category b{margin-top:auto;padding-top:13px;color:var(--jds-green);font-size:9px}
.jds-journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.jds-journal-card{padding:22px;background:#fff;border:1px solid var(--jds-line);border-radius:8px;min-height:230px;display:flex;flex-direction:column}
.jds-journal-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;color:#8a928d;font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.jds-journal-card-top span{color:#a28b56;font-weight:700}
.jds-journal-card h3{margin:0 0 9px;color:var(--jds-green);font:600 23px/1.05 var(--jds-serif)}
.jds-journal-card h3 a:hover{color:#8c7544}
.jds-journal-card p{margin:0;color:#68736e;font-size:11px;line-height:1.65}
.jds-journal-card .jds-text-link{margin-top:auto;padding-top:18px}
.jds-blog-hero{max-width:850px;padding:15px 0 28px}
.jds-blog-hero h1{margin:0 0 12px;color:var(--jds-green);font:600 clamp(42px,6vw,66px)/.96 var(--jds-serif);letter-spacing:-.03em}
.jds-blog-hero>p:last-child{max-width:760px;margin:0;color:#65716c;font-size:14px;line-height:1.75}
.jds-blog-category-nav{display:flex;flex-wrap:wrap;gap:8px;padding:17px 0 25px;border-top:1px solid var(--jds-line);border-bottom:1px solid var(--jds-line)}
.jds-blog-category-nav a{display:inline-flex;padding:8px 12px;border:1px solid #d5d2c7;border-radius:999px;background:#fffdf8;color:var(--jds-green);font-size:9px;font-weight:700}
.jds-blog-category-nav a:hover{border-color:var(--jds-green);background:var(--jds-green);color:#fff}
.jds-blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0}
.jds-blog-card{overflow:hidden;background:var(--jds-paper);border:1px solid var(--jds-line);border-radius:9px;display:flex;flex-direction:column}
.jds-blog-card-image{height:220px;display:block;overflow:hidden;background:#e9e6dc}
.jds-blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.jds-blog-card:hover .jds-blog-card-image img{transform:scale(1.025)}
.jds-blog-card-body{padding:23px;display:flex;flex-direction:column;flex:1}
.jds-blog-card-meta{margin-bottom:10px;color:#a28b56;font-size:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.jds-blog-card-meta span{color:#9ca39f;padding:0 5px}
.jds-blog-card h2{margin:0 0 10px;color:var(--jds-green);font:600 28px/1.05 var(--jds-serif)}
.jds-blog-card p{margin:0;color:#68736e;font-size:11px;line-height:1.7}
.jds-blog-card .jds-text-link{margin-top:auto;padding-top:18px}
.jds-blog-archive .navigation.pagination{margin-top:28px}
.jds-single-blog .jds-container{max-width:980px}
.jds-article-card{max-width:900px;margin:0 auto;background:var(--jds-paper);border:1px solid var(--jds-line);border-radius:10px;overflow:hidden}
.jds-article-header{padding:45px 55px 30px;text-align:center;border-bottom:1px solid var(--jds-line)}
.jds-article-kicker{color:#a28b56;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.jds-article-kicker a:hover{color:var(--jds-green)}
.jds-article-header h1{max-width:760px;margin:14px auto 10px;color:var(--jds-green);font:600 clamp(40px,5vw,60px)/.98 var(--jds-serif);letter-spacing:-.025em}
.jds-article-date{margin:0;color:#8b9691;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.jds-article-excerpt{max-width:680px;margin:20px auto 0;color:#66726c;font:italic 17px/1.6 var(--jds-serif)}
.jds-article-content{padding:35px 55px 20px;color:#4d5b56;font-size:15px;line-height:1.85}
.jds-article-content p{margin:0 0 1.2em}
.jds-article-content h2{margin:1.7em 0 .55em;color:var(--jds-green);font:600 29px/1.08 var(--jds-serif)}
.jds-article-content h3{margin:1.5em 0 .5em;color:var(--jds-green);font:600 22px/1.15 var(--jds-serif)}
.jds-article-content blockquote{margin:28px 0;padding:22px 25px;border-left:3px solid var(--jds-gold);background:#f7f4ec;color:#5f675f;font:italic 21px/1.55 var(--jds-serif)}
.jds-article-content a{color:var(--jds-green);text-decoration:underline;text-decoration-color:rgba(199,178,122,.65);text-underline-offset:3px}
.jds-article-tags{padding:0 55px 25px;display:flex;flex-wrap:wrap;gap:7px}
.jds-article-tags a{padding:6px 9px;border-radius:999px;background:#eee9dc;color:#7e6a42;font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.jds-article-footer{margin:0 55px 45px;padding:23px;background:#eef1e8;border-radius:8px;text-align:center}
.jds-article-footer p{margin:0 0 14px;color:#64706b;font-size:11px}
.jds-article-footer .jds-button{display:inline-flex}
@media(max-width:1000px){.jds-journal-categories{grid-template-columns:repeat(3,minmax(0,1fr))}.jds-journal-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.jds-journal-categories,.jds-journal-grid,.jds-blog-grid{grid-template-columns:1fr}.jds-article-header{padding:32px 22px 25px}.jds-article-content{padding:25px 22px 10px}.jds-article-tags{padding:0 22px 20px}.jds-article-footer{margin:0 22px 28px}.jds-blog-hero h1{font-size:43px}}


/* =========================================================
   V8.2 — Memorial profiles, hommages, partners and polish
   ========================================================= */

/* Avis home: grid fixe, sem carrossel. */
.jds-avis-home-layout { grid-template-columns:minmax(0,1fr) 160px; }
.jds-avis-home-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.jds-avis-home-grid .jds-card-image { background:#ebe8de; }
.jds-avis-home-grid .jds-card-image img { object-fit:cover; }

/* Avatar sem fotografia real: identidade visual, não imagem de banco. */
.jds-card-image img[src^="data:image/svg+xml"] { object-fit:cover; }
.jds-avis-portrait { flex-direction:column; align-items:center; }
.jds-avis-portrait-img[src^="data:image/svg+xml"] { object-fit:cover; }
.jds-avatar-note { margin-top:7px; color:#8a928e; font-size:9px; letter-spacing:.02em; }

/* Banner do memorial: foto real somente quando a família a forneceu. */
.jds-avis-banner { background:linear-gradient(120deg,#e8e3d5,#d7ded5); }
.jds-avis-banner[style*="--jds-avis-banner-image"] { background-image:var(--jds-avis-banner-image); background-position:center; background-size:cover; }
.jds-avis-banner:not([style*="--jds-avis-banner-image"]) .jds-avis-banner-overlay { background:linear-gradient(90deg,rgba(246,243,232,.96),rgba(218,225,216,.72)); }

/* Chamada editorial para a biografia Premium. */
.jds-biography-cta { margin:8px 0 0; padding:25px; display:flex; gap:18px; align-items:flex-start; border:1px solid #d8d1bd; border-radius:14px; background:linear-gradient(135deg,#fbf8ed,#f1f4ed); }
.jds-biography-cta-icon { width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;background:#e8e1cd;color:var(--jds-green);font:24px var(--jds-serif); }
.jds-biography-cta h2 { margin:8px 0 7px; color:var(--jds-green); font:600 25px/1.1 var(--jds-serif); }
.jds-biography-cta p { margin:0 0 12px; max-width:650px; color:#66726c; font-size:11px; line-height:1.65; }
.jds-biography-cta a { color:var(--jds-green); font-size:10px; font-weight:600; }

/* Serviços: cartões sem fotos, com ícones grandes e mais leves. */
.jds-services .jds-service-card { min-height:225px; display:flex; flex-direction:column; justify-content:flex-end; padding-top:0; background:rgba(255,253,248,.86); }
.jds-services .jds-service-icon { position:relative; top:auto; left:auto; width:60px; height:60px; margin:24px 18px 0; border:0; border-radius:18px; background:#e8eee7; color:var(--jds-green); font-size:27px; }
.jds-services .jds-service-body { padding:17px 18px 20px; }
.jds-services .jds-service-body p { min-height:48px; }

/* Derniers hommages — carrousel automatique. */
.jds-home-hommages { padding:38px 0 46px; background:#f2f0e7; }
.jds-hommage-carousel { position:relative; }
.jds-hommage-carousel-track { display:flex; gap:16px; overflow:hidden; scroll-behavior:smooth; padding:2px 2px 10px; }
.jds-home-hommage-card { flex:0 0 calc((100% - 32px)/3); background:var(--jds-paper); border:1px solid var(--jds-line); border-radius:13px; padding:18px; box-shadow:0 8px 25px rgba(18,63,56,.045); }
.jds-home-hommage-head { display:flex; align-items:center; gap:11px; }
.jds-home-hommage-head img { width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 48px; }
.jds-home-hommage-head span { display:block; color:#8a938e; font-size:8px; text-transform:uppercase; letter-spacing:.12em; }
.jds-home-hommage-head strong { display:block; margin-top:3px; color:var(--jds-green); font:600 18px/1.05 var(--jds-serif); }
.jds-home-hommage-card blockquote { margin:15px 0 10px; color:#596761; font:italic 15px/1.5 var(--jds-serif); }
.jds-home-hommage-card footer { color:#929b97; font-size:9px; }
.jds-home-hommage-card > a { display:inline-block; margin-top:12px; color:var(--jds-green); font-size:9px; }
.jds-hommage-carousel-arrow { position:absolute; z-index:3; top:50%; transform:translateY(-50%); width:35px;height:35px;border:1px solid var(--jds-line);border-radius:50%;background:rgba(255,253,248,.96);color:var(--jds-green);box-shadow:0 5px 18px rgba(18,63,56,.12);font:24px/1 var(--jds-serif);cursor:pointer; }
.jds-hommage-carousel-arrow:first-child { left:-17px; }
.jds-hommage-carousel-arrow:last-child { right:-17px; }
.jds-hommage-carousel-arrow:hover { background:var(--jds-green);color:#fff; }
.jds-hommage-empty { padding:28px; text-align:center; border:1px dashed #d5cfbe; border-radius:12px; background:rgba(255,253,248,.7); }
.jds-hommage-empty span { display:block; color:var(--jds-gold); font-size:28px; }
.jds-hommage-empty p { margin:5px 0 10px; color:var(--jds-muted); font-size:11px; }
.jds-hommage-empty a { color:var(--jds-green); font-size:10px; }

/* Página de homenagens: composer + ligação explícita ao memorial. */
.jds-hommage-compose { margin:0 0 28px; display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:28px; padding:26px; border:1px solid var(--jds-line); border-radius:14px; background:linear-gradient(135deg,#fbfaf5,#f0f3ec); }
.jds-hommage-compose-copy h2 { margin:5px 0 8px; color:var(--jds-green); font:600 30px/1 var(--jds-serif); }
.jds-hommage-compose-copy p { margin:0; color:var(--jds-muted); font-size:11px; line-height:1.65; }
.jds-hommage-compose-form { display:grid; gap:13px; }
.jds-hommage-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.jds-hommage-compose-form label { display:grid; gap:6px; color:#42534d; font:600 10px/1.3 var(--jds-sans); }
.jds-hommage-compose-form input,.jds-hommage-compose-form select,.jds-hommage-compose-form textarea { width:100%; border:1px solid #ccd3cd; border-radius:7px; background:#fff; padding:11px 12px; color:#33423d; outline:0; font:400 12px/1.5 var(--jds-sans); }
.jds-hommage-compose-form textarea { resize:vertical; }
.jds-hommage-compose-form input:focus,.jds-hommage-compose-form select:focus,.jds-hommage-compose-form textarea:focus { border-color:var(--jds-green); box-shadow:0 0 0 3px rgba(49,92,76,.09); }
.jds-hommage-compose-form small { color:#858f8b; font-size:9px; }
.jds-hommage-form-wide { grid-column:1/-1; }

/* Espace mémoire: édition de biographie. */
.jds-biography-manager { background:linear-gradient(135deg,#fffdf8,#f5f5ed); }
.jds-biography-manager .jds-premium-badge { margin-left:7px; vertical-align:middle; }
.jds-biography-manager textarea { display:block; width:100%; box-sizing:border-box; margin:15px 0 12px; min-height:180px; border:1px solid #ccd3cd; border-radius:10px; padding:14px; resize:vertical; color:var(--jds-text); background:#fff; }
.jds-biography-manager textarea:focus { outline:0; border-color:var(--jds-green); box-shadow:0 0 0 3px rgba(49,92,76,.09); }

/* Anúncios gerenciáveis. */
.jds-partner-card-managed { background:#d8d5c9 var(--partner-image) center/cover; }
.jds-partner-card-managed:not([style*="--partner-image"]) { background:linear-gradient(145deg,#e6e9df,#d7ded5); }
.jds-partner-label { text-transform:none; }
.jds-partner-card-managed h3 { font-size:22px; }

/* Logo: presença mais institucional. */
.jds-brand-mark { width:58px; height:50px; }
.jds-brand-copy strong { letter-spacing:-.025em; }
.jds-footer .jds-brand-mark { color:#f3eee0; }

/* Responsive additions */
@media (max-width:1100px) {
    .jds-avis-home-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .jds-home-hommage-card { flex-basis:calc((100% - 16px)/2); }
}
@media (max-width:850px) {
    .jds-avis-home-layout { grid-template-columns:1fr; }
    .jds-avis-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .jds-hommage-compose { grid-template-columns:1fr; }
    .jds-hommage-carousel-arrow:first-child { left:-10px; }
    .jds-hommage-carousel-arrow:last-child { right:-10px; }
}
@media (max-width:600px) {
    .jds-avis-home-grid { grid-template-columns:1fr; }
    .jds-home-hommage-card { flex-basis:88%; }
    .jds-hommage-form-grid { grid-template-columns:1fr; }
    .jds-hommage-form-wide { grid-column:auto; }
    .jds-biography-cta { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
    .jds-hommage-carousel-track { scroll-behavior:auto; }
}

.jds-partner-inline { margin:24px 0 4px; min-height:94px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 22px; border:1px solid var(--jds-line); border-radius:12px; background:#f0f2ea var(--partner-inline-image) right center/auto 100% no-repeat; }
.jds-partner-inline.is-placeholder { background:linear-gradient(110deg,#f1f3ec,#faf8f0); }
.jds-partner-inline strong { display:block; margin:3px 0 3px; color:var(--jds-green); font:600 22px/1.05 var(--jds-serif); }
.jds-partner-inline p { margin:0; max-width:720px; color:#68736e; font-size:10px; line-height:1.5; }
.jds-partner-inline a { flex:0 0 auto; padding:10px 14px; border-radius:999px; background:var(--jds-green); color:#fff; font-size:9px; }
@media(max-width:600px){.jds-partner-inline{align-items:flex-start;flex-direction:column}.jds-partner-inline a{width:100%;text-align:center}}

/* =========================================================
   V8.3 — refinamento visual: avis compactos, avatar social,
   marca pomba e WooCommerce sem fotografias de produto.
   ========================================================= */
.jds-avis-home-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.jds-avis-home-grid .jds-avis-card{border-radius:16px;border-color:#e0ded4;box-shadow:0 4px 18px rgba(25,55,47,.035);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.jds-avis-home-grid .jds-avis-card:hover{transform:translateY(-2px);border-color:#d2cdbf;box-shadow:0 10px 28px rgba(25,55,47,.07)}
.jds-avis-home-grid .jds-card-image{height:96px;background:#eef0ed;display:grid;place-items:center}
.jds-avis-home-grid .jds-card-image img{width:100%;height:100%;object-fit:cover}
.jds-avis-home-grid .jds-card-body{padding:11px 12px 12px}
.jds-avis-home-grid .jds-card-body h3{font-size:16px;line-height:1.08}
.jds-avis-home-grid .jds-years{font-size:10px;margin-top:3px}
.jds-avis-home-grid .jds-place{font-size:9px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jds-avis-home-grid .jds-hommage-meta{margin:7px 0 0;font-size:7.5px;flex-wrap:wrap}
.jds-avis-home-grid .jds-mini-flame{width:16px;height:16px;font-size:8px}
.jds-avis-home-grid .jds-card-quote{display:none}
.jds-avis-home-grid .jds-text-link{margin-top:8px;padding-top:7px;border-top:1px solid #ece9df;font-size:8px}

/* A imagem real continua preenchendo o cartão; o placeholder sem foto fica
   propositalmente neutro como em perfis de redes sociais. */
.jds-card-image img[src^="data:image/svg+xml"]{object-fit:cover;transform:none!important}

/* Marca: pomba minimalista — mais leve e memorável. */
.jds-brand{gap:10px}
.jds-brand-mark{width:62px;height:47px}
.jds-brand-mark svg{overflow:visible}
.jds-brand-copy strong{font-weight:600;letter-spacing:-.035em}

/* WooCommerce: o produto é representado pelo ícone/serviço, não por fotografia. */
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .images,
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img{display:none!important}
.single-product div.product .summary{float:none!important;width:100%!important;margin-left:0!important}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{padding-top:14px}

/* Um pouco mais de respiro e coerência nas superfícies principais. */
.jds-section-heading h2{letter-spacing:-.03em}
.jds-service-card,.jds-personality-card{border-radius:12px}
.jds-service-card{box-shadow:0 4px 16px rgba(25,55,47,.025)}
.jds-personality-card{transition:transform .2s ease,box-shadow .2s ease}
.jds-personality-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(25,55,47,.06)}

@media(max-width:1100px){.jds-avis-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.jds-avis-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.jds-avis-home-grid .jds-card-image{height:88px}.jds-brand-mark{width:49px;height:40px}}
@media(max-width:430px){.jds-avis-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.jds-avis-home-grid .jds-card-body{padding:9px}.jds-avis-home-grid .jds-card-body h3{font-size:14px}.jds-avis-home-grid .jds-card-image{height:80px}.jds-avis-home-grid .jds-hommage-meta{display:none}.jds-avis-home-grid .jds-text-link{margin-top:6px}}

/* V8.4 — refinamentos de memorial, logo, serviços e busca de homenagens */
.jds-avis-banner-message{max-width:620px!important;margin:10px 0 0!important;font:400 clamp(20px,2.3vw,30px)/1.25 var(--jds-serif)!important;color:#fff}
.jds-free-photo-form{display:flex;flex-direction:column;align-items:center;gap:7px;margin-top:10px}.jds-free-photo-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.jds-free-photo-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border-radius:999px;background:var(--jds-green);color:#fff;font-size:10px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(18,63,56,.14)}.jds-free-photo-button:hover{transform:translateY(-1px)}.jds-free-photo-form small{max-width:270px;text-align:center;color:#89928e;font-size:8px;line-height:1.45}
.jds-services .jds-service-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}.jds-services .jds-service-icon{display:grid!important;place-items:center!important;visibility:visible!important;opacity:1!important}
.jds-memorial-search{position:relative}.jds-memorial-search-input{width:100%;padding-right:38px!important}.jds-memorial-search-results{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:310px;overflow:auto;background:#fff;border:1px solid var(--jds-line);border-radius:12px;box-shadow:0 18px 45px rgba(18,63,56,.15);padding:5px}.jds-memorial-search-result{display:flex;width:100%;flex-direction:column;gap:3px;text-align:left;padding:11px 12px;border:0;border-bottom:1px solid #eeece4;background:#fff;color:var(--jds-green);cursor:pointer}.jds-memorial-search-result:last-child{border-bottom:0}.jds-memorial-search-result:hover{background:#f4f5ef}.jds-memorial-search-result strong{font:600 15px/1.2 var(--jds-serif)}.jds-memorial-search-result small,.jds-selected-memorial{color:#87908c;font-size:9px}.jds-memorial-search-empty{padding:13px;color:#87908c;font-size:10px}
.jds-brand-mark{width:58px;height:50px}.jds-brand-mark svg{filter:none}.jds-brand-copy strong{letter-spacing:-.015em}


/* ==========================================================
   V8.5 — Visual system aligned with approved reference mockup
   ========================================================== */
:root{
 --jds-green:#173f35;--jds-green-2:#285b4d;--jds-green-dark:#102f28;
 --jds-cream:#f7f2e8;--jds-cream-2:#fbf8f1;--jds-paper:#fffdf9;
 --jds-gold:#b48639;--jds-line:#e7e0d3;--jds-text:#182d28;--jds-muted:#6f7772;
 --jds-shadow:0 12px 34px rgba(55,45,28,.075);--jds-radius:14px;--jds-container:1320px;
}
body.jds-redesign-active{background:#fbfaf6;color:var(--jds-text)}
.jds-container{width:min(var(--jds-container),calc(100% - 56px))}
.jds-header{height:76px;background:rgba(255,253,249,.985);box-shadow:0 3px 18px rgba(55,45,28,.045);border:0}
.jds-brand{min-width:300px;gap:10px}.jds-brand-mark{width:62px;height:52px}.jds-brand-copy strong{font-size:27px;color:#172d28}.jds-brand-copy small{margin-top:6px;color:#8a6530;font-size:7.5px;letter-spacing:.34em}
.jds-main-nav{gap:23px;font-size:11px}.jds-nav-publish{background:#263b34;color:#fff!important;padding:9px 16px;border-radius:999px}.jds-login{padding:8px 14px}
.jds-hero{min-height:360px;background-position:center 55%;border-radius:0 0 22px 22px}
.jds-hero-overlay{background:linear-gradient(90deg,rgba(24,31,26,.64) 0%,rgba(31,35,28,.34) 48%,rgba(30,35,29,.08) 78%)}
.jds-hero-content{min-height:360px;align-items:flex-start;justify-content:center;text-align:left;padding:42px 0 38px}
.jds-hero h1{color:#fff;font-size:clamp(40px,4vw,60px);line-height:.98;letter-spacing:-.025em;margin-bottom:10px;text-shadow:0 2px 12px rgba(0,0,0,.15)}
.jds-hero-lead{color:#fff;font-size:15px;margin-bottom:17px}.jds-hero-search{width:min(510px,100%)}
.jds-search-main{height:45px;padding-left:14px;border:0;box-shadow:0 8px 26px rgba(0,0,0,.16)}.jds-search-main svg{display:none}.jds-search-main button{width:46px;padding:0;justify-content:center;background:#b48639;font-size:0}.jds-search-main button span{font-size:21px}.jds-advanced-toggle,.jds-hero-count{display:none}
.jds-shortcuts{display:none}
.jds-section{padding:30px 0 34px}.jds-section-heading{margin-bottom:16px;align-items:center}.jds-section-heading h2{font-size:27px;color:#172d28}.jds-section-heading h2 span{display:none}.jds-section-heading> a{font-size:10px}
.jds-avis-home-layout{display:block}.jds-avis-home-layout>.jds-partner-card{display:none}.jds-avis-home-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.jds-avis-home-grid .jds-avis-card{border-radius:12px;background:#fff;border:1px solid #ece6dc;box-shadow:0 4px 16px rgba(45,38,26,.035);padding:12px 8px 11px;text-align:center;align-items:center;overflow:visible}
.jds-avis-home-grid .jds-card-image{width:72px;height:72px;border-radius:50%;margin:0 auto 7px;border:3px solid #f3eee5;background:#e7e9e7;box-shadow:0 0 0 1px #ddd5c7;overflow:hidden}.jds-avis-home-grid .jds-card-image img{border-radius:50%;object-fit:cover}.jds-avis-home-grid .jds-card-body{padding:0;align-items:center}.jds-avis-home-grid .jds-card-body h3{font-size:15px;line-height:1.1}.jds-avis-home-grid .jds-years{font:400 10px var(--jds-sans);color:#606963;margin-top:4px}.jds-avis-home-grid .jds-place{font-size:9px;color:#858b87}.jds-avis-home-grid .jds-hommage-meta,.jds-avis-home-grid .jds-card-quote,.jds-avis-home-grid .jds-text-link{display:none}
.jds-home-hommages{padding:28px 0 36px;background:#fbfaf6}.jds-home-hommage-card{border-radius:12px;padding:15px;background:#fff;box-shadow:0 5px 18px rgba(45,38,26,.04)}.jds-home-hommage-card blockquote{font-size:14px;color:#59615d}
.jds-services{padding:28px 0 38px;background:#fffaf1}.jds-services:before,.jds-services:after{display:none}.jds-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.jds-services .jds-service-card{min-height:170px;border-radius:12px;justify-content:flex-start;text-align:center;padding:17px 14px;background:#fff;border:1px solid #ebe2d3;box-shadow:0 6px 20px rgba(53,43,25,.04)}.jds-services .jds-service-icon{width:52px;height:52px;margin:0 auto 10px;border-radius:50%;background:#f7efdf;color:#a8772d}.jds-services .jds-service-icon svg{width:27px;height:27px}.jds-services .jds-service-body{padding:0}.jds-services .jds-service-body h3{font-size:17px;color:#192f29}.jds-services .jds-service-body p{font-size:9px;min-height:38px;margin:6px auto 8px;max-width:230px}.jds-services .jds-service-body a{font-size:9px;color:#8c672d}
.jds-personnalites{background:#fbfaf6}.jds-personality-card{border-radius:12px!important;background:#fff;box-shadow:0 5px 18px rgba(45,38,26,.04)}
.jds-journal-home{background:#f6f0e6}.jds-journal-card,.jds-journal-category{border-radius:12px!important;background:#fff}
/* Memorial page */
.jds-avis-banner{min-height:285px;border-radius:0 0 20px 20px;background-position:center 48%}.jds-avis-banner-overlay{background:linear-gradient(180deg,rgba(17,31,26,.04),rgba(17,31,26,.18))}.jds-avis-banner-content{min-height:285px;justify-content:flex-start;padding-top:20px}.jds-avis-kicker,.jds-avis-banner-message{display:none}
.jds-avis-page>.jds-avis-layout{margin-top:-64px;position:relative;z-index:3}.jds-avis-main-card{border-radius:16px;background:#fff;box-shadow:0 12px 35px rgba(43,37,27,.08);border:1px solid #eee7dc}.jds-avis-portrait{margin-top:-62px}.jds-avis-portrait-img{width:124px;height:124px;border-radius:50%;border:5px solid #fff;box-shadow:0 0 0 1px #d8cdbb,0 7px 24px rgba(39,33,23,.12)}.jds-avis-heading h2{font-size:34px;color:#192f29}.jds-avis-facts>div,.jds-avis-place,.jds-biography-cta,.jds-biography-public{border-radius:11px}.jds-free-photo-button{border-radius:9px;background:#b48639!important;color:#fff!important}
/* Hommages */
.jds-hommage-compose{border-radius:16px;background:#fff;border:1px solid #ebe3d6;box-shadow:0 7px 24px rgba(50,42,28,.045)}.jds-memorial-search-input,.jds-hommage-compose-form input,.jds-hommage-compose-form textarea{border-radius:999px}.jds-hommage-compose-form textarea{border-radius:12px}.jds-hommage-feature{border-radius:13px;background:#fff}.jds-hommage-quotes blockquote{border-radius:10px;background:#fbf7ef}
/* WooCommerce */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:#fff;border:1px solid #ebe3d7;border-radius:13px;padding:18px!important;text-align:center;box-shadow:0 5px 18px rgba(45,38,26,.04)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--jds-serif);font-size:18px!important;color:#1b322b}.woocommerce ul.products li.product .price{color:#8e692f!important}.woocommerce a.button{border-radius:999px!important;background:#b48639!important;color:#fff!important}
@media(max-width:1000px){.jds-avis-home-grid{grid-template-columns:repeat(4,1fr)}.jds-main-nav{gap:14px}.jds-brand{min-width:245px}.jds-brand-copy strong{font-size:23px}}
@media(max-width:760px){.jds-container{width:min(100% - 28px,var(--jds-container))}.jds-header{height:70px}.jds-brand-mark{width:52px}.jds-brand-copy strong{font-size:21px}.jds-hero,.jds-hero-content{min-height:390px}.jds-hero-content{justify-content:flex-end;padding-bottom:36px}.jds-hero h1{font-size:39px}.jds-avis-home-grid{grid-template-columns:repeat(3,1fr)}.jds-service-grid{grid-template-columns:repeat(2,1fr)}.jds-avis-page>.jds-avis-layout{margin-top:-45px}}
@media(max-width:480px){.jds-avis-home-grid{grid-template-columns:repeat(2,1fr);gap:8px}.jds-avis-home-grid .jds-card-image{width:66px;height:66px}.jds-services .jds-service-card{min-height:160px;padding:14px 9px}.jds-service-grid{gap:8px}.jds-hero h1{font-size:34px}}

/* ==========================================================
   V8.6 — Approved concept: exact visual direction
   ========================================================== */
:root{--jds-green:#163e34;--jds-green-dark:#0d3028;--jds-gold:#b8893d;--jds-cream:#f5f0e6;--jds-cream-2:#fbf8f1;--jds-paper:#fffefa;--jds-line:#e8e1d5;--jds-text:#17342d;--jds-muted:#71807a;--jds-shadow:0 8px 24px rgba(47,40,28,.055);--jds-radius:13px;--jds-container:1380px}
body.jds-redesign-active{background:#fbfaf6;color:var(--jds-text)}
.jds-header{height:72px;position:relative;z-index:100;background:#fffefa;border-bottom:1px solid #eee9df;box-shadow:0 2px 12px rgba(45,38,25,.035)}
.jds-header-inner{height:72px}.jds-brand{min-width:285px;gap:8px}.jds-brand-mark{width:54px;height:44px}.jds-brand-copy strong{font:600 23px/1 var(--jds-serif);color:#15352e}.jds-brand-copy small{text-transform:uppercase;font-size:6.8px;letter-spacing:.32em;color:#9a7133;margin-top:5px}
.jds-main-nav{gap:18px;font-size:10px;font-weight:600;color:#27463e}.jds-main-nav>a{white-space:nowrap}.jds-nav-publish{background:linear-gradient(180deg,#c49a52,#a9772d)!important;color:#fff!important;padding:10px 18px!important;box-shadow:0 4px 12px rgba(167,119,45,.2)}.jds-nav-search{font-size:19px!important;padding:2px!important}.jds-login{display:none!important}
.jds-hero{min-height:405px;border-radius:0;background-position:center 52%}.jds-hero-content{min-height:405px;padding:54px 0 44px}.jds-hero-overlay{background:linear-gradient(90deg,rgba(17,29,24,.70) 0%,rgba(19,30,25,.43) 43%,rgba(19,30,25,.07) 76%)}.jds-eyebrow{display:none}.jds-hero h1{font-size:clamp(43px,4.1vw,62px);line-height:.98;max-width:650px;margin:0 0 12px}.jds-hero h1 em{font-style:normal}.jds-hero-lead{font-size:16px}.jds-hero-search{width:500px}.jds-search-main{height:46px;border-radius:999px;background:#fff}.jds-search-main input{font-size:11px}.jds-search-main button{height:38px;width:38px;margin-right:4px;border-radius:50%;background:#b8893d}
.jds-section{padding:26px 0 30px}.jds-section-heading h2{font-size:26px}.jds-section-heading p{display:none}.jds-section-heading>a{font-size:10px;color:#31564c}
.jds-avis-home-grid{grid-template-columns:repeat(6,1fr);gap:9px}.jds-avis-home-grid .jds-avis-card{padding:11px 7px 10px;border-radius:10px;box-shadow:0 4px 14px rgba(44,38,27,.035)}.jds-avis-home-grid .jds-card-image{width:68px;height:68px}.jds-avis-home-grid .jds-card-body h3{font-size:13px}.jds-avis-home-grid .jds-years{font-size:9px}.jds-avis-home-grid .jds-place{font-size:8px}
.jds-services{padding:24px 0 32px;background:#fbfaf6}.jds-service-grid{gap:9px}.jds-services .jds-service-card{min-height:142px;padding:16px 10px;border-radius:10px}.jds-services .jds-service-icon{width:48px;height:48px;background:#f7efdf;color:#aa7629}.jds-services .jds-service-body h3{font-size:15px;max-width:160px;margin:auto}.jds-services .jds-service-body p{display:none}.jds-services .jds-service-body a{margin-top:7px;display:inline-block}
.jds-home-hommages{padding:25px 0 30px}.jds-home-hommage-card{min-width:255px;border:1px solid #eee7dc;border-radius:10px;padding:13px}.jds-home-hommage-card blockquote{font-family:var(--jds-serif);font-size:13px;font-style:italic}
.jds-personnalites{padding:26px 0;background:linear-gradient(180deg,#fbfaf6,#f8f3e9)}.jds-personality-card{border:1px solid #e7dfd2!important}.jds-personality-image{height:155px!important}.jds-personality-quote{display:none!important}
/* page shells */
.jds-page-shell{padding:42px 0 60px;background:#fbfaf6}.jds-page-title{font-size:42px;line-height:1;color:#173c33;margin-bottom:8px}.jds-page-intro{font-size:12px;color:#6f7d78;margin-bottom:22px}.jds-filter-box{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 20px}.jds-filter-grid{display:grid!important;grid-template-columns:minmax(260px,2fr) repeat(3,1fr) auto!important;gap:8px!important}.jds-filter-grid input{height:44px;border:1px solid #e3ddd1!important;border-radius:999px!important;background:#fff!important;padding:0 15px!important}.jds-filter-grid input:nth-of-type(n+5){display:none}.jds-filter-submit{border-radius:999px!important;background:#b8893d!important;color:#fff!important;border:0!important;padding:0 20px!important}
.jds-page-shell .jds-avis-grid{grid-template-columns:repeat(4,1fr);gap:10px}.jds-page-shell .jds-avis-card{background:#fff;border:1px solid #ebe5db;border-radius:10px;padding:12px 8px;text-align:center;box-shadow:0 4px 15px rgba(44,38,27,.035)}.jds-page-shell .jds-avis-card .jds-card-image{width:76px;height:76px;border-radius:50%;margin:0 auto 8px;overflow:hidden;border:3px solid #f3eee5}.jds-page-shell .jds-avis-card .jds-card-image img{height:100%;width:100%;object-fit:cover}.jds-page-shell .jds-avis-card .jds-card-body{padding:0}.jds-page-shell .jds-avis-card h3{font-size:14px}.jds-page-shell .jds-avis-card .jds-text-link{display:none}.jds-pagination{text-align:center;margin-top:28px}.jds-pagination .page-numbers{display:inline-grid;place-items:center;min-width:34px;height:34px;margin:2px;border:1px solid #e6dfd3;border-radius:7px;background:#fff;font-size:11px}.jds-pagination .current{background:#173f35;color:#fff;border-color:#173f35}
.jds-partner-inline{border-radius:12px!important;background:#153e34!important;color:#fff!important;border:0!important;margin-top:24px!important}.jds-partner-inline a{background:#b8893d!important;color:#fff!important;border-radius:7px!important}
/* memorial */
.jds-avis-banner{min-height:310px;border-radius:0;background-position:center 50%}.jds-avis-banner-content{min-height:310px}.jds-avis-page>.jds-avis-layout{margin-top:-48px;display:block}.jds-avis-main-card{max-width:1050px;margin:auto;padding:0 32px 32px;border-radius:0 0 15px 15px;border-top:0;box-shadow:0 8px 28px rgba(45,38,27,.07)}.jds-avis-back{display:none!important}.jds-avis-portrait{display:flex;flex-direction:column;align-items:flex-start;margin-top:-58px}.jds-avis-portrait-img{width:126px;height:126px}.jds-avatar-note,.jds-free-photo-form{margin-left:0}.jds-avis-heading{text-align:left;margin-top:10px}.jds-avis-heading span{display:none}.jds-avis-heading h2{font-size:34px;margin:0}.jds-avis-facts{display:flex!important;gap:18px!important;justify-content:flex-start!important;border:0!important;background:transparent!important;padding:5px 0 12px!important}.jds-avis-facts>div{background:transparent!important;border:0!important;padding:0!important}.jds-avis-facts small{display:none!important}.jds-avis-facts strong{font-size:10px!important;font-weight:500!important;color:#6d7974}.jds-avis-place{background:transparent!important;border:0!important;padding:0!important;margin:0 0 15px!important}.jds-biography-public,.jds-biography-cta{background:#fff!important;border:1px solid #ebe4d8!important;box-shadow:0 5px 18px rgba(44,38,27,.035)!important}.jds-hommage-shop{border-top:1px solid #eee7dc}
/* Hommages */
.jds-page-hero{margin-bottom:18px}.jds-hommage-compose{padding:22px!important}.jds-hommage-compose-copy h2{font-size:30px}.jds-hommage-compose-copy p{font-size:11px}.jds-memorial-search-input{height:46px!important}.jds-hommage-feature{border:1px solid #ebe4d8;box-shadow:0 5px 18px rgba(44,38,27,.035)}
/* Boutique */
.woocommerce .woocommerce-products-header,.woocommerce-page .woocommerce-products-header{text-align:left}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:12px!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;min-height:190px;display:flex!important;flex-direction:column;justify-content:center}.woocommerce ul.products li.product img{display:none!important}.woocommerce ul.products li.product:before{content:'♡';font:400 46px/1 var(--jds-serif);color:#a87327;display:block;margin-bottom:10px}.woocommerce ul.products li.product .button{font-size:9px!important;padding:8px 11px!important;align-self:center}
@media(max-width:1000px){.jds-main-nav{gap:11px;font-size:9px}.jds-brand{min-width:230px}.jds-page-shell .jds-avis-grid{grid-template-columns:repeat(3,1fr)}.woocommerce ul.products{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:760px){.jds-header{height:68px}.jds-header-inner{height:68px}.jds-brand{min-width:0}.jds-brand-copy strong{font-size:18px}.jds-brand-copy small{font-size:5.6px}.jds-hero{min-height:360px}.jds-hero-content{min-height:360px;padding-bottom:32px}.jds-hero h1{font-size:36px;max-width:340px}.jds-hero-search{width:100%}.jds-avis-home-grid{grid-template-columns:repeat(2,1fr)}.jds-service-grid{grid-template-columns:repeat(2,1fr)}.jds-page-shell .jds-avis-grid{grid-template-columns:repeat(2,1fr)}.jds-filter-grid{grid-template-columns:1fr!important}.jds-filter-grid input:nth-of-type(n+3){display:none}.jds-avis-main-card{padding:0 18px 25px}.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}.jds-page-title{font-size:34px}}
.jds-directory-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:34px;align-items:start}.jds-directory-main .jds-avis-grid{grid-template-columns:repeat(4,1fr)}.jds-directory-tools{display:flex;gap:8px;margin:0 0 14px}.jds-directory-tools span{font-size:9px;background:#fff;border:1px solid #e8e1d6;border-radius:7px;padding:7px 10px;color:#6e7975}.jds-directory-sidebar{display:grid;gap:14px}.jds-sidebar-ad{min-height:190px;padding:20px;border-radius:10px;background:linear-gradient(135deg,#f3ede2,#e9e1d3);position:relative;overflow:hidden}.jds-sidebar-ad.has-partner{color:#fff;background-image:linear-gradient(90deg,rgba(18,58,49,.94),rgba(18,58,49,.62)),var(--sidebar-ad);background-size:cover;background-position:center}.jds-sidebar-ad>span{font-size:9px;text-transform:uppercase;letter-spacing:.18em}.jds-sidebar-ad h3{font:600 21px/1.1 var(--jds-serif);margin:8px 0}.jds-sidebar-ad p{font-size:10px;line-height:1.45}.jds-sidebar-ad a{display:inline-block;margin-top:10px;background:#b8893d;color:#fff;padding:8px 11px;border-radius:6px;font-size:9px}.jds-sidebar-articles{background:#fff;border:1px solid #ebe4d9;border-radius:10px;padding:15px}.jds-sidebar-articles h2{font-size:20px;margin:0 0 10px}.jds-sidebar-articles>a{display:flex;gap:9px;padding:9px 0;border-top:1px solid #eee8de}.jds-sidebar-articles img{width:58px;height:48px;object-fit:cover;border-radius:5px}.jds-sidebar-articles span{display:flex;flex-direction:column}.jds-sidebar-articles strong{font:600 12px/1.25 var(--jds-serif)}.jds-sidebar-articles small{font-size:8px;color:#8a918e;margin-top:4px}
@media(max-width:900px){.jds-directory-layout{grid-template-columns:1fr}.jds-directory-sidebar{grid-template-columns:1fr 1fr}.jds-directory-main .jds-avis-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.jds-directory-sidebar{grid-template-columns:1fr}.jds-directory-main .jds-avis-grid{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   V8.8 — CONVERSION, ESPACE FAMILLE, PARTAGE & SEO LOCAL
   ========================================================= */
.jds-memorial-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0 24px;border-bottom:1px solid var(--jds-line)}
.jds-memorial-actions a,.jds-memorial-actions button{appearance:none;border:1px solid #dcd3c3;background:#fff;color:var(--jds-green);border-radius:999px;padding:10px 14px;font:600 10px/1.1 var(--jds-sans);text-decoration:none;cursor:pointer;transition:.2s ease}
.jds-memorial-actions a:hover,.jds-memorial-actions button:hover{border-color:var(--jds-gold);transform:translateY(-1px)}
.jds-memorial-actions .is-primary{background:var(--jds-green);border-color:var(--jds-green);color:#fff}.jds-city-link{color:inherit;text-decoration:none;border-bottom:1px dotted #b7ad9b}
.jds-native-partner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:28px 0;padding:16px 18px;border:1px solid #e5dece;border-radius:14px;background:#faf8f2}.jds-native-partner>span{grid-column:1/-1;color:var(--jds-gold);font:700 8px var(--jds-sans);text-transform:uppercase;letter-spacing:.13em}.jds-native-partner img{width:48px;height:48px;object-fit:cover;border-radius:10px}.jds-native-partner h3{margin:0 0 3px;color:var(--jds-green);font:600 18px var(--jds-serif)}.jds-native-partner p{margin:0;color:var(--jds-muted);font-size:9px;line-height:1.5}.jds-native-partner a{color:var(--jds-green);font-size:9px;font-weight:700;text-decoration:none}
.jds-premium-sales-hero{align-items:center}.jds-premium-preview{min-height:290px;border-radius:26px;background:linear-gradient(145deg,#173f35,#244f44);color:#fff;padding:36px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 20px 50px rgba(23,63,53,.16)}.jds-premium-preview>span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#d8c49b}.jds-preview-avatar{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:18px;background:#f7f2e7;color:var(--jds-gold);font-size:32px;border:3px solid rgba(255,255,255,.7)}.jds-premium-preview h3{margin:0;font:600 27px var(--jds-serif)}.jds-premium-preview p{color:#d9e1dd!important}.jds-trust-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;color:#6b756f;font-size:9px}.jds-plan-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0 50px}.jds-plan-card{padding:30px;border:1px solid #e2dacb;border-radius:22px;background:#fff}.jds-plan-card.is-premium{border-color:#c8a668;box-shadow:0 15px 45px rgba(180,134,57,.09)}.jds-plan-card>span:first-child{color:var(--jds-gold);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.jds-plan-card h2{color:var(--jds-green);font:600 30px/1 var(--jds-serif)}.jds-plan-card ul{list-style:none;padding:0;margin:20px 0 26px}.jds-plan-card li{padding:9px 0;border-bottom:1px solid #eee8dc;color:#5f6964;font-size:10px}.jds-premium-story{max-width:800px;margin:60px auto;text-align:center}.jds-premium-story h2{font:600 40px/1.05 var(--jds-serif);color:var(--jds-green)}.jds-premium-story p{color:var(--jds-muted);line-height:1.8}.jds-premium-faq{max-width:800px;margin:0 auto 70px}.jds-premium-faq h2{font:600 32px var(--jds-serif);color:var(--jds-green)}.jds-premium-faq details{border-top:1px solid #ddd5c6;padding:15px 0}.jds-premium-faq summary{cursor:pointer;color:var(--jds-green);font-weight:600}.jds-premium-faq details p{color:var(--jds-muted);font-size:10px;line-height:1.7}
.jds-family-space{padding:28px 0 70px}.jds-family-welcome{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:28px 0 26px}.jds-family-welcome h1{margin:5px 0 8px;max-width:700px;color:var(--jds-green);font:600 clamp(40px,5vw,60px)/.95 var(--jds-serif)}.jds-family-welcome p{color:var(--jds-muted);max-width:650px}.jds-family-tabs{display:flex;gap:6px;padding:6px;background:#eee9dd;border-radius:999px;width:max-content;max-width:100%;overflow:auto;margin-bottom:24px}.jds-family-tabs a{white-space:nowrap;padding:9px 14px;border-radius:999px;color:#59655f;text-decoration:none;font-size:9px;font-weight:600}.jds-family-tabs a.is-active{background:#fff;color:var(--jds-green);box-shadow:0 3px 10px rgba(30,50,40,.05)}.jds-family-panel{padding:26px;background:#fff;border:1px solid #e3dccd;border-radius:22px}.jds-family-panel h2{margin:3px 0;color:var(--jds-green);font:600 30px var(--jds-serif)}.jds-family-memorial-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.jds-family-memorial{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid #ebe4d7;border-radius:16px}.jds-family-memorial>img{width:70px;height:70px;border-radius:50%;object-fit:cover}.jds-family-memorial h3{margin:0;color:var(--jds-green);font:600 20px var(--jds-serif)}.jds-family-memorial p{margin:3px 0 9px;color:var(--jds-muted);font-size:9px}.jds-family-memorial a{margin-right:12px;color:var(--jds-green);font-size:9px;font-weight:700;text-decoration:none}.jds-family-empty{text-align:center;padding:45px 20px}.jds-family-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.jds-family-benefits article{padding:22px;border:1px solid #e5dece;border-radius:17px;background:#faf8f2}.jds-family-benefits article>span{color:var(--jds-gold);font:700 10px var(--jds-sans)}.jds-family-benefits h3{color:var(--jds-green);font:600 19px var(--jds-serif)}.jds-family-benefits p{color:var(--jds-muted);font-size:9px;line-height:1.6}.jds-place a{color:inherit;text-decoration:none}.jds-place a:hover{color:var(--jds-gold)}
@media(max-width:760px){.jds-plan-compare,.jds-family-memorial-grid{grid-template-columns:1fr}.jds-family-benefits{grid-template-columns:repeat(2,1fr)}.jds-family-welcome{align-items:flex-start;flex-direction:column}.jds-native-partner{grid-template-columns:auto 1fr}.jds-native-partner>a{grid-column:2}.jds-memorial-actions{display:grid;grid-template-columns:1fr 1fr}.jds-memorial-actions a,.jds-memorial-actions button{text-align:center}.jds-premium-story h2{font-size:32px}}

/* =========================================================
   V9.1 — QR MÉMOIRE & PLAQUES
   ========================================================= */
.jds-hero-memory-promo{display:flex;align-items:center;gap:12px;width:min(520px,100%);margin:14px 0 8px;padding:11px 14px;border:1px solid rgba(255,255,255,.28);border-radius:13px;background:rgba(17,54,46,.58);backdrop-filter:blur(7px);color:#fff;text-decoration:none}.jds-hero-memory-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:#b8893d;color:#fff;font-size:18px}.jds-hero-memory-promo>span:nth-child(2){display:flex;flex-direction:column;flex:1}.jds-hero-memory-promo b{font:600 13px var(--jds-serif)}.jds-hero-memory-promo small{font-size:8px;color:#e7ece9;margin-top:2px}.jds-hero-memory-promo strong{font-size:8px;color:#ead5a9;white-space:nowrap}
.jds-memory-products{padding:64px 0;background:#f2eee5;border-top:1px solid #e4dccd;border-bottom:1px solid #e4dccd}.jds-memory-products-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}.jds-memory-products-head h2{max-width:650px;margin:5px 0 8px;color:var(--jds-green);font:600 clamp(34px,4vw,48px)/.98 var(--jds-serif)}.jds-memory-products-head p{max-width:620px;color:var(--jds-muted);font-size:10px;line-height:1.7}.jds-memory-dove{font:400 64px var(--jds-serif);color:#b8893d}.jds-memory-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.jds-memory-product-card{position:relative;min-height:285px;padding:27px;border:1px solid #ded5c4;border-radius:22px;background:#fff;display:flex;flex-direction:column}.jds-memory-product-card>span{color:#a87327;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.15em}.jds-product-symbol{width:54px;height:54px;margin:22px 0 15px;display:grid;place-items:center;border-radius:50%;background:#f2ecdf;color:#a87327;font-size:24px}.jds-memory-product-card h3{margin:0 0 9px;color:var(--jds-green);font:600 25px/1 var(--jds-serif)}.jds-memory-product-card p{color:var(--jds-muted);font-size:9px;line-height:1.65}.jds-memory-product-card a{margin-top:auto;color:var(--jds-green);font-size:9px;font-weight:700;text-decoration:none}.jds-memory-product-card.is-featured{background:var(--jds-green);border-color:var(--jds-green)}.jds-memory-product-card.is-featured h3,.jds-memory-product-card.is-featured a{color:#fff}.jds-memory-product-card.is-featured p{color:#dce5e1}.jds-memory-product-card.is-featured .jds-product-symbol{background:#f8f3e9}.jds-memory-product-card.is-free{box-shadow:0 12px 35px rgba(31,54,45,.05)}
.jds-qr-memory-card{display:grid;grid-template-columns:1fr 190px;gap:30px;align-items:center;margin:8px 0 28px;padding:25px;border:1px solid #e0d7c6;border-radius:22px;background:linear-gradient(135deg,#fbf9f4,#f2ecdf)}.jds-qr-copy h2{margin:5px 0 9px;color:var(--jds-green);font:600 29px/1 var(--jds-serif)}.jds-qr-copy p{color:var(--jds-muted);font-size:10px;line-height:1.65}.jds-qr-copy>small{display:block;margin-top:12px;color:#8a918e;font-size:7px;word-break:break-all}.jds-qr-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:15px}.jds-qr-actions a{text-decoration:none}.jds-qr-frame{padding:12px;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(40,50,40,.07);text-align:center}.jds-qr-frame img{display:block;width:100%;height:auto;border-radius:7px}.jds-qr-frame span{display:block;margin-top:7px;color:var(--jds-green);font:600 10px var(--jds-serif)}
.jds-dashboard-qr{display:grid;grid-template-columns:1fr 180px;gap:28px;align-items:center}.jds-dashboard-qr h2{margin:5px 0;color:var(--jds-green);font:600 29px var(--jds-serif)}.jds-dashboard-qr p{color:var(--jds-muted);font-size:10px;line-height:1.7}.jds-dashboard-qr-copy>small{display:block;margin-top:12px;color:#8a918e;font-size:8px}.jds-dashboard-qr-preview{padding:13px;border:1px solid #e6dfd1;border-radius:16px;background:#faf8f2;text-align:center}.jds-dashboard-qr-preview img{width:100%;height:auto}.jds-dashboard-qr-preview span{display:block;color:var(--jds-green);font:600 11px var(--jds-serif)}
@media(max-width:760px){.jds-memory-product-grid{grid-template-columns:1fr}.jds-memory-products{padding:45px 0}.jds-memory-products-head{align-items:flex-start}.jds-memory-dove{display:none}.jds-qr-memory-card,.jds-dashboard-qr{grid-template-columns:1fr}.jds-qr-visual,.jds-dashboard-qr-preview{width:180px;margin:auto}.jds-hero-memory-promo strong{display:none}}
.jds-hero-memory-slider{position:relative;width:min(520px,100%);height:59px;margin:14px 0 8px;overflow:hidden;border-radius:13px}.jds-hero-memory-slider .jds-hero-memory-promo{position:absolute;inset:0;width:100%;margin:0;opacity:0;transform:translateX(18px);animation:jdsMemoryHero 15s infinite}.jds-hero-memory-slider .is-slide-1{animation-delay:0s}.jds-hero-memory-slider .is-slide-2{animation-delay:5s}.jds-hero-memory-slider .is-slide-3{animation-delay:10s}@keyframes jdsMemoryHero{0%{opacity:0;transform:translateX(18px)}5%,28%{opacity:1;transform:translateX(0)}33%,100%{opacity:0;transform:translateX(-18px)}}@media(prefers-reduced-motion:reduce){.jds-hero-memory-slider .jds-hero-memory-promo{animation:none}.jds-hero-memory-slider .is-slide-1{opacity:1;transform:none}}


/* === v9.2 — Grand hero à deux visuels === */
.jds-main-hero-slider{position:relative;background:#15241f;isolation:isolate}
.jds-main-hero-bg{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.015);transition:opacity .9s ease,transform 6.8s ease;z-index:0}
.jds-main-hero-bg.is-active{opacity:1;transform:scale(1)}
.jds-main-hero-slider .jds-hero-overlay{z-index:1;transition:opacity .65s ease}
.jds-main-hero-slider.is-qr-slide .jds-hero-overlay{opacity:0;pointer-events:none}
.jds-main-hero-slider .jds-hero-content{transition:opacity .55s ease,transform .55s ease}
.jds-main-hero-slider .jds-hero-content.is-standard-hidden{opacity:0;transform:translateY(10px);pointer-events:none}
.jds-qr-hero-link{position:absolute;inset:0;z-index:2;display:block}
.jds-main-hero-slider:not(.is-qr-slide) .jds-qr-hero-link{display:none}
.jds-main-hero-dots{position:absolute;z-index:5;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;padding:5px 8px;border-radius:999px;background:rgba(14,35,29,.24);backdrop-filter:blur(5px)}
.jds-main-hero-dots button{appearance:none;width:7px;height:7px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.52);cursor:pointer;transition:width .25s ease,background .25s ease}
.jds-main-hero-dots button.is-active{width:24px;border-radius:999px;background:#fff}
@media(max-width:760px){.jds-main-hero-bg[data-hero-bg="0"]{background-position:38% center}.jds-main-hero-slider{min-height:390px}.jds-main-hero-dots{bottom:9px}}
@media(prefers-reduced-motion:reduce){.jds-main-hero-bg,.jds-main-hero-slider .jds-hero-content{transition:none}.jds-main-hero-bg{transform:none}}


/* === v9.5 — Hero QR fonctionnel, sans doublon promotionnel === */
.jds-main-hero-slider{min-height:620px;overflow:hidden}
.jds-main-hero-bg[data-hero-bg="0"]{background-position:center center;background-size:cover}
.jds-main-hero-slider.is-qr-slide .jds-hero-overlay{opacity:0}
.jds-qr-hero-actions{position:absolute;z-index:4;left:clamp(28px,6vw,115px);bottom:72px;width:min(1060px,70vw);display:flex;flex-direction:column;align-items:flex-start;gap:22px;transition:opacity .45s ease,transform .45s ease}
.jds-main-hero-slider:not(.is-qr-slide) .jds-qr-hero-actions{opacity:0;transform:translateY(10px);pointer-events:none}
.jds-qr-discover-btn{display:inline-flex;align-items:center;gap:14px;padding:15px 24px;border-radius:16px;background:linear-gradient(135deg,#c69a4d,#b68235);color:#fff!important;font-weight:700;font-size:16px;box-shadow:0 12px 28px rgba(18,28,23,.25);border:1px solid rgba(255,255,255,.38)}
.jds-qr-discover-btn span{font-size:20px}.jds-qr-discover-btn b{font-size:20px;margin-left:6px}
.jds-qr-hero-search{width:min(1050px,100%);min-height:66px;display:flex;align-items:center;gap:12px;padding:7px 8px 7px 22px;border-radius:17px;background:rgba(255,255,255,.97);box-shadow:0 14px 38px rgba(9,25,20,.28);border:1px solid rgba(255,255,255,.72)}
.jds-qr-hero-search svg{width:22px;height:22px;fill:none;stroke:#52625d;stroke-width:1.8;flex:none}.jds-qr-hero-search input{flex:1;min-width:0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font:500 14px var(--jds-sans);color:#29443d;padding:0 8px}.jds-qr-hero-search button{border:0;border-radius:13px;background:#b8893d;color:#fff;font-weight:700;padding:15px 25px;cursor:pointer}
.jds-main-hero-slider:not(.is-qr-slide){min-height:405px}.jds-main-hero-slider:not(.is-qr-slide) .jds-hero-content{min-height:405px}
@media(max-width:900px){.jds-main-hero-slider{min-height:520px}.jds-main-hero-bg[data-hero-bg="0"]{background-position:55% center}.jds-qr-hero-actions{left:20px;right:20px;bottom:54px;width:auto}.jds-qr-hero-search{min-height:56px}.jds-qr-hero-search button{padding:12px 16px}.jds-qr-discover-btn{font-size:14px;padding:13px 18px}}
@media(max-width:600px){.jds-main-hero-slider{min-height:470px}.jds-main-hero-bg[data-hero-bg="0"]{background-position:58% center}.jds-qr-hero-actions{bottom:45px;gap:12px}.jds-qr-discover-btn{border-radius:12px}.jds-qr-hero-search{padding-left:14px}.jds-qr-hero-search input{font-size:11px}.jds-qr-hero-search button{font-size:0;padding:12px 15px}.jds-qr-hero-search button:after{content:'⌕';font-size:18px}.jds-main-hero-dots{bottom:10px}}

/* === v9.5 — Hero épuré + recherche complète hors diaporama === */
.jds-main-hero-slider{min-height:620px;height:620px}
.jds-main-hero-slider .jds-main-hero-bg{background-size:cover;background-position:center center}
.jds-main-hero-slider .jds-hero-overlay{display:none}
.jds-hero-slide-action{position:absolute;z-index:5;left:clamp(32px,6vw,112px);bottom:92px}
.jds-hero-slide-action[hidden]{display:none!important}
.jds-qr-discover-btn,.jds-hommage-discover-btn{display:inline-flex;align-items:center;gap:16px;padding:16px 25px;border-radius:16px;text-decoration:none!important;font-weight:700;font-size:16px;box-shadow:0 12px 30px rgba(11,25,20,.25);transition:transform .2s ease,box-shadow .2s ease}
.jds-qr-discover-btn{background:linear-gradient(135deg,#c79a4d,#b98435);color:#fff!important;border:1px solid rgba(255,255,255,.35)}
.jds-hommage-discover-btn{background:rgba(25,38,33,.72);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.72);color:#fff!important}
.jds-qr-discover-btn:hover,.jds-hommage-discover-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(11,25,20,.3)}
.jds-hero-slide-action-hommage{left:auto;right:clamp(36px,8vw,140px)}
.jds-main-hero-dots{bottom:24px}

.jds-home-search-wrap{position:relative;z-index:7;margin-top:0;padding:34px 0 30px;background:#f8f5ed;border-bottom:1px solid #e9e1d4}
.jds-home-search-panel{max-width:1260px;margin:0 auto;padding:27px 30px 24px;border-radius:22px;background:rgba(255,255,255,.98);border:1px solid #eee6d9;box-shadow:0 14px 38px rgba(48,39,26,.07)}
.jds-home-search-heading{text-align:center;margin-bottom:22px}.jds-home-search-heading>span{display:block;color:#a7772d;font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:700}.jds-home-search-heading h2{margin:5px 0 6px;color:#173e34;font:600 clamp(29px,3vw,40px)/1.05 var(--jds-serif);letter-spacing:-.02em}.jds-home-search-heading p{margin:0;color:#78817c;font-size:11px}
.jds-home-search-fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.jds-home-search-fields label,.jds-home-search-any{display:flex;flex-direction:column;gap:6px;color:#314d45;font-size:9px;font-weight:700}.jds-home-search-fields input,.jds-home-search-any input{width:100%;height:47px;padding:0 13px;border:1px solid #ddd8cf!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;color:#31423d;font-size:11px;outline:none}.jds-home-search-fields input:focus,.jds-home-search-any input:focus{border-color:#b8893d!important;box-shadow:0 0 0 3px rgba(184,137,61,.08)!important}
.jds-home-search-footer{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin-top:13px}.jds-home-search-footer button{height:47px;padding:0 25px;border:0;border-radius:10px;background:#b8893d;color:#fff;font-weight:700;cursor:pointer}.jds-home-search-footer button span{font-size:17px;margin-right:6px}
.jds-home-trust-row{display:grid;grid-template-columns:repeat(4,1fr);max-width:1120px;margin:28px auto 0}.jds-home-trust-row>div{text-align:center;padding:8px 25px;border-right:1px solid #ddd5c8}.jds-home-trust-row>div:last-child{border-right:0}.jds-home-trust-row b{display:block;color:#173e34;font:600 17px/1.1 var(--jds-serif)}.jds-home-trust-row span{display:block;margin-top:4px;color:#7c827f;font-size:10px}

@media(max-width:1050px){.jds-home-search-fields{grid-template-columns:repeat(3,1fr)}.jds-main-hero-slider{min-height:540px;height:540px}.jds-hero-slide-action{bottom:72px}.jds-hero-slide-action-hommage{right:30px}}
@media(max-width:700px){.jds-main-hero-slider{min-height:450px;height:450px}.jds-main-hero-bg[data-hero-bg="0"]{background-position:55% center}.jds-main-hero-bg[data-hero-bg="1"]{background-position:54% center}.jds-hero-slide-action{left:18px;right:auto;bottom:54px}.jds-hero-slide-action-hommage{left:auto;right:18px}.jds-qr-discover-btn,.jds-hommage-discover-btn{font-size:12px;padding:12px 15px;border-radius:12px}.jds-home-search-wrap{padding:20px 0}.jds-home-search-panel{padding:22px 17px;border-radius:17px}.jds-home-search-fields{grid-template-columns:1fr 1fr}.jds-home-search-footer{grid-template-columns:1fr}.jds-home-search-footer button{width:100%}.jds-home-trust-row{grid-template-columns:1fr 1fr;gap:0;margin-top:20px}.jds-home-trust-row>div{border-right:0;border-bottom:1px solid #ddd5c8;padding:14px 8px}.jds-home-trust-row b{font-size:14px}}
@media(max-width:440px){.jds-home-search-fields{grid-template-columns:1fr}.jds-main-hero-slider{min-height:410px;height:410px}.jds-main-hero-dots{bottom:12px}}

/* v9.5 — hero cleanup: image CTA is the only visible CTA; hotspots preserve functionality */
.jds-main-hero-slider{height:clamp(480px,34vw,610px);min-height:480px;background:#14241f}
.jds-main-hero-slider .jds-main-hero-bg{background-size:cover;background-repeat:no-repeat;background-position:center center}
.jds-hero-hotspot{position:absolute;z-index:6;display:block;border-radius:18px}
.jds-hero-hotspot[hidden]{display:none!important}
/* CTA coordinates correspond to the baked-in artwork, without drawing a duplicate button. */
.jds-hero-hotspot-qr{left:7.8%;top:67%;width:29%;height:13%}
.jds-hero-hotspot-hommage{right:6.5%;top:68%;width:34%;height:13%}
.jds-hero-hotspot:focus-visible{outline:3px solid #fff;outline-offset:4px}
.jds-main-hero-dots{bottom:14px}
.jds-home-search-wrap{margin-top:0;padding-top:30px}
@media(max-width:900px){
 .jds-main-hero-slider{height:470px;min-height:470px}
 .jds-main-hero-slider .jds-main-hero-bg{background-position:center center}
 .jds-hero-hotspot-qr{left:6%;top:67%;width:42%;height:14%}
 .jds-hero-hotspot-hommage{right:5%;top:68%;width:46%;height:14%}
}
@media(max-width:600px){
 .jds-main-hero-slider{height:390px;min-height:390px}
 .jds-main-hero-slider .jds-main-hero-bg{background-position:center center}
 .jds-hero-hotspot-qr{left:4%;top:69%;width:56%;height:13%}
 .jds-hero-hotspot-hommage{right:4%;top:69%;width:58%;height:13%}
}


/* v9.6 — hero limpo: CTAs reais sobre as imagens, sem distorção */
.jds-main-hero-slider{height:clamp(470px,31.8vw,532px);min-height:470px;overflow:hidden}
.jds-main-hero-slider .jds-main-hero-bg{background-size:cover;background-position:center center;transform:none!important}
.jds-hero-slide-btn{position:absolute;z-index:7;display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:58px;padding:0 30px;border-radius:17px;text-decoration:none;font-weight:700;font-size:18px;letter-spacing:-.01em;box-shadow:0 10px 28px rgba(0,0,0,.18);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.jds-hero-slide-btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.24)}
.jds-hero-slide-btn span{font-size:25px;line-height:1}
.jds-hero-slide-btn-qr{left:7.8%;bottom:54px;background:linear-gradient(135deg,#c69a4b,#ad7d2d);color:#fff;border:1px solid rgba(255,255,255,.55)}
.jds-hero-slide-btn-hommage{left:50%;bottom:54px;transform:translateX(-50%);background:rgba(19,31,28,.72);color:#fff;border:1px solid rgba(255,255,255,.78);backdrop-filter:blur(7px)}
.jds-hero-slide-btn-hommage:hover{transform:translateX(-50%) translateY(-2px)}
.jds-main-hero-dots{bottom:14px}
@media(max-width:900px){.jds-main-hero-slider{height:480px;min-height:480px}.jds-main-hero-bg[data-hero-bg="0"]{background-position:52% center}.jds-main-hero-bg[data-hero-bg="1"]{background-position:center center}.jds-hero-slide-btn{min-height:50px;padding:0 20px;font-size:14px;bottom:42px}.jds-hero-slide-btn-qr{left:20px}.jds-hero-slide-btn-hommage{left:50%}}
@media(max-width:600px){.jds-main-hero-slider{height:420px;min-height:420px}.jds-main-hero-bg[data-hero-bg="0"]{background-position:50% center}.jds-hero-slide-btn{font-size:12px;min-height:44px;border-radius:12px;padding:0 15px;gap:10px}.jds-hero-slide-btn span{font-size:19px}}


/* === v9.7 — ouverture premium clean : photographie pure + contenu HTML === */
.jds-main-hero-slider{
  height:clamp(460px,31vw,520px);
  min-height:460px;
  background:#13231e;
}
.jds-main-hero-slider .jds-main-hero-bg{
  background-size:cover;
  background-repeat:no-repeat;
  transform:none!important;
}
.jds-main-hero-bg[data-hero-bg="0"]{background-position:center center}
.jds-main-hero-bg[data-hero-bg="1"]{background-position:center center}
.jds-main-hero-slider .jds-hero-overlay{
  display:block!important;
  z-index:1;
  opacity:1!important;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(8,24,20,.76) 0%,rgba(10,28,23,.55) 28%,rgba(10,28,23,.17) 53%,rgba(10,28,23,.02) 72%);
}
.jds-hero-copy{
  position:absolute;
  z-index:4;
  left:max(6vw,48px);
  top:50%;
  transform:translateY(-50%);
  width:min(520px,42vw);
  color:#fff;
  text-align:left;
}
.jds-hero-copy[hidden]{display:none!important}
.jds-hero-kicker{
  display:inline-block;
  margin-bottom:14px;
  color:#e3c584;
  font-size:10px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.jds-hero-copy h1,.jds-hero-copy h2{
  margin:0;
  max-width:520px;
  color:#fff;
  font:500 clamp(43px,4.2vw,67px)/.96 var(--jds-serif);
  letter-spacing:-.035em;
  text-shadow:0 2px 20px rgba(0,0,0,.2);
}
.jds-hero-copy h1 em{font-style:normal;color:#e4c27b}
.jds-hero-copy p{
  max-width:430px;
  margin:20px 0 25px;
  color:rgba(255,255,255,.86);
  font-size:14px;
  line-height:1.65;
}
.jds-hero-copy .jds-hero-slide-btn{
  position:static;
  transform:none!important;
  min-height:50px;
  padding:0 21px;
  border-radius:999px;
  font-size:13px;
  box-shadow:none;
}
.jds-hero-copy .jds-hero-slide-btn:hover{transform:translateY(-2px)!important}
.jds-hero-copy .jds-hero-slide-btn-qr{
  background:#bd8d3e;
  border:1px solid rgba(255,255,255,.28);
}
.jds-hero-copy .jds-hero-slide-btn-hommage{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.58);
  backdrop-filter:blur(7px);
}
.jds-main-hero-dots{z-index:8;bottom:18px}
@media(max-width:900px){
  .jds-main-hero-slider{height:470px;min-height:470px}
  .jds-main-hero-bg[data-hero-bg="0"]{background-position:58% center}
  .jds-main-hero-bg[data-hero-bg="1"]{background-position:58% center}
  .jds-hero-copy{left:30px;width:min(480px,55vw)}
  .jds-hero-copy h1,.jds-hero-copy h2{font-size:clamp(38px,5.8vw,55px)}
}
@media(max-width:600px){
  .jds-main-hero-slider{height:470px;min-height:470px}
  .jds-main-hero-bg[data-hero-bg="0"]{background-position:66% center}
  .jds-main-hero-bg[data-hero-bg="1"]{background-position:64% center}
  .jds-main-hero-slider .jds-hero-overlay{background:linear-gradient(90deg,rgba(8,24,20,.80) 0%,rgba(8,24,20,.57) 52%,rgba(8,24,20,.20) 100%)}
  .jds-hero-copy{left:22px;right:22px;top:auto;bottom:55px;transform:none;width:auto}
  .jds-hero-kicker{margin-bottom:9px}
  .jds-hero-copy h1,.jds-hero-copy h2{max-width:340px;font-size:39px;line-height:.98}
  .jds-hero-copy p{max-width:330px;margin:14px 0 18px;font-size:12px;line-height:1.5}
  .jds-hero-copy .jds-hero-slide-btn{min-height:44px;font-size:11px;padding:0 16px}
  .jds-main-hero-dots{bottom:13px}
}


/* === V9.8 · confiance, engagement et monétisation === */
.jds-knew-person{margin:28px 0;padding:28px;border:1px solid #e7dfd2;border-radius:22px;background:linear-gradient(135deg,#fbf8f2,#fff);display:flex;align-items:center;justify-content:space-between;gap:28px}
.jds-knew-person h2{margin:4px 0 8px;font-family:var(--jds-serif);color:#173f35;font-size:30px}
.jds-knew-person p{margin:0;max-width:650px;color:#68736e;line-height:1.65}
.jds-knew-actions{display:flex;flex-direction:column;gap:9px;min-width:220px}
.jds-knew-actions button{cursor:pointer}
.jds-report-box{margin:38px 0 6px;padding:18px 20px;border-top:1px solid #e7e1d7;color:#65716c}
.jds-report-box summary{cursor:pointer;font-weight:700;color:#52615b}
.jds-report-box form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.jds-report-box label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#44534d}
.jds-report-box label:last-of-type{grid-column:1/-1}
.jds-report-box input,.jds-report-box select,.jds-report-box textarea{border:1px solid #d9d6ce;border-radius:10px;padding:11px;background:#fff;font:inherit}
.jds-report-box button{width:max-content}
.jds-success{padding:12px 14px;background:#edf7f1;border-radius:10px;color:#276344}
.jds-ad-slot{position:relative;margin:30px auto;padding:22px;border:1px solid #e5dfd4;border-radius:18px;background:#fff;text-align:center;overflow:hidden}
.jds-ad-label{position:absolute;top:6px;right:9px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#9b9b92}
.jds-ad-placeholder{min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#faf8f3;color:#786f62}
.jds-ad-placeholder span{font-size:10px;text-transform:uppercase;letter-spacing:.18em}
.jds-ad-placeholder strong{font-family:var(--jds-serif);font-size:24px;color:#173f35;margin:4px}
.jds-ad-placeholder small{font-size:10px}
.jds-legal-page{padding:70px 0 90px;background:#fbfaf7}
.jds-prose{max-width:880px}
.jds-prose h1{font-family:var(--jds-serif);font-size:clamp(40px,5vw,68px);line-height:1;color:#173f35;margin:10px 0 28px}
.jds-prose h2{font-family:var(--jds-serif);font-size:27px;color:#173f35;margin:36px 0 10px}
.jds-prose p{font-size:16px;line-height:1.8;color:#56635e}
.jds-footer-trust-links{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin:22px auto 0;padding:18px 20px 0;border-top:1px solid rgba(255,255,255,.12);font-size:12px}
.jds-footer-trust-links a{color:inherit;opacity:.8;text-decoration:none}
.jds-footer-trust-links a:hover{opacity:1;text-decoration:underline}
@media(max-width:700px){
 .jds-knew-person{align-items:flex-start;flex-direction:column;padding:22px}
 .jds-knew-actions{width:100%}
 .jds-report-box form{grid-template-columns:1fr}
 .jds-report-box label:last-of-type{grid-column:auto}
}

/* V9.8.2 — footer compact, sans bande flottante */
.jds-footer-trust-links{display:none!important}
.jds-footer-inline-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin:18px auto 0;padding:16px 20px 0;border-top:1px solid rgba(255,255,255,.10);font-size:11px;opacity:.78}
.jds-footer-inline-trust a{color:inherit;text-decoration:none}
.jds-footer-inline-trust a:hover{text-decoration:underline;opacity:1}

/* === V9.9 · SEO & engagement === */
.jds-claim-card{display:flex;gap:22px;align-items:flex-start;margin:32px 0;padding:28px;border-radius:22px;background:#173f35;color:#fff}
.jds-claim-icon{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:25px}
.jds-claim-copy h2{font-family:var(--jds-serif);font-size:30px;margin:4px 0 8px;color:#fff}
.jds-claim-copy p{color:rgba(255,255,255,.78);line-height:1.65}
.jds-claim-card .jds-section-eyebrow{color:#e4c27b}
.jds-claim-card summary{display:inline-flex;cursor:pointer;background:#fff;color:#173f35!important;list-style:none}
.jds-claim-card summary::-webkit-details-marker{display:none}
.jds-claim-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.jds-claim-form label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:700}
.jds-claim-form label:nth-last-of-type(1){grid-column:1/-1}
.jds-claim-form input,.jds-claim-form textarea{padding:11px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:rgba(255,255,255,.97);color:#24332e;font:inherit}
.jds-article-meta-pro{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px;color:#7b827f;font-size:12px}
.jds-article-share{margin:0 0 22px}
@media(max-width:650px){.jds-claim-card{padding:22px;flex-direction:column}.jds-claim-form{grid-template-columns:1fr}.jds-claim-form label:nth-last-of-type(1){grid-column:auto}}


/* === V9.9.1 · lieux COG + hero Avis institutionnel === */
.jds-avis-card .jds-place{
    display:flex;align-items:center;gap:5px;
    color:#66756f;font-size:12px;font-weight:600;
}
.jds-avis-card .jds-place span{color:#b28a45;font-size:13px}

/* Sans photo de profil : ouverture vert profond, cohérente avec l'identité JDS. */
.jds-avis-banner:not([style*="--jds-avis-banner-image"]){
    background:#173f35!important;
}
.jds-avis-banner:not([style*="--jds-avis-banner-image"]) .jds-avis-banner-overlay{
    background:
      radial-gradient(circle at 78% 28%,rgba(255,255,255,.075),transparent 30%),
      linear-gradient(120deg,#173f35 0%,#1d4c40 58%,#12352d 100%)!important;
}
/* Si la famille fournit une photo, elle reste bien le visuel principal. */
.jds-avis-banner[style*="--jds-avis-banner-image"]{
    background-image:var(--jds-avis-banner-image)!important;
    background-size:cover!important;
    background-position:center 42%!important;
}
.jds-avis-banner[style*="--jds-avis-banner-image"] .jds-avis-banner-overlay{
    background:linear-gradient(180deg,rgba(8,35,30,.08),rgba(8,35,30,.28) 62%,rgba(8,35,30,.55))!important;
}


/* =========================================================
   V9.9.2 — Lisibilité de la fiche Avis
   ========================================================= */

/* Hero supérieur : vert JDS assumé et plus profond.
   Le !important neutralise les anciens backgrounds du template. */
.single-avis .jds-avis-banner,
.single-avis .jds-avis-hero,
.single-avis .avis-hero,
body.single-avis .jds-avis-banner{
    background-color:#173f35!important;
}
body.single-avis .jds-avis-banner:not([style*="--jds-avis-banner-image"]),
body.single-avis .jds-avis-hero:not([style*="background-image"]),
body.single-avis .avis-hero:not([style*="background-image"]){
    background-image:
      radial-gradient(circle at 82% 22%,rgba(255,255,255,.075),transparent 27%),
      linear-gradient(125deg,#173f35 0%,#1b493d 55%,#11352d 100%)!important;
}

/* Quand une vraie photo familiale existe, elle garde la priorité. */
body.single-avis .jds-avis-banner[style*="--jds-avis-banner-image"]{
    background-image:var(--jds-avis-banner-image)!important;
    background-size:cover!important;
    background-position:center 42%!important;
}

/* Bloc identité/données : contraste et hiérarchie renforcés */
body.single-avis .jds-identity-card,
body.single-avis .jds-avis-card-main,
body.single-avis .jds-avis-content{
    color:#263b34;
}

/* Dates / âge / lieu : auparavant trop petits et trop gris */
body.single-avis .jds-vital-value,
body.single-avis .jds-avis-meta strong,
body.single-avis .jds-info-value,
body.single-avis .jds-date,
body.single-avis .jds-age{
    font-size:17px!important;
    line-height:1.25!important;
    font-weight:700!important;
    color:#233f36!important;
    letter-spacing:-.01em;
}

/* Libellés (naissance, décès, âge...) restent secondaires, mais lisibles */
body.single-avis .jds-vital-label,
body.single-avis .jds-info-label,
body.single-avis .jds-avis-meta-label{
    font-size:11px!important;
    line-height:1.25!important;
    font-weight:700!important;
    color:#718078!important;
    text-transform:uppercase;
    letter-spacing:.075em;
}

/* Lieu : lien plus évident, sans bleu générique */
body.single-avis .jds-vital-value a,
body.single-avis .jds-info-value a,
body.single-avis a.jds-place,
body.single-avis .jds-place a{
    color:#17634f!important;
    font-weight:750!important;
    text-decoration:none!important;
    border-bottom:1px solid rgba(23,99,79,.28);
}
body.single-avis .jds-vital-value a:hover,
body.single-avis .jds-info-value a:hover,
body.single-avis .jds-place a:hover{
    color:#0e493a!important;
    border-bottom-color:#0e493a;
}

/* Plus d'air entre les informations essentielles */
body.single-avis .jds-vitals,
body.single-avis .jds-avis-meta,
body.single-avis .jds-info-grid{
    row-gap:16px!important;
    column-gap:24px!important;
}

/* Mobile : ne pas réduire les données importantes à une taille trop faible */
@media(max-width:640px){
    body.single-avis .jds-vital-value,
    body.single-avis .jds-avis-meta strong,
    body.single-avis .jds-info-value,
    body.single-avis .jds-date,
    body.single-avis .jds-age{
        font-size:16px!important;
    }
}


/* =========================================================
   V9.9.3 — correction ciblée après audit de la page publiée
   ========================================================= */

/* HERO: classe explicite, sans dépendre de la présence d'un attribut style. */
body.single-avis .jds-avis-banner.is-default-green,
.jds-avis-page .jds-avis-banner.is-default-green{
    background:#173f35!important;
    background-image:
      radial-gradient(circle at 80% 20%,rgba(255,255,255,.075),transparent 28%),
      linear-gradient(120deg,#173f35 0%,#1b4a3e 58%,#103229 100%)!important;
}
body.single-avis .jds-avis-banner.is-default-green .jds-avis-banner-overlay,
.jds-avis-page .jds-avis-banner.is-default-green .jds-avis-banner-overlay{
    background:linear-gradient(180deg,rgba(8,35,30,.02),rgba(8,35,30,.13))!important;
}
body.single-avis .jds-avis-banner.has-family-photo,
.jds-avis-page .jds-avis-banner.has-family-photo{
    background-image:var(--jds-avis-banner-image)!important;
    background-size:cover!important;
    background-position:center 42%!important;
}

/* INFORMATIONS ESSENTIELLES
   L'ancien redesign imposait 10px !important et masquait les labels.
   On cible ici les classes réellement utilisées dans single-avis.php. */
body.single-avis .jds-avis-main-card .jds-avis-facts{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important;
    margin:18px 0 14px!important;
    padding:0!important;
    border:1px solid #e5e8e4!important;
    border-radius:14px!important;
    overflow:hidden;
    background:#f8faf8!important;
}
body.single-avis .jds-avis-main-card .jds-avis-facts>div{
    min-width:0;
    padding:15px 17px!important;
    border:0!important;
    border-right:1px solid #e3e7e3!important;
    background:transparent!important;
}
body.single-avis .jds-avis-main-card .jds-avis-facts>div:last-child{
    border-right:0!important;
}
body.single-avis .jds-avis-main-card .jds-avis-facts small{
    display:block!important;
    margin:0 0 5px!important;
    color:#77857f!important;
    font-family:var(--jds-sans)!important;
    font-size:10px!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
}
body.single-avis .jds-avis-main-card .jds-avis-facts strong{
    display:block!important;
    color:#173f35!important;
    font-family:var(--jds-sans)!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:1.3!important;
    letter-spacing:-.01em!important;
}
body.single-avis .jds-avis-main-card .jds-avis-facts .jds-city-link{
    color:#17634f!important;
    font-size:16px!important;
    font-weight:750!important;
    text-decoration:none!important;
    border-bottom:1px solid rgba(23,99,79,.28)!important;
}
body.single-avis .jds-avis-main-card .jds-avis-facts .jds-city-link:hover{
    color:#0d4b3b!important;
    border-bottom-color:#0d4b3b!important;
}

/* Lieu de naissance: même langage visuel, mais secondaire. */
body.single-avis .jds-avis-main-card .jds-avis-place{
    display:flex!important;
    align-items:baseline!important;
    gap:10px!important;
    padding:2px 2px 18px!important;
    margin:0 0 18px!important;
    background:transparent!important;
    border:0!important;
}
body.single-avis .jds-avis-main-card .jds-avis-place span{
    margin:0!important;
    color:#7a8782!important;
    font-size:10px!important;
    font-weight:700!important;
    letter-spacing:.07em!important;
}
body.single-avis .jds-avis-main-card .jds-avis-place strong{
    color:#40554d!important;
    font-family:var(--jds-sans)!important;
    font-size:14px!important;
    font-weight:650!important;
}

@media(max-width:760px){
 body.single-avis .jds-avis-main-card .jds-avis-facts{
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
 body.single-avis .jds-avis-main-card .jds-avis-facts>div{
   border-right:1px solid #e3e7e3!important;
   border-bottom:1px solid #e3e7e3!important;
 }
 body.single-avis .jds-avis-main-card .jds-avis-facts>div:nth-child(2n){border-right:0!important}
 body.single-avis .jds-avis-main-card .jds-avis-facts>div:nth-last-child(-n+2){border-bottom:0!important}
 body.single-avis .jds-avis-main-card .jds-avis-facts strong,
 body.single-avis .jds-avis-main-card .jds-avis-facts .jds-city-link{font-size:15px!important}
}

/* v9.10: panoramic photographs retain their full composition on phones. */
.jds-brand-mark .jds-colombe-logo{display:block;width:100%;height:100%;object-fit:contain}
.jds-menu-toggle{min-width:44px;min-height:44px;cursor:pointer}
.jds-main-hero-dots button{position:relative;min-width:44px;min-height:44px;background:transparent;border-radius:50%}
.jds-main-hero-dots button::after{content:"";position:absolute;width:8px;height:8px;top:18px;left:18px;background:#bfc9c5;border-radius:50%}
.jds-main-hero-dots button.is-active{width:44px;background:transparent}
.jds-main-hero-dots button.is-active::after{background:#fff;outline:2px solid #fff;outline-offset:3px}
.jds-hero-pause{position:absolute;z-index:8;right:16px;bottom:18px;min-width:44px;min-height:44px;border:1px solid #ffffff80;border-radius:50%;background:#13231ecc;color:#fff;cursor:pointer}
.jds-header a:focus-visible,.jds-menu-toggle:focus-visible,.jds-main-hero-slider button:focus-visible,.jds-hero-slide-btn:focus-visible{outline:3px solid #d5ad63;outline-offset:4px}
@media(max-width:600px){
 .jds-main-hero-slider,.jds-main-hero-slider:not(.is-qr-slide){height:auto;min-height:0;padding-top:calc(100vw * 442 / 1774);background:#13231e}
 .jds-main-hero-slider .jds-main-hero-bg{inset:0 0 auto;height:calc(100vw * 442 / 1774);background-size:contain;background-position:center top;transform:none!important}
 .jds-main-hero-slider .jds-hero-overlay{display:none!important}
 .jds-main-hero-slider .jds-hero-copy{position:relative;inset:auto;transform:none;width:100%;box-sizing:border-box;padding:26px 22px 76px;min-height:300px}
 .jds-main-hero-slider .jds-hero-copy h1,.jds-main-hero-slider .jds-hero-copy h2{font-size:clamp(30px,8.8vw,39px);line-height:1.08;max-width:100%;overflow-wrap:break-word}
 .jds-main-hero-slider .jds-hero-copy p{font-size:14px;line-height:1.6;max-width:100%}
 .jds-main-hero-slider .jds-hero-copy .jds-hero-slide-btn{font-size:13px;min-height:48px;max-width:100%;box-sizing:border-box;white-space:normal}
 .jds-main-hero-dots{bottom:10px;padding:0 4px}
 .jds-hero-pause{bottom:10px}
 .jds-home-search-fields input,.jds-home-search-footer input{font-size:16px}
 .jds-brand-copy{min-width:0}.jds-brand-copy strong{font-size:clamp(15px,4.5vw,20px)}
 .jds-header-inner .jds-brand-mark{flex-shrink:0;width:48px;height:44px}
 .jds-home-search-fields>*{min-width:0}
}


/* === V9.11 · WooCommerce checkout + Mollie-ready presentation === */
.woocommerce-checkout .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-account .woocommerce{
    width:min(1180px,calc(100% - 32px));
    margin:42px auto 72px;
}
.woocommerce-checkout form.checkout{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
    gap:34px;
    align-items:start;
}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review{
    background:var(--jds-paper);
    border:1px solid var(--jds-line);
    border-radius:20px;
    box-shadow:var(--jds-shadow);
}
.woocommerce-checkout #customer_details{padding:28px}
.woocommerce-checkout #order_review{padding:26px;position:sticky;top:110px}
.woocommerce-checkout #order_review_heading{
    margin-top:0;
    font-family:var(--jds-serif);
    color:var(--jds-green);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
    min-height:50px;
    border:1px solid #d9d6cc;
    border-radius:12px;
    background:#fff;
    padding:10px 13px;
    box-sizing:border-box;
}
.woocommerce .select2-container .select2-selection--single{padding:10px 12px}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:28px}
.woocommerce-checkout #payment{
    background:#f6f3eb;
    border-radius:16px;
}
.woocommerce-checkout #payment ul.payment_methods{
    border-bottom:1px solid var(--jds-line);
    padding:18px;
}
.woocommerce-checkout #payment ul.payment_methods li{
    background:#fff;
    border:1px solid #e4e0d6;
    border-radius:13px;
    padding:13px 14px;
    margin:0 0 10px;
}
.woocommerce-checkout #payment ul.payment_methods li:last-child{margin-bottom:0}
.woocommerce-checkout #payment ul.payment_methods li label{
    font-weight:700;
    color:var(--jds-green);
    cursor:pointer;
}
.woocommerce-checkout #payment ul.payment_methods li img{
    max-height:30px;
    width:auto;
    vertical-align:middle;
    margin-left:8px;
}
.woocommerce-checkout #payment div.payment_box{
    background:#fbfaf6;
    color:var(--jds-text);
    border-radius:10px;
    margin:12px 0 0;
}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fbfaf6}
.woocommerce-checkout #payment .payment_method_mollie_wc_gateway_creditcard,
.woocommerce-checkout #payment [class*="payment_method_mollie"]{
    border-color:rgba(180,134,57,.38);
}
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce a.checkout-button{
    width:100%;
    min-height:52px;
    border:0;
    border-radius:999px;
    background:#b48639;
    color:#fff;
    font-weight:800;
    letter-spacing:.01em;
    padding:14px 22px;
}
.woocommerce #payment #place_order:hover,
.woocommerce-page #payment #place_order:hover,
.woocommerce a.checkout-button:hover{background:#956d2d;color:#fff}
.jds-payment-trust{
    display:flex;
    gap:10px;
    align-items:flex-start;
    margin:14px 0 0;
    padding:12px 14px;
    border-radius:12px;
    background:#edf4f1;
    color:#36544d;
    font-size:13px;
    line-height:1.45;
}
@media(max-width:860px){
    .woocommerce-checkout form.checkout{grid-template-columns:1fr}
    .woocommerce-checkout #order_review{position:static}
}
@media(max-width:600px){
    .woocommerce-checkout .woocommerce,
    .woocommerce-cart .woocommerce,
    .woocommerce-account .woocommerce{
        width:min(100% - 20px,1180px);
        margin-top:22px;
    }
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review{padding:18px;border-radius:16px}
    .woocommerce form .form-row input.input-text,
    .woocommerce form .form-row textarea,
    .woocommerce form .form-row select{font-size:16px}
}


/* === V9.12 · Monétisation progressive, sans dépendance publicitaire === */
.jds-monetisation-zone{
  width:min(1180px,calc(100% - 32px));margin:34px auto;
}
.jds-ad-slot{
  display:none; /* activé uniquement quand une régie publicitaire est réellement configurée */
  min-height:90px;align-items:center;justify-content:center;
  border:1px dashed var(--jds-line);border-radius:16px;background:#faf9f5;
}
.jds-memory-cta,.jds-pro-cta,.jds-editorial-card{
  border:1px solid var(--jds-line);border-radius:20px;background:var(--jds-paper);
  box-shadow:var(--jds-shadow);
}
.jds-memory-cta,.jds-pro-cta{padding:28px}
.jds-memory-cta h2,.jds-pro-cta h2{font-family:var(--jds-serif);color:var(--jds-green);margin-top:0}
.jds-soft-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.jds-soft-actions a{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;
  border-radius:999px;text-decoration:none;font-weight:800
}
.jds-soft-actions .primary{background:var(--jds-green);color:#fff}
.jds-soft-actions .secondary{border:1px solid var(--jds-green);color:var(--jds-green);background:#fff}
.jds-editorial-grid{
  width:min(1180px,calc(100% - 32px));margin:42px auto 64px;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px
}
.jds-editorial-card{padding:24px}
.jds-editorial-card h3{font-family:var(--jds-serif);color:var(--jds-green);margin:0 0 8px}
.jds-editorial-card p{margin:0;color:var(--jds-muted);line-height:1.65}
.jds-discreet-label{
  display:inline-block;margin-bottom:10px;font-size:12px;font-weight:900;letter-spacing:.08em;
  text-transform:uppercase;color:var(--jds-gold)
}
@media(max-width:800px){.jds-editorial-grid{grid-template-columns:1fr}.jds-memory-cta,.jds-pro-cta{padding:21px}}
@media(max-width:600px){.jds-monetisation-zone,.jds-editorial-grid{width:min(100% - 20px,1180px)}}

/* === V9.13 · Textes & hommages === */
.jds-guides-wrap{width:min(1180px,calc(100% - 32px));margin:40px auto 72px}.jds-guides-hero{padding:46px;border-radius:26px;background:#edf4f1;border:1px solid var(--jds-line);margin-bottom:28px}.jds-guides-hero h1{font-family:var(--jds-serif);color:var(--jds-green);font-size:clamp(34px,5vw,58px);line-height:1.05;margin:8px 0 14px}.jds-guides-hero p{max-width:800px;font-size:18px;line-height:1.7}.jds-model-nav,.jds-tags{display:flex;gap:9px;flex-wrap:wrap}.jds-model-nav{margin:24px 0 32px}.jds-model-nav a,.jds-tag{padding:7px 11px;border-radius:999px;background:#edf4f1;color:var(--jds-green);text-decoration:none;font-weight:800}.jds-model-section{scroll-margin-top:120px;margin:28px 0;padding:28px;border:1px solid var(--jds-line);border-radius:20px;background:var(--jds-paper);box-shadow:var(--jds-shadow)}.jds-model-section h2{font-family:var(--jds-serif);color:var(--jds-green)}.jds-text-model{margin:18px 0;padding:20px 22px;border-left:4px solid var(--jds-gold);border-radius:0 14px 14px 0;background:#faf8f2;line-height:1.75}.jds-text-model h3{margin-top:0;color:var(--jds-green)}.jds-editorial-note{margin-top:28px;padding:18px 20px;border-radius:14px;background:#f7f4ec;line-height:1.65}@media(max-width:600px){.jds-guides-wrap{width:min(100% - 20px,1180px);margin-top:22px}.jds-guides-hero{padding:26px 20px}.jds-model-section{padding:20px}}

/* V9.15 */
.jds-header{height:76px!important}.jds-header-inner{height:76px!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important}.jds-brand{height:76px!important;display:flex!important;align-items:center!important;min-width:245px!important;margin:0!important;padding:0!important;top:auto!important}.jds-brand-mark{width:54px!important;height:50px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;overflow:hidden}.jds-brand-mark .jds-colombe-logo{width:54px!important;height:44px!important;object-fit:contain!important;margin:0!important;transform:none!important}.jds-main-nav{margin-left:auto!important;align-self:center!important;gap:14px!important;font-size:9.5px!important}
.jds-textes-page{background:#fbfaf6}.jds-textes-shell{width:min(1180px,calc(100% - 40px));margin:34px auto 76px}.jds-textes-hero{position:relative;overflow:hidden;min-height:390px;border-radius:30px;background:linear-gradient(120deg,#173f35,#244f44 62%,#b48639 150%);display:flex;align-items:center;padding:56px 64px;box-shadow:0 22px 55px rgba(23,63,53,.13)}.jds-textes-hero:after{content:"❦";position:absolute;right:7%;top:50%;transform:translateY(-50%);font:400 210px/1 var(--jds-serif);color:rgba(255,255,255,.055)}.jds-textes-hero-copy{z-index:2;max-width:760px}.jds-textes-hero .jds-discreet-label{color:#d9bd83}.jds-textes-hero h1{margin:10px 0 15px;color:#fff;font:600 clamp(42px,5.2vw,66px)/.98 var(--jds-serif);letter-spacing:-.035em}.jds-textes-hero p{color:#ffffffd1;font-size:16px;line-height:1.7}.jds-textes-search{display:flex;max-width:690px;margin-top:27px;padding:6px;background:#fff;border-radius:15px}.jds-textes-search input{flex:1;min-width:0;border:0;padding:0 15px;font-size:15px;outline:0}.jds-textes-search button{border:0;border-radius:11px;background:#b48639;color:#fff;padding:13px 20px;font-weight:700}.jds-textes-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;align-items:center;color:#ffffff9e;font-size:11px}.jds-textes-suggestions a{color:#fff;border:1px solid #ffffff40;padding:5px 9px;border-radius:999px}.jds-textes-intro,.jds-textes-results-head{display:flex;justify-content:space-between;gap:30px;align-items:end;padding:46px 8px 24px}.jds-textes-intro h2,.jds-textes-results-head h2,.jds-textes-section-head h2,.jds-textes-note h2{margin:7px 0 0;color:#173f35;font:600 clamp(28px,3vw,40px)/1.05 var(--jds-serif)}.jds-textes-intro p{max-width:560px;margin:0;color:#66736e;line-height:1.65}.jds-textes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.jds-textes-card{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:28px;background:#fff;border:1px solid #e8e1d5;border-radius:20px}.jds-textes-card-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#f3ede1;color:#b48639}.jds-textes-card h2{margin:0 0 8px;color:#173f35;font:600 24px/1.08 var(--jds-serif)}.jds-textes-card h3{margin:0 0 10px;color:#9a7133;font-size:12px;text-transform:uppercase}.jds-textes-card p{margin:0;color:#485853;line-height:1.72}.jds-textes-card .jds-tags{margin-top:17px}.jds-textes-short,.jds-textes-articles{margin-top:54px}.jds-textes-section-head{margin-bottom:22px}.jds-short-message-grid,.jds-textes-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.jds-short-message-grid blockquote{margin:0;padding:26px;border-radius:18px;background:#173f35;color:#fff;font:400 19px/1.55 var(--jds-serif)}.jds-textes-article-grid article{padding:25px;border:1px solid #e8e1d5;border-radius:18px;background:#fff}.jds-textes-article-grid article>span{font-size:9px;font-weight:800;text-transform:uppercase;color:#a27532}.jds-textes-article-grid h3{margin:10px 0;color:#173f35;font:600 23px/1.08 var(--jds-serif)}.jds-textes-article-grid p{color:#66736e;line-height:1.6}.jds-read-more{font-size:11px;font-weight:800;color:#173f35}.jds-textes-note{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center;margin-top:54px;padding:32px 38px;border-radius:20px;background:#f1ece1}.jds-textes-note p{margin:0;line-height:1.7;color:#59655f}.jds-textes-empty{padding:35px;text-align:center;background:#fff;border:1px solid #e8e1d5;border-radius:20px}
@media(max-width:1100px){.jds-main-nav{gap:9px!important;font-size:8.5px!important}.jds-brand{min-width:215px!important}.jds-brand-copy strong{font-size:20px!important}}@media(max-width:760px){.jds-header,.jds-header-inner{height:68px!important}.jds-brand{height:68px!important;min-width:0!important}.jds-brand-mark{width:47px!important;height:44px!important}.jds-brand-mark .jds-colombe-logo{width:47px!important;height:40px!important}.jds-main-nav{font-size:11px!important}.jds-textes-shell{width:calc(100% - 20px);margin-top:18px}.jds-textes-hero{min-height:0;padding:34px 22px;border-radius:21px}.jds-textes-hero:after{display:none}.jds-textes-hero h1{font-size:39px}.jds-textes-search{display:grid}.jds-textes-search input{min-height:48px}.jds-textes-intro,.jds-textes-results-head{display:block;padding:34px 3px 18px}.jds-textes-intro p{margin-top:13px}.jds-textes-grid,.jds-short-message-grid,.jds-textes-article-grid,.jds-textes-note{grid-template-columns:1fr}.jds-textes-card{grid-template-columns:34px 1fr;padding:21px 18px}.jds-textes-note{gap:15px;padding:25px 22px}}

/* === V9.16 — header lockup + bibliothèque Textes & Hommages === */
.jds-header{height:78px!important}
.jds-header .jds-header-inner{height:78px!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important}
.jds-header .jds-brand-lockup{display:flex!important;flex:0 0 auto!important;align-items:center!important;gap:10px!important;height:78px!important;min-width:240px!important;margin:0!important;padding:0!important;position:static!important;transform:none!important}
.jds-header .jds-brand-lockup>.jds-colombe-logo{display:block!important;position:static!important;float:none!important;width:52px!important;height:44px!important;max-width:52px!important;object-fit:contain!important;margin:0!important;padding:0!important;transform:none!important}
.jds-header .jds-brand-lockup>.jds-brand-copy{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:1px!important;position:static!important;margin:0!important;padding:0!important;transform:none!important;line-height:1!important}
.jds-header .jds-brand-lockup>.jds-brand-copy strong{display:block!important;margin:0!important;font-size:21px!important;line-height:1.05!important;white-space:nowrap!important}
.jds-header .jds-brand-lockup>.jds-brand-copy small{display:block!important;margin-top:4px!important;font-size:8px!important;line-height:1!important;white-space:nowrap!important}
.jds-header .jds-main-nav{margin-left:auto!important;align-self:center!important}

.jds-textes-page{background:#f8f6f0!important;padding:0 0 72px!important}
.jds-textes-page .jds-textes-shell{width:min(1180px,calc(100% - 36px))!important;margin:0 auto!important}
.jds-textes-page .jds-textes-top{padding:58px 0 34px!important;text-align:center!important}
.jds-textes-page .jds-textes-kicker{color:#ad813d!important;font-size:10px!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important}
.jds-textes-page .jds-textes-top h1{max-width:800px!important;margin:10px auto 12px!important;color:#173f35!important;font:600 clamp(42px,5vw,64px)/1 var(--jds-serif)!important;letter-spacing:-.035em!important}
.jds-textes-page .jds-textes-top>p{max-width:680px!important;margin:0 auto!important;color:#65736d!important;font-size:15px!important;line-height:1.65!important}
.jds-textes-page .jds-textes-search-v2{max-width:820px!important;margin:28px auto 18px!important;display:grid!important;grid-template-columns:48px 1fr auto!important;align-items:center!important;padding:7px!important;background:#fff!important;border:1px solid #ddd7ca!important;border-radius:18px!important;box-shadow:0 14px 40px rgba(43,54,49,.09)!important}
.jds-textes-page .jds-search-icon{font-size:24px!important;color:#a77c38!important}
.jds-textes-page .jds-textes-search-v2 input{width:100%!important;height:48px!important;border:0!important;outline:0!important;background:transparent!important;color:#263d36!important;font-size:14px!important}
.jds-textes-page .jds-textes-search-v2 button{height:46px!important;border:0!important;border-radius:12px!important;padding:0 23px!important;background:#173f35!important;color:#fff!important;font-size:11px!important;font-weight:800!important;letter-spacing:.03em!important;cursor:pointer!important}
.jds-textes-page .jds-textes-filters{display:flex!important;justify-content:center!important;flex-wrap:wrap!important;gap:8px!important;margin:0!important}
.jds-textes-page .jds-textes-filters a{padding:8px 13px!important;border:1px solid #ded8cb!important;border-radius:999px!important;background:#fff!important;color:#50625b!important;font-size:10px!important;font-weight:700!important}
.jds-textes-page .jds-textes-filters a:hover,.jds-textes-page .jds-textes-filters a.is-active{background:#b48639!important;border-color:#b48639!important;color:#fff!important}
.jds-textes-page .jds-library-section{padding:35px 0 16px!important}
.jds-textes-page .jds-library-heading{display:flex!important;justify-content:space-between!important;align-items:end!important;gap:25px!important;margin-bottom:20px!important}
.jds-textes-page .jds-library-heading span{color:#a77c38!important;font-size:9px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.jds-textes-page .jds-library-heading h2{max-width:720px!important;margin:5px 0 0!important;color:#173f35!important;font:600 clamp(27px,3vw,38px)/1.08 var(--jds-serif)!important}
.jds-textes-page .jds-library-heading>a{color:#8c682f!important;font-size:11px!important;font-weight:800!important;white-space:nowrap!important}
.jds-textes-page .jds-post-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.jds-textes-page .jds-post-card{position:relative!important;overflow:hidden!important;display:flex!important;min-height:330px!important;background:#fff!important;border:1px solid #e2ddd2!important;border-radius:20px!important;box-shadow:0 8px 25px rgba(44,55,50,.045)!important}
.jds-textes-page .jds-template-card:nth-child(3n+1) .jds-card-accent{background:#173f35!important}
.jds-textes-page .jds-template-card:nth-child(3n+2) .jds-card-accent{background:#b48639!important}
.jds-textes-page .jds-template-card:nth-child(3n) .jds-card-accent{background:#70877e!important}
.jds-textes-page .jds-card-accent{width:6px!important;flex:0 0 6px!important}
.jds-textes-page .jds-card-body{display:flex!important;flex-direction:column!important;width:100%!important;padding:25px!important}
.jds-textes-page .jds-card-meta{display:flex!important;justify-content:space-between!important;gap:10px!important;margin-bottom:16px!important;color:#a77c38!important;font-size:8.5px!important;font-weight:800!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.jds-textes-page .jds-post-card h3{margin:0 0 8px!important;color:#173f35!important;font:600 25px/1.08 var(--jds-serif)!important}
.jds-textes-page .jds-post-card h3 a{color:inherit!important}
.jds-textes-page .jds-card-subtitle{margin:0 0 13px!important;color:#a77c38!important;font-size:11px!important;font-weight:700!important}
.jds-textes-page .jds-card-excerpt{margin:0 0 18px!important;color:#63716b!important;font-size:13px!important;line-height:1.68!important}
.jds-textes-page .jds-open-text,.jds-textes-page .jds-card-link{margin-top:auto!important;align-self:flex-start!important;border:0!important;background:transparent!important;padding:0!important;color:#173f35!important;font-size:10.5px!important;font-weight:900!important;cursor:pointer!important}
.jds-textes-page .jds-open-text span,.jds-textes-page .jds-card-link span{color:#b48639!important;margin-left:4px!important}
.jds-textes-page .jds-full-text{margin:18px -25px -25px!important;padding:0 25px 25px!important;border-top:1px solid #eee9df!important}
.jds-textes-page .jds-full-text-inner{padding-top:18px!important}
.jds-textes-page .jds-full-text p{margin:0!important;color:#394b44!important;font-size:13px!important;line-height:1.75!important}
.jds-textes-page .jds-card-tags{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-top:16px!important}
.jds-textes-page .jds-card-tags span{padding:5px 8px!important;border-radius:999px!important;background:#f3efe6!important;color:#82652f!important;font-size:8px!important;font-weight:700!important}
.jds-textes-page .jds-advice-section{margin-top:30px!important;padding-top:42px!important;border-top:1px solid #ddd7ca!important}
.jds-textes-page .jds-article-card{min-height:270px!important;border-top:4px solid #173f35!important}
.jds-textes-page .jds-writing-tip{display:flex!important;align-items:center!important;gap:18px!important;margin-top:42px!important;padding:25px 28px!important;border-radius:18px!important;background:#173f35!important;color:#fff!important}
.jds-textes-page .jds-tip-mark{display:grid!important;place-items:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;border-radius:50%!important;background:#b48639!important;font-size:18px!important}
.jds-textes-page .jds-writing-tip strong{display:block!important;font:600 21px/1.15 var(--jds-serif)!important}
.jds-textes-page .jds-writing-tip p{margin:5px 0 0!important;color:rgba(255,255,255,.74)!important;font-size:12px!important}
@media(max-width:1080px){
 .jds-header .jds-brand-lockup{min-width:205px!important}.jds-header .jds-brand-lockup>.jds-colombe-logo{width:45px!important;max-width:45px!important}.jds-header .jds-brand-lockup>.jds-brand-copy strong{font-size:18px!important}
 .jds-textes-page .jds-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
 .jds-header,.jds-header .jds-header-inner{height:68px!important}.jds-header .jds-brand-lockup{height:68px!important;min-width:0!important;gap:7px!important}.jds-header .jds-brand-lockup>.jds-colombe-logo{width:43px!important;height:38px!important;max-width:43px!important}.jds-header .jds-brand-lockup>.jds-brand-copy strong{font-size:17px!important}.jds-header .jds-brand-lockup>.jds-brand-copy small{font-size:7px!important}
 .jds-textes-page .jds-textes-shell{width:calc(100% - 22px)!important}.jds-textes-page .jds-textes-top{padding:36px 0 26px!important}.jds-textes-page .jds-textes-top h1{font-size:42px!important}.jds-textes-page .jds-textes-search-v2{grid-template-columns:38px 1fr!important;padding:6px!important}.jds-textes-page .jds-textes-search-v2 button{grid-column:1/-1!important;width:100%!important;margin-top:5px!important}.jds-textes-page .jds-library-heading{display:block!important}.jds-textes-page .jds-library-heading>a{display:inline-block!important;margin-top:10px!important}.jds-textes-page .jds-post-grid{grid-template-columns:1fr!important}.jds-textes-page .jds-post-card{min-height:0!important}.jds-textes-page .jds-writing-tip{align-items:flex-start!important;padding:22px!important}
}

/* V9.17 — Product pages retain the native commerce flow. */
.jds-product-page{padding:40px 0 65px}
.jds-product-page .product{background:#fff;padding:28px;border:1px solid var(--jds-line);border-radius:20px}
.jds-product-page .product_title{color:var(--jds-green);font-family:var(--jds-serif);font-size:clamp(30px,4vw,48px);line-height:1.12}
.jds-product-page .summary{font-size:16px;line-height:1.65}
.jds-product-page .price{font-size:26px!important;color:var(--jds-green)!important}
.jds-product-page .single_add_to_cart_button{background:var(--jds-green)!important;border-radius:8px!important;min-height:48px}
.jds-product-page .woocommerce-product-gallery img{height:auto;max-width:100%;object-fit:contain}
.jds-product-help{display:flex;flex-wrap:wrap;gap:20px;margin-top:24px;font-size:15px}
@media(max-width:600px){.jds-product-page .product{padding:18px}.jds-product-page input,.jds-product-page select{font-size:16px}.jds-product-page .single_add_to_cart_button{max-width:100%;white-space:normal}}

/* V9.18 — Text posts use the Journal card layout. */
.jds-text-post-search{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 28px}
.jds-text-post-search label{font-size:15px;color:var(--jds-green)}
.jds-text-post-search input{flex:1;min-width:180px;padding:12px 15px;border:1px solid var(--jds-line);border-radius:8px;font-size:16px}
.jds-text-post-search button{min-height:46px}

/* V9.20 — Article images. */
.jds-article-featured{margin:24px 0 0;overflow:hidden;border-radius:16px}
.jds-article-featured-image{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}
.jds-article-content .jds-editorial-illustration{margin:30px 0}
.jds-editorial-illustration img{display:block;width:100%;height:auto;border-radius:14px}
.jds-editorial-illustration figcaption{margin-top:8px;color:var(--jds-muted);font-size:12px;line-height:1.5}
.jds-journal-cover{display:block;overflow:hidden;border-radius:12px;margin-bottom:18px}
.jds-journal-cover img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}

/* V9.24 — Center directory and home card locations, including linked labels. */
.jds-avis-directory .jds-avis-card .jds-place,
.jds-avis-home-grid .jds-avis-card .jds-place{justify-content:center;text-align:center;width:100%;flex-wrap:wrap}
.jds-avis-directory .jds-avis-card .jds-card-body{align-items:center;text-align:center}

/* V9.25 — Recherche détaillée */
.jds-search-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jds-search-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#173f35;min-width:0}
.jds-search-fields input,.jds-search-fields select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cdd8d1;border-radius:8px;background:#fff;color:#173f35;font:inherit;box-sizing:border-box}
.jds-search-fields input:focus,.jds-search-fields select:focus{outline:2px solid #b48639;outline-offset:2px}
.jds-search-pair{margin:0;padding:12px;border:1px solid #cdd8d1;border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}
.jds-search-pair legend{font-size:14px;font-weight:600;padding:0 5px;color:#173f35}
.jds-search-help{font-size:13px;color:#52645b;line-height:1.6;margin:12px 0}
.jds-search-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px}
.jds-search-actions button{min-height:46px}
.jds-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.jds-active-filters a{display:inline-flex;gap:12px;align-items:center;padding:8px 12px;background:#edf2ed;border:1px solid #ccd8ce;border-radius:20px;color:#173f35;font-size:13px;text-decoration:none}
.jds-search-fields input:disabled{background:#eef0ee;opacity:.65}
@media(max-width:600px){.jds-search-fields{grid-template-columns:1fr}.jds-search-actions button{width:100%}.jds-directory-tools{gap:10px;flex-wrap:wrap}}

/* V9.27 — Memorial hierarchy and gestures */
.jds-recent-hommages{margin:36px 0;padding:30px;border:1px solid #e6d8be;border-radius:24px;background:linear-gradient(135deg,#fffaf0,#f4f7f1);box-shadow:0 12px 32px rgba(65,73,48,.07)}
.jds-recent-hommages h2{font-size:clamp(26px,4vw,36px);margin:8px 0 24px}
.jds-recent-hommages-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jds-recent-hommage{display:flex;align-items:center;gap:18px;padding:22px;background:#fff;border:1px solid #eee6d8;border-radius:18px;flex-wrap:wrap;transition:transform .2s ease,box-shadow .2s ease}
.jds-recent-hommage:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(65,73,48,.1)}
.jds-recent-hommage>div{flex:1;min-width:140px}.jds-recent-hommage strong{display:block;font-size:18px}.jds-recent-hommage span{line-height:1.6}.jds-recent-hommage time{font-size:12px;color:#697362}
.jds-recent-hommage img,.jds-recent-hommage-icon{width:68px!important;height:68px!important;object-fit:contain;font-size:42px!important;display:grid;place-items:center;background:#fff8e7;border-radius:50%;flex-shrink:0}
.jds-gesture-bougie .jds-recent-hommage-icon{animation:jds-candle-glow 3s ease-in-out infinite}.jds-gesture-fleurs .jds-recent-hommage-icon{animation:jds-flower-sway 5s ease-in-out infinite}
@keyframes jds-candle-glow{50%{box-shadow:0 0 22px rgba(214,169,75,.3)}}
@keyframes jds-flower-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.jds-avis-main-card>.jds-qr-memory-card{margin-top:40px}.jds-avis-main-card>.jds-avis-biography{margin-top:24px}
@media(max-width:640px){.jds-recent-hommages{padding:20px}.jds-recent-hommages-list{grid-template-columns:1fr}.jds-recent-hommage{padding:18px}}
@media(prefers-reduced-motion:reduce){.jds-recent-hommage,.jds-recent-hommage-icon{animation:none!important;transition:none!important;transform:none!important}}

/* V9.28 — Gestes vivants, illustrations légères */
.jds-recent-hommages{background:linear-gradient(135deg,#fffbf3,#f0f4ed);padding:32px;border-radius:26px}
.jds-recent-hommages h2{margin-bottom:10px}.jds-tribute-intro{color:#596b60;font-size:16px;margin:0 0 26px}
.jds-recent-hommage{position:relative;gap:20px;padding:24px;border-radius:20px;box-shadow:0 6px 22px rgba(32,63,48,.05);align-items:center}
.jds-tribute-art{display:grid;place-items:center;width:140px;height:160px;flex:0 0 140px;border-radius:22px;background:radial-gradient(ellipse,#fff2d5 0%,#fbf8f1 65%);overflow:hidden}
.jds-tribute-art svg{width:140px;height:150px;display:block}.jds-gesture-fleurs .jds-tribute-art{background:radial-gradient(ellipse,#f3e9ec,#f6f9f1)}
.jds-recent-hommage>div{min-width:110px}.jds-recent-hommage strong{font-size:21px;line-height:1.3;margin-bottom:8px}.jds-recent-hommage div span{font-size:15px;line-height:1.65;display:block}.jds-recent-hommage time{display:block;font-size:12px;margin-left:auto}
.jds-living-flame{transform-box:fill-box;transform-origin:50% 100%;animation:jds-flame-dance 1.8s ease-in-out infinite;filter:drop-shadow(0 0 6px #efb65b)}
.jds-living-flowers{transform-origin:80px 140px;animation:jds-bouquet-dance 5s ease-in-out infinite}.jds-tribute-heart{font-size:70px;color:#b28a64}
@keyframes jds-flame-dance{0%,100%{transform:rotate(-3deg) scaleX(.96) scaleY(1)}35%{transform:rotate(4deg) scaleX(1.04) scaleY(.92)}70%{transform:rotate(-2deg) scaleX(.94) scaleY(1.05)}}
@keyframes jds-bouquet-dance{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@media(max-width:900px){.jds-recent-hommages-list{grid-template-columns:1fr}}
@media(max-width:480px){.jds-recent-hommages{padding:20px 14px}.jds-recent-hommage{padding:16px;gap:14px}.jds-tribute-art{width:106px;height:130px;flex-basis:106px}.jds-tribute-art svg{width:106px;height:124px}.jds-recent-hommage strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.jds-living-flame,.jds-living-flowers{animation:none!important}}

/* Recherche progressive des avis. */
.jds-simple-search{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jds-simple-search label{display:flex;flex-direction:column;gap:8px;font-weight:600}
.jds-simple-search input{width:100%;min-height:48px;border:1px solid #d4ddd5;border-radius:10px;padding:12px;background:#fff;box-sizing:border-box}
.jds-advanced-search{margin-top:18px;border-top:1px solid #dce3dc;padding-top:14px}
.jds-advanced-search summary{cursor:pointer;color:#244c3d;font-weight:600;padding:8px 0}
.jds-advanced-search .jds-search-fields{margin-top:16px}
.jds-age-pending{font-size:14px;color:#59685f;align-self:center;margin:0}
@media(max-width:600px){.jds-simple-search{grid-template-columns:1fr}}


/* JDS VAN GOGH - GALERIA DO TUMULO */
body.single-avis .jds-tombe-galerie {
    max-width: 850px;
    margin: 30px auto;
    text-align: center;
}

body.single-avis .jds-tombe-galerie img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(0,0,0,.12);
}

body.single-avis .jds-tombe-galerie figcaption {
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.6;
    color: #777;
}

body.single-avis .jds-tombe-galerie figcaption a {
    text-decoration: underline;
}

@media (max-width: 600px) {
    body.single-avis .jds-tombe-galerie {
        margin: 20px 0;
    }
}


/* JDS GALERIE VAN GOGH V1 */
body.single-avis .jds-van-gogh-art-gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    margin: 32px 0;
}

body.single-avis .jds-van-gogh-art-item {
    margin: 0;
    padding: 16px;
    background: #fff;
    border: 1px solid #e9e5df;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(0,0,0,.06);
}

body.single-avis .jds-van-gogh-art-item img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: contain;
    background: #f5f2ed;
    border-radius: 10px;
}

body.single-avis .jds-van-gogh-art-item figcaption {
    padding: 16px 4px 4px;
    font-size: 14px;
    line-height: 1.7;
    color: #5b554e;
}

body.single-avis .jds-van-gogh-art-item figcaption strong {
    display: block;
    font-size: 17px;
    color: #302c28;
    margin-bottom: 8px;
}

body.single-avis .jds-van-gogh-art-item figcaption p {
    margin: 0 0 10px;
}

body.single-avis .jds-van-gogh-art-item figcaption small {
    font-size: 12px;
}

@media (max-width: 700px) {
    body.single-avis .jds-van-gogh-art-gallery {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    body.single-avis .jds-van-gogh-art-item img {
        height: auto;
        max-height: 420px;
        object-fit: contain;
    }
}
