/*
 Theme Name:   Pompes Funebres Riché
 Theme URI:    https://www.pompes-funebres-riche.fr/
 Description:  Theme Pompes Funebres Riché
 Template:     generatepress
 Version:      1.0.1
 Text Domain:  generatepress
*/

html { scroll-behavior: smooth; }


.cover-vague img {
    width: 100% !important;
}

.site-logo {
    max-width: 110px;
}
.footer-home {
    margin-bottom: 0;
}

#site-navigation, #sticky-navigation {
    background-color: #fff;
}

.home .site-content {
    display: block !important;
}

#mobile-header {
    background-color: #fff;
}



/* Menu */

#menu-main li {
    display: inline-block;
    font-size: 14px;
    padding-right: 0px;
    /*max-width: 217px;*/
}

#menu-main li a {
    text-align: center;
    font-size: 14px;
    padding: 12px 8px;
    font-weight: 600;
    color: #000;
    line-height: 1.4em;
}

.main-navigation {
    font-weight: 600;
}

.main-navigation .main-nav>ul {
    display: block;
}

.current_page_item a, 
.current-menu-item a,
li.menu-item a:hover  {
    color: #bda25a !important;
}

footer .wp-block-navigation__container a:hover {
    color: #ccc !important;
}

.menu-toggle {
    color: #000;
}

#menu-main .sub-menu {
    background-color: #fff;
    border-top: 3px solid #bda25a;
}

#menu-main .sub-menu li a {
    text-align: left;
    padding-left: 20px;
}
#menu-main > li > a {
    display: inline-block;
}

.site-footer .is-menu-open li.wp-block-navigation-item a,
.site-footer .is-menu-open button.wp-block-navigation__responsive-container-close {
    color: #000 !important;
}



/* Contact */
/* Force le cover à prendre la largeur viewport même si un wrapper GP s'interpose */
.contact-hero-section{
  width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}

/* Carte blanche */
.pf-card{
  background:#fff;
  border-radius:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
  padding:28px;
  min-width: 530px;
}
@media (max-width: 767px) {
  .pf-card {
      min-width: auto;
  }
}

.pf-logo img{ max-width:110px; height:auto; }

/* =========================
   CF7 – Style premium localisé
   Cible uniquement le formulaire dans la carte .pf-card
   ========================= */
.pf-card {
  --cf7-bg: #ffffff;
  --cf7-border: #e6e6ea;
  --cf7-border-focus: #9bb4ff;         /* halo focus */
  --cf7-ring: rgba(83, 120, 255, .25); /* ombre focus */
  --cf7-text: #1f2230;
  --cf7-muted: #6b6f7a;
  --cf7-danger: #d54646;
  --cf7-success: #1f9d68;
  --cf7-radius: 12px;
  --cf7-pad: 14px;
  --cf7-gap: 18px;
  --cf7-btn-bg: #2d2d5c;
  --cf7-btn-bg-hover: #232346;
  --cf7-btn-text: #ffffff;
}

/* Reset léger et typographie */
.pf-card .wpcf7-form {
  color: var(--cf7-text);
  font-size: 16px;
  line-height: 1.5;
}
.pf-card .wpcf7-form p {
  margin: 0 0 var(--cf7-gap);
}
.pf-card .wpcf7-form label {
  display: block;
  font-weight: 600;
  color: var(--cf7-text);
  margin: 0 0 8px;
}

/* Champs */
.pf-card .wpcf7-form input[type="text"],
.pf-card .wpcf7-form input[type="email"],
.pf-card .wpcf7-form input[type="tel"],
.pf-card .wpcf7-form input[type="url"],
.pf-card .wpcf7-form input[type="number"],
.pf-card .wpcf7-form textarea,
.pf-card .wpcf7-form select {
  width: 100%;
  background: var(--cf7-bg);
  border: 1px solid var(--cf7-border);
  border-radius: var(--cf7-radius);
  padding: var(--cf7-pad) 16px;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
  box-shadow: 0 1px 0 rgba(0,0,0,.02) inset;
  outline: none;
}

.pf-card .wpcf7-form textarea {
  min-height: 180px;
  resize: vertical;
}

/* Focus */
.pf-card .wpcf7-form input:focus,
.pf-card .wpcf7-form textarea:focus,
.pf-card .wpcf7-form select:focus {
  border-color: var(--cf7-border-focus);
  box-shadow: 0 0 0 4px var(--cf7-ring);
}

/* Placeholder + petit hint */
.pf-card .wpcf7-form ::placeholder { color: var(--cf7-muted); opacity: .9; }

/* Erreurs CF7 */
.pf-card .wpcf7-not-valid {
  border-color: var(--cf7-danger) !important;
  box-shadow: 0 0 0 4px rgba(213,70,70,.12) !important;
}
.pf-card .wpcf7-not-valid-tip {
  color: var(--cf7-danger);
  font-size: 13px;
  margin-top: 6px;
}

/* Messages de statut */
.pf-card .wpcf7-response-output {
  margin: var(--cf7-gap) 0 0;
  border: 1px solid var(--cf7-border);
  border-radius: 10px;
  padding: 12px 14px;
  background: #fafafa;
}
.pf-card .wpcf7 form.sent .wpcf7-response-output {
  border-color: rgba(31,157,104,.35);
  background: rgba(31,157,104,.07);
  color: var(--cf7-success);
}
.pf-card .wpcf7 form.invalid .wpcf7-response-output,
.pf-card .wpcf7 form.failed  .wpcf7-response-output {
  border-color: rgba(213,70,70,.35);
  background: rgba(213,70,70,.07);
  color: var(--cf7-danger);
}

/* Bouton */
.pf-card .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  background: var(--cf7-btn-bg);
  color: var(--cf7-btn-text);
  padding: 12px 22px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .05s ease, background-color .15s ease, box-shadow .15s ease;
  box-shadow: 0 6px 14px rgba(45,45,92,.22);
}
.pf-card .wpcf7-submit:hover { background: var(--cf7-btn-bg-hover); }
.pf-card .wpcf7-submit:active { transform: translateY(1px); }

/* Spinner (aligné au bouton) */
.pf-card .wpcf7-spinner {
  margin-left: 10px;
  position: relative;
  top: 2px;
}

/* Disposition responsive : 2 colonnes pour les 2 premiers champs sur desktop */
@media (min-width: 768px) {
  .pf-card .wpcf7-form .cf7-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--cf7-gap);
  }
  .pf-card .wpcf7-form .cf7-grid p { margin: 0; }
}

/* Option esthétique fine pour les inputs dans GeneratePress */
.pf-card .wpcf7-form input,
.pf-card .wpcf7-form textarea {
  -webkit-appearance: none;
  appearance: none;
}




/* Fix homepage pour Mobile */


/* 1) Remplacer les largeurs fixes par des largeurs fluides */
.gb-element-7fe46f01,
.gb-element-c7e5b36a {
  width: 100% !important;         /* au lieu de width:1280px */
  max-width: 1280px;              /* conserve le cadre sur desktop */
  margin-left: auto;
  margin-right: auto;
}

/* 2) Empêcher les débordements d'images/figures */
.wp-block-image,
.wp-block-image img,
figure.wp-block-image {
  max-width: 100%;
  height: auto;
}

/* 3) Annuler la marge qui pousse le contenu hors écran */
.gb-element-2eb214a4 { margin-right: 0; }
@media (min-width: 1025px) {
  .gb-element-2eb214a4 { margin-right: 410px; } /* seulement desktop */
}

/* 4) Grilles/colonnes: s’assurer qu’elles ne dépassent pas */
.gb-element-2b177aba { grid-template-columns: 1fr 3fr; }
@media (max-width: 767px) {
  .gb-element-2b177aba { grid-template-columns: 1fr; }
}

/* 5) Fond "fixed" = bugs sur mobile (sauts/zoom). Passer en scroll. */
@media (max-width: 1024px) {
  .gb-element-e22bbed1 {
    background-attachment: scroll !important;
  }
}

/* 6) Par sécurité, couper tout débordement horizontal du contenu principal */
body, html { overflow-x: hidden; }
.site, .site-content, .inside-article { overflow-x: hidden; }

/* A) Espace sous le bouton téléphone */
.gb-text-a7880a79 { 
  margin-bottom: 28px;           /* padding visuel sous le CTA */
}
@media (max-width: 767px){
  .gb-text-a7880a79 { margin-bottom: 40px; }
}

/* Section "Rendre hommage avec des fleurs" */
.gb-element-2eb214a4 {
  margin: 0 auto;          /* centre horizontalement */
  max-width: 780px;        /* garde une largeur lisible */
  text-align: center;      /* centre le contenu à l’intérieur */
}

/* Sur desktop : ajoute un peu d’air autour */
@media (min-width: 1025px) {
  .gb-element-2eb214a4 {
    padding-right: 100px;
    padding-left: 0;
    text-align: left;
  }
}

/* Sur mobile : on garde le centrage et on réduit les marges */
@media (max-width: 767px) {
  .gb-element-5c8059bd .wp-block-group.alignwide {
    padding-left: 20px;
    padding-right: 20px;
  }
  .gb-element-2eb214a4 {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}


.slider-vague img {
    margin-top: 1px;
}





/* Page content header*/
.page_divider_1 {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDBweCIgdmlld0JveD0iMCAwIDEyODAgMTQwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiNmZmZmZmYiPjxwYXRoIGQ9Ik03MjUuMjkgMTAxLjJDMzI1LjIyIDEyMi40OCAwIDAgMCAwdjE0MGgxMjgwVjBzLTE1NC42NCA3OS45Mi01NTQuNzEgMTAxLjJ6IiBmaWxsLW9wYWNpdHk9Ii4zIi8+PHBhdGggZD0iTTU1Ni40NSAxMTkuNzRDOTUzLjQxIDE0MCAxMjgwIDE0IDEyODAgMTR2MTI2SDBWMHMxNTkuNSA5OS40OCA1NTYuNDUgMTE5Ljc0eiIgZmlsbC1vcGFjaXR5PSIuNSIvPjxwYXRoIGQ9Ik02NDAgMTQwYzM1My40NiAwIDY0MC0xNDAgNjQwLTEzOXYxNDBIMFYwczI4Ni41NCAxNDAgNjQwIDE0MHoiLz48L2c+PC9zdmc+);
    background-size: 100% 100px;
    top: 0;
    height: 100px;
    z-index: 1;
    transform: scale(1, 1);
    margin-bottom: 0;
}





.top_divider_page_1 {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDBweCIgdmlld0JveD0iMCAwIDEyODAgMTQwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiNmZmZmZmYiPjxwYXRoIGQ9Ik0xMjgwIDE0MFYwSDBsMTI4MCAxNDB6IiBmaWxsLW9wYWNpdHk9Ii41Ii8+PHBhdGggZD0iTTEyODAgOThWMEgwbDEyODAgOTh6Ii8+PC9nPjwvc3ZnPg==);
    background-size: 100% 100px;
    top: 0;
    height: 100px;
    z-index: 1;
    transform: scale(1, 1);
    margin-bottom: 0;
}

.top_divider_page_2 {
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDBweCIgdmlld0JveD0iMCAwIDEyODAgMTQwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiNmZmZmZmYiPjxwYXRoIGQ9Ik0xMjgwIDE0MFYwSDBsMTI4MCAxNDB6IiBmaWxsLW9wYWNpdHk9Ii41Ii8+PHBhdGggZD0iTTEyODAgOThWMEgwbDEyODAgOTh6Ii8+PC9nPjwvc3ZnPg==);
    background-size: 100% 100px;
    top: 0;
    height: 100px;
    z-index: 1;
    transform: scale(-1, 1);
    margin-bottom: 0;
}

.checklist-1 {
  padding-left: 60px !important;
  list-style: none; /* enlève les puces par défaut */
  margin: 0;
  padding: 0;
}

.checklist-1 li {
  position: relative;
  padding-left: 35px; /* espace pour l'icône */
  margin-bottom: 15px;
  font-family: "Arial", sans-serif; /* adapte si besoin */
  font-weight: 600;
  color: #2c2c40; /* gris foncé (texte) */
  font-size: 16px;
  line-height: 1.5;
}

.checklist-1 li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: #b89b5e; /* doré */
  border: 2px solid #b89b5e;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
}

.first_block_page {
    
}

.site-content {
    display: block;
}

.alt_divider {
    margin-top: -100px;
}

.marbrerie_last_block {
    max-width: 1200px;
    margin: 0 auto;
}


/* Other */
.adress_title {
    margin-bottom: 0;
}

.mobile_margin {
    padding: 0 20px;
}

.services {
    font-size: 15px;
    padding: 0 0 0 38px;
}

.center_mobile,
.center_mobile h2 {
    text-align: center;
}





.mpt-avis-header { text-align:center; max-width:760px; margin:0 auto 2rem; }
.mpt-portrait { width:160px; height:160px; margin:0 auto 1rem; border-radius:50%; overflow:hidden; border:4px solid #c9b26a; }
.mpt-portrait img { width:100%; height:100%; object-fit:cover; }
.mpt-portrait .mpt-default-logo { object-fit:contain; padding:15px; background:#fff; }
.mpt-avis-nom { font-weight:800; color:#2f3b59; }
.mpt-avis-ville, .mpt-avis-dates { color:#414141; }
.mpt-btn { display:inline-block; padding:.85rem 1.2rem; border-radius:999px; background:#576794; color:#fff; text-transform:uppercase; font-weight:700; letter-spacing:.5px; }
.mpt-form-wrapper { max-width:1000px; margin:2rem auto; }



.mpt-fairepart a { text-decoration:underline; }


.mpt-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px; }
.mpt-card { background:#f8f8f8; border-radius:14px; padding:14px; }
.mpt-thumb img { width:100%; height:200px; object-fit:cover; border-radius:10px; }
.mpt-title { font-size:1.05rem; margin:.5rem 0; }
.mpt-meta { color:#666; font-size:.9rem; }


/* Faire-part miniature */
.mpt-fairepart { margin: 0 0 18px; text-align:center; }
.mpt-fairepart .mpt-fairepart-thumb {
  max-width: 400px;   /* largeur max de la vignette */
  margin: 0 auto;     /* centré */
  height: auto;
  cursor: pointer;
}
.mpt-fp-caption { font-size:14px; color:#6b7280; margin-top:8px; }

/* Popin lightbox */
.mpt-fp-lightbox {
  position: fixed; inset:0; display:grid; place-items:center;
  background: rgba(0,0,0,.75); padding:24px; z-index: 99999;
}
.mpt-fp-lightbox[hidden]{ display:none; }
.mpt-fp-lightbox .mpt-fp-img {
  max-width:95vw; max-height:90vh; border-radius:8px; background:#fff;
  box-shadow:0 8px 40px rgba(0,0,0,.4);
}
.mpt-fp-close{
  position:absolute; top:14px; right:14px; width:44px; height:44px;
  border:0; border-radius:999px; background:rgba(255,255,255,.9);
  color:#111; font-size:28px; line-height:1; cursor:pointer;
  padding: 7px 13px;
}
.mpt-fp-close:hover{ background:#fff; }


.cgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
@media (max-width:768px){ .cgrid { grid-template-columns:1fr; } }



/* ——— Structure grille ——— */
.cdl-form .row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  margin-bottom: 18px;
}
.cdl-form .col-12 { grid-column: span 12; }
.cdl-form .col-6  { grid-column: span 6; }
.cdl-form .align-middle { align-items: center; }

@media (max-width: 768px) {
  .cdl-form .col-6 { grid-column: span 12; }
}

/* ——— Titres & notes ——— */
.cdl-form h3 {
  font-size: clamp(22px, 2.2vw, 28px);
  margin: 0 0 8px;
  font-weight: 700;
}
.cdl-form h4 {
  font-size: clamp(16px, 1.6vw, 18px);
  margin: 18px 0 8px;
  font-weight: 600;
}
.cdl-form .note-required {
  color: #6b7280; /* gris neutre */
  margin: 0 0 12px;
  font-size: 14px;
}

/* ——— Champs ——— */
.cdl-form input[type=text],
.cdl-form input[type=email],
.cdl-form input[type=tel],
.cdl-form textarea {
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #cfd4da;
  border-radius: 6px;
  padding: 10px 12px;
  line-height: 1.4;
  font-size: 16px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.cdl-form textarea { min-height: 160px; resize: vertical; }

.cdl-form input:focus,
.cdl-form textarea:focus {
  border-color: #9aa6b2;
  box-shadow: 0 0 0 3px rgba(153, 171, 187, .25);
}

/* ——— Messages CF7 ——— */
.cdl-form .wpcf7-not-valid-tip {
  color: #b00020;        /* rouge d'erreur lisible */
  font-size: 13px;
  margin-top: 6px;
}
.cdl-form .wpcf7-response-output {
  border-radius: 6px;
  padding: 10px 12px;
  margin-top: 12px;
}

/* ——— Checkbox RGPD ——— */
.cdl-form .wpcf7-checkbox,
.cdl-form .wpcf7-acceptance {
  display: inline-block;
}
.cdl-form .wpcf7-list-item {
  margin: 0;           /* pas d'espacement excessif */
}
.cdl-form .wpcf7-list-item-label a {
  text-decoration: underline;
}

/* ——— Captcha ——— */
.cdl-form .h-captcha,
.cdl-form .grecaptcha-badge,
.cdl-form .g-recaptcha {
  transform-origin: left top;
}
.cdl-form .h-captcha,
.cdl-form .g-recaptcha {
  margin: 4px 0 8px;
}

/* ——— Bouton ——— */
.cdl-form .actions input[type=submit] {
  display: inline-block;
  background: #4b5563;            /* gris foncé */
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 12px 18px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  box-shadow: 0 2px 0 rgba(0,0,0,.15);
  transition: transform .05s ease, filter .15s ease;
}
.cdl-form .actions input[type=submit]:hover {
  filter: brightness(1.05);
}
.cdl-form .actions input[type=submit]:active {
  transform: translateY(1px);
}

/* ——— Harmonisation GeneratePress ——— */
.generatepress .cdl-form input,
.generatepress .cdl-form textarea {
  font-family: inherit;
}

/* ——— Optionnel: réduire la largeur max du contenu du formulaire ——— */
/* .cdl-form { max-width: 720px; } */



/* Grille image + formulaire */
.avis-condo-wrap { margin-top: 32px; }
.avis-condo.grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr; /* image un poil plus large */
  gap: 32px;
  align-items: start;
}
.avis-col.media { min-width: 0; }
.avis-media { margin: 0; }
.avis-media-img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  display: block;
}

/* Responsive */
@media (max-width: 992px) {
  .avis-condo.grid { grid-template-columns: 1fr; gap: 24px; }
}

/* Espace avant/après */
.avis-condo-wrap .cdl-form { margin-top: 0; }

/* (Option) rétrécir le formulaire pour aérer */
@media (min-width: 993px) {
  .avis-col.form .cdl-form { max-width: 560px; }
}



.avis-cta-wrap { margin: 16px 0 8px; }
.avis-cta.button {
  background: #4b5563;
  color: #fff;
  border-radius: 999px;
  padding: 10px 16px;
  text-decoration: none;
  font-weight: 700;
  display: inline-block;
}
.avis-cta.button:hover { filter: brightness(1.05); }



/* ——— Grille archive ——— */
.mpt-avis-archive { padding: 8px 0 24px; }
.mpt-avis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 36px 36px;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .mpt-avis-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .mpt-avis-grid { grid-template-columns: 1fr; }
}

/* ——— Card ——— */
.mpt-avis-card {
  background: #f6f7fb;
  border-radius: 16px;
  padding: 26px 18px 22px;
  text-align: center;
  box-shadow: 0 1px 0 rgba(0,0,0,.04);
  transition: transform .15s ease, box-shadow .15s ease;
}
.mpt-avis-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}
.mpt-avis-link { text-decoration: none; color: inherit; display: block; }

/* ——— Médaillon rond avec bordure dorée ——— */
.mpt-medallion-wrap {
  position: relative;
  width: 180px;
  height: 180px;
  margin: 0 auto 14px;
  border-radius: 999px;
  overflow: hidden;              /* rogne l'image dans le cercle */
}
.mpt-medallion-border {
  position: absolute; inset: 0;
  border-radius: 999px;
  border: 4px solid #c9a54f;     /* doré */
  pointer-events: none;
  box-sizing: border-box;
}
.mpt-medallion-img {
  width: 100%; height: 100%;
  object-fit: cover;             /* pour remplir le cercle */
  display: block;
}
.mpt-medallion-img.mpt-default-logo {
  object-fit: contain;           /* pour le logo SVG, afficher entièrement */
  padding: 20px;
  background: #fff;
}

/* ——— Textes ——— */
.mpt-avis-name {
  font-size: 22px;
  line-height: 1.25;
  margin: 8px 0 6px;
  font-weight: 800;
}
.mpt-avis-city {
  color: #6b7280;
  margin: 0 0 10px;
}
.mpt-avis-dates {
  color: #374151;
  margin: 0 0 14px;
}

/* ——— Bouton ——— */
.mpt-cta {
  display: inline-block;
  margin-top: 6px;
  background: #576794;      /* gris bleuté */
  color: #fff;
  font-weight: 700;
  border-radius: 999px;
  padding: 10px 16px;
  font-size: 15px;
  letter-spacing: .2px;
}
.mpt-avis-card:hover .mpt-cta { filter: brightness(1.06); }

/* ——— Pagination ——— */
.mpt-avis-pagination {
  margin: 28px auto 0;
  text-align: center;
}
.mpt-avis-pagination .page-numbers {
  display: inline-block;
  margin: 0 4px;
  padding: 8px 12px;
  border-radius: 8px;
  background: #eef1f6;
}
.mpt-avis-pagination .page-numbers.current {
  background: #c9d2e3;
  font-weight: 700;
}

/* Section titre archive */
.mpt-avis-header {
  text-align: center;
  margin: 40px auto 50px;
  position: relative;
}

.mpt-avis-title {
  font-size: 34px;
  font-weight: 600;
  color: #1f2937; /* gris foncé élégant */
  margin: 0;
  position: relative;
  display: inline-block;
  padding-bottom: 14px;
}

/* Soulignement élégant */
.mpt-avis-title::after {
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  background: linear-gradient(90deg, #c9a54f, #e2cf92);
  margin: 10px auto 0;
  border-radius: 2px;
}



.avis-flowers{
  text-align:center;
  margin: 18px 0 40px;
}
.avis-flowers-label{
  margin:0 0 6px;
  font-size:17px;
  color:#374151; /* gris sobre */
}
.avis-flowers-phone{
  margin:0;
  font-size:22px;
  font-weight:700;
  letter-spacing: .2px;
}
.avis-flowers-phone a{
  color:inherit;
  text-decoration:none;
}
.avis-flowers-phone a:hover{
  text-decoration:underline;
}

/* ——— Formulaire condoléances personnalisé ——— */
.cdl-form input[type="file"] {
  width: 100%;
  padding: 8px;
  border: 1px solid #cfd4da;
  border-radius: 6px;
  background: #fff;
  font-size: 14px;
}

.cdl-form input[type="file"] + small {
  display: block;
  margin-top: 4px;
  font-size: 13px;
  color: #6b7280;
}

.cdl-form input[type="checkbox"] {
  width: auto;
  margin-right: 8px;
}

.cdl-form label {
  display: flex;
  align-items: flex-start;
  cursor: pointer;
}

.cdl-form label input[type="checkbox"] {
  margin-top: 2px;
}

/* Messages de réponse */
.condoleances-response {
  margin-top: 16px;
  font-size: 14px;
  background: #576794;
  color: #fff;
  font-weight: 600;
  border-radius: 18px;
  padding: 10px 16px;
}

.condoleances-response.success {
  background: #d1fae5;
  color: #065f46;
  border: 1px solid #6ee7b7;
}

.condoleances-response.error {
  background: #fee2e2;
  color: #991b1b;
  border: 1px solid #fca5a5;
}

.cdl-form .actions input[type=submit]:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* ——— Affichage des condoléances validées ——— */
.condoleances-approved {
  margin-top: 48px;
  margin-bottom: 48px;
  padding-top: 32px;
  padding-bottom: 32px;
  border-top: 2px solid #e5e7eb;
  border-bottom: 2px solid #e5e7eb;
}

.condoleances-approved h3 {
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 32px;
  color: #1f2937;
  padding-bottom: 16px;
  /*border-bottom: 1px solid #e5e7eb;*/
  text-align: center;
  color: #2f3b59;
}

.condoleance-item {
  display: flex;
  gap: 24px;
  margin-bottom: 24px;
  padding: 24px;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.2s ease;
}

.condoleance-item:hover {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.condoleance-item:last-child {
  margin-bottom: 0;
  border-bottom: none;
}

.condoleance-photo {
  flex-shrink: 0;
  width: 140px;
  height: 140px;
  border-radius: 10px;
  overflow: hidden;
  background: #e5e7eb;
  border: 2px solid #f3f4f6;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.condoleance-photo:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.condoleance-photo a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.condoleance-photo img,
.condoleance-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.condoleance-photo .mpt-default-logo {
  object-fit: contain;
  padding: 15px;
  background: #fff;
}

.condoleance-content {
  flex: 1;
  padding-top: 4px;
}

.condoleance-author {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f3f4f6;
}

.condoleance-author strong {
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
}

.condoleance-date {
  font-size: 14px;
  color: #6b7280;
  font-style: italic;
}

.condoleance-message {
  font-size: 15px;
  line-height: 1.7;
  color: #374151;
  /*white-space: pre-wrap;*/
  margin: 0;
  padding: 0;
  text-align: left;
}

.condoleance-message p {
  margin: 0;
  padding: 0;
}

/* Séparation entre formulaire et messages */
.mpt-form-wrapper {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 2px solid #e5e7eb;
}

/* Responsive pour les condoléances */
@media (max-width: 640px) {
  .condoleance-item {
    flex-direction: column;
    gap: 16px;
    padding: 20px;
  }

  .condoleance-photo {
    width: 100%;
    height: 200px;
    margin: 0 auto;
  }

  .condoleance-author {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  
  .condoleances-approved h3 {
    font-size: 24px;
  }
}
