/* Charte premium du Club des déménageurs internationaux — Expat.org */
:root {
  --club-blue: #5d83ce;
  --club-blue-dark: #345c9b;
  --club-ink: #27364c;
  --club-text: #3f4854;
  --club-yellow: #f2c94c;
  --club-grey: #f4f6f8;
  --club-line: #e1e6ec;
  --club-white: #fff;
}

.header-logo img { max-height: 80px !important; width: auto !important; }
.post-header, .hero-post { overflow: hidden; border-radius: 18px !important; box-shadow: 0 10px 25px rgba(36, 50, 74, .10); }
.blog-section { color: var(--club-text); }
.single-blog .blog-wrap {
  overflow: hidden;
  padding: 30px;
  border: 1px solid var(--club-line);
  border-radius: 20px;
  background: var(--club-grey);
  box-shadow: 0 8px 24px rgba(36, 50, 74, .06);
}
.single-blog .meta { margin-bottom: 22px; }
.single-blog .content h1 {
  margin: 5px 0 24px !important;
  color: var(--club-ink) !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
}
.single-blog .content h1 font { color: inherit !important; }
.single-blog .content h2,
.single-blog .content h3,
.single-blog .content h4,
.single-blog .content h5 {
  color: var(--club-blue-dark) !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
}
.single-blog .content h2 { margin: 30px 0 13px !important; font-size: 24px !important; }
.single-blog .content h2,
.content-card h2,
.partner-section > .section-title {
  position: relative;
  padding-left: 34px !important;
}
.single-blog .content h2::before,
.content-card h2::before,
.partner-section > .section-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 5px solid #fff;
  border-radius: 50%;
  background: var(--club-blue);
  box-shadow: 0 0 0 2px var(--club-blue), 0 3px 8px rgba(52, 92, 155, .24);
}

/* Lecture éditoriale : un sous-titre et son texte forment une carte distincte. */
.single-blog .blog-wrap:has(.sectioned-content) {
  background: var(--club-white);
}
.editorial-card.sectioned-content,
.guide-content.sectioned-content {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.editorial-section {
  margin: 0 0 18px;
  padding: 22px 24px 20px;
  border: 1px solid var(--club-line);
  border-radius: 18px;
  background: var(--club-grey);
  box-shadow: 0 6px 18px rgba(36, 50, 74, .05);
}
.editorial-section > h2:first-child {
  display: block;
  margin: 0 0 12px !important;
  color: var(--club-blue-dark) !important;
  font-weight: 800 !important;
}
.editorial-section > :last-child { margin-bottom: 0 !important; }
.editorial-section > h2:first-child::before {
  top: 50% !important;
  transform: translateY(-50%) !important;
}
@media (max-width: 767px) {
  .editorial-section {
    padding: 18px 17px 16px;
    border-radius: 15px;
  }
  .editorial-section > h2:first-child {
    padding-left: 29px !important;
    font-size: 20px !important;
  }
}
.single-blog .content h3 { margin: 25px 0 11px !important; font-size: 21px !important; }
.single-blog .content h4,
.single-blog .content h5 { margin: 22px 0 9px !important; font-size: 18px !important; }
.single-blog .content p { color: var(--club-text) !important; line-height: 1.75 !important; }
.single-blog .content > ul,
.single-blog .content > ol {
  margin: 14px 0 22px;
  padding: 18px 22px 10px 44px;
  border: 1px solid var(--club-line);
  border-radius: 14px;
  background: var(--club-white);
  line-height: 1.7;
}
.single-blog .content > ul li,
.single-blog .content > ol li { margin-bottom: 8px; }

.zone-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 18px !important;
  margin-bottom: 24px !important;
  border: 1px solid var(--club-line) !important;
  border-radius: 16px !important;
  background: var(--club-grey) !important;
}
.zone-nav .zone-title { width: 100%; margin-bottom: 3px !important; color: var(--club-ink); }
.zone-nav a {
  margin: 0 !important;
  padding: 8px 12px !important;
  border-color: var(--club-line) !important;
  border-radius: 999px !important;
  background: var(--club-white) !important;
  color: var(--club-blue-dark) !important;
  font-weight: 700;
  box-shadow: 0 2px 7px rgba(36, 50, 74, .05);
}
.zone-nav a:hover { border-color: var(--club-blue) !important; color: var(--club-blue) !important; }

.expert-box,
.alert-box,
.checklist {
  position: relative;
  padding: 20px 22px 20px 62px !important;
  margin: 24px 0 !important;
  border: 1px solid var(--club-line) !important;
  border-radius: 16px !important;
  background: var(--club-white) !important;
  box-shadow: 0 4px 14px rgba(36, 50, 74, .05);
}
.expert-box::before,
.alert-box::before,
.checklist::before {
  position: absolute;
  left: 18px;
  top: 18px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--club-yellow);
  color: var(--club-ink);
  text-align: center;
  font: 800 17px/30px Arial, sans-serif;
}
.expert-box::before { content: "✓"; }
.alert-box::before { content: "!"; }
.checklist::before { content: "✓"; }
.checklist ul { margin-top: 3px !important; }

.sidebar-block-wrapper {
  overflow: hidden;
  margin-bottom: 20px !important;
  padding: 18px !important;
  border: 1px solid var(--club-line) !important;
  border-radius: 18px !important;
  background: var(--club-grey) !important;
  box-shadow: 0 7px 20px rgba(36, 50, 74, .06) !important;
}
.sidebar-block-wrapper .head { margin: -18px -18px 18px !important; padding: 15px 18px !important; background: var(--club-blue-dark) !important; }
.sidebar-block-wrapper .head .title { margin: 0 !important; color: #fff !important; font-size: 18px !important; }
.sidebar-block-wrapper .body { padding: 0 !important; }
.sidebar-block-wrapper .body > div[style*="border-bottom"] {
  margin: 0 0 16px !important;
  padding: 17px !important;
  border: 1px solid var(--club-line) !important;
  border-radius: 14px !important;
  background: var(--club-white) !important;
}
.sidebar-block-wrapper .body .image {
  display: flex;
  min-height: 125px;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 12px;
  background: #fff;
}
.sidebar-block-wrapper .body .image img,
.sidebar-block-wrapper .body > div[style*="border-bottom"] img {
  display: block !important;
  width: auto !important;
  max-width: 220px !important;
  height: auto !important;
  max-height: 112px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}
.partner-box { padding: 17px !important; }
.partner-compact { display: block !important; text-align: center; }
.partner-compact > a {
  display: flex;
  min-height: 125px;
  align-items: center;
  justify-content: center;
  margin-bottom: 13px;
  padding: 10px;
  border-radius: 12px;
  background: #fff;
}
.partner-logo {
  width: auto !important;
  max-width: 220px !important;
  height: auto !important;
  max-height: 112px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}
.partner-line { display: block !important; font-size: 14px !important; line-height: 1.45 !important; }
.partner-link { display: block; margin-bottom: 5px; color: var(--club-blue-dark) !important; font-size: 17px; font-weight: 800 !important; }
.partner-dests-inline { display: block; color: #66717f; }
.partner-card { padding: 20px !important; border-radius: 16px !important; background: var(--club-grey) !important; }
.sidebar-category { margin-top: 10px !important; }
.sidebar-category a { color: var(--club-blue-dark) !important; }

.club-faq { margin-top: 30px; }
.club-faq details {
  margin-bottom: 11px;
  border: 1px solid var(--club-line);
  border-radius: 13px;
  background: #fff;
}
.club-faq summary {
  position: relative;
  padding: 17px 50px 17px 19px;
  color: var(--club-ink);
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.club-faq summary::-webkit-details-marker { display: none; }
.club-faq summary::after { content: "+"; position: absolute; right: 18px; top: 11px; color: var(--club-blue); font-size: 28px; }
.club-faq details[open] summary::after { content: "–"; }
.club-faq .faq-answer { padding: 0 19px 17px; line-height: 1.65; }
.seo-tags { padding: 15px 18px; border-radius: 12px; background: #eaf0f7; color: #53647a !important; font-size: 13px; }

@media (max-width: 991px) {
  .single-blog .blog-wrap { padding: 24px; }
  .single-blog .content h1 { font-size: 30px !important; }
  .sidebar-block-wrapper .body .image img,
  .sidebar-block-wrapper .body > div[style*="border-bottom"] img,
  .partner-logo { max-width: 200px !important; }
}
@media (max-width: 767px) {
  .single-blog .blog-wrap { padding: 19px; border-radius: 15px; }
  .single-blog .content h1 { font-size: 27px !important; }
  .expert-box, .alert-box, .checklist { padding: 18px 18px 18px 55px !important; }
  .post-header, .hero-post { border-radius: 13px !important; }
  .single-blog .content h2,
  .content-card h2,
  .partner-section > .section-title { padding-left: 30px !important; }
  .single-blog .content h2::before,
  .content-card h2::before,
  .partner-section > .section-title::before { width: 17px; height: 17px; border-width: 4px; }
}
