/* ============================================================
   Sidebar — encarts clairs
   ============================================================ */

.vc-sidebar {
  position: sticky;
  top: calc(var(--vc-header-height) + var(--vc-space-6));
  display: flex;
  flex-direction: column;
  gap: var(--vc-space-6);
}

/* ─── Widget générique ────────────────────────────────────── */

.vc-widget {
  background-color: var(--vc-color-surface);
  border: 1px solid var(--vc-color-border-soft);
  border-radius: var(--vc-radius-lg);
  padding: var(--vc-space-6);
  box-shadow: var(--vc-shadow-sm);
}

.vc-widget-title,
.vc-widget > h2,
.vc-widget > h3,
.vc-widget .widget-title,
.vc-widget .wp-block-heading {
  font-family: var(--vc-font-body);
  font-size: var(--vc-font-size-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--vc-tracking-wide);
  color: var(--vc-color-grey-500);
  margin-bottom: var(--vc-space-5);
  padding-bottom: var(--vc-space-3);
  border-bottom: 1px solid var(--vc-color-border-soft);
}

.vc-widget ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--vc-space-3);
}

.vc-widget li {
  margin: 0;
  font-size: var(--vc-font-size-sm);
}

.vc-widget a { color: var(--vc-color-ink); }
.vc-widget a:hover { color: var(--vc-color-accent); }

/* Listes natives WP : pas de puces, une ligne par entrée */
.vc-widget ul li::marker { content: none; }
.vc-widget .wp-block-latest-posts__list,
.vc-widget .wp-block-latest-comments,
.vc-widget .wp-block-archives,
.vc-widget .wp-block-categories {
  list-style: none;
  padding-left: 0;
}
.vc-widget .wp-block-latest-comments__comment {
  margin: 0 0 var(--vc-space-3);
  font-size: var(--vc-font-size-sm);
  line-height: var(--vc-line-height-normal);
}
.vc-widget .wp-block-latest-comments__comment-meta { color: var(--vc-color-grey-700); }

/* ─── Widget contacts ─────────────────────────────────────── */

.vc-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--vc-space-5);
}

.vc-contact-item {
  display: flex;
  flex-direction: column;
  gap: var(--vc-space-1);
  margin: 0;
}

.vc-contact-role {
  font-size: var(--vc-font-size-xs);
  text-transform: uppercase;
  letter-spacing: var(--vc-tracking-wide);
  color: var(--vc-color-grey-500);
}

.vc-contact-name {
  font-family: var(--vc-font-heading);
  font-size: var(--vc-font-size-md);
  font-weight: 500;
  letter-spacing: var(--vc-tracking-tight);
  color: var(--vc-color-ink);
}

.vc-contact-phone {
  font-size: var(--vc-font-size-sm);
  color: var(--vc-color-primary);
  text-decoration: none;
  transition: color var(--vc-duration-fast) var(--vc-ease);
}
.vc-contact-phone:hover { color: var(--vc-color-accent); }

/* ─── Widget IBAN ─────────────────────────────────────────── */

.vc-iban-label {
  font-size: var(--vc-font-size-xs);
  color: var(--vc-color-grey-500);
  text-transform: uppercase;
  letter-spacing: var(--vc-tracking-wide);
  margin-bottom: var(--vc-space-3) !important;
}

.vc-iban-code {
  display: block;
  font-family: var(--vc-font-mono);
  font-size: var(--vc-font-size-sm);
  color: var(--vc-color-primary);
  background: var(--vc-color-cream-2);
  padding: var(--vc-space-3) var(--vc-space-4);
  border-radius: var(--vc-radius-sm);
  letter-spacing: 0.06em;
  word-break: break-all;
}

/* ─── Widget documents ────────────────────────────────────── */

.vc-docs-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--vc-space-1);
}

.vc-doc-link {
  display: flex;
  align-items: center;
  gap: var(--vc-space-3);
  font-size: var(--vc-font-size-sm);
  color: var(--vc-color-grey-700);
  text-decoration: none;
  padding: var(--vc-space-3);
  border-radius: var(--vc-radius-sm);
  transition: background-color var(--vc-duration-fast) var(--vc-ease),
              color var(--vc-duration-fast) var(--vc-ease);
}
.vc-doc-link:hover {
  background: var(--vc-color-cream-2);
  color: var(--vc-color-primary);
}

.vc-doc-icon {
  flex-shrink: 0;
  font-size: var(--vc-font-size-md);
}

/* ─── Recherche ───────────────────────────────────────────── */

.vc-search-form { width: 100%; }

.vc-search-inner {
  display: flex;
  align-items: center;
  border: 1px solid var(--vc-color-border);
  border-radius: var(--vc-radius-full);
  overflow: hidden;
  background: var(--vc-color-cream);
  transition: border-color var(--vc-duration-fast) var(--vc-ease);
}
.vc-search-inner:focus-within { border-color: var(--vc-color-primary); }

.vc-search-field {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: none;
  padding: var(--vc-space-3) var(--vc-space-5);
  color: var(--vc-color-ink);
  font-family: var(--vc-font-body);
  font-size: var(--vc-font-size-sm);
  outline: none;
}
.vc-search-field::placeholder { color: var(--vc-color-grey-400); }

.vc-search-submit {
  background: transparent;
  border: none;
  padding: var(--vc-space-3) var(--vc-space-4);
  color: var(--vc-color-grey-500);
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: color var(--vc-duration-fast) var(--vc-ease);
}
.vc-search-submit:hover { color: var(--vc-color-primary); }

/* Formulaire de recherche natif WP (widget) */
.vc-widget .search-form,
.vc-widget .wp-block-search__inside-wrapper,
.vc-widget form[role="search"] {
  display: flex;
  gap: var(--vc-space-2);
  flex-wrap: nowrap;
  align-items: stretch;
}

.vc-widget input[type="search"],
.vc-widget input[type="text"] {
  flex: 1;
  min-width: 0;
  padding: var(--vc-space-3) var(--vc-space-4);
  border: 1px solid var(--vc-color-border);
  border-radius: var(--vc-radius-full);
  background: var(--vc-color-cream);
  font-family: var(--vc-font-body);
  font-size: var(--vc-font-size-sm);
  color: var(--vc-color-ink);
}

.vc-widget input[type="submit"],
.vc-widget button[type="submit"],
.vc-widget .wp-block-search__button {
  flex: 0 0 auto;
  padding: var(--vc-space-3) var(--vc-space-5);
  border: 1px solid var(--vc-color-primary);
  border-radius: var(--vc-radius-full);
  background: var(--vc-color-primary);
  color: var(--vc-color-cream);
  font-family: var(--vc-font-body);
  font-size: var(--vc-font-size-sm);
  font-weight: 500;
  cursor: pointer;
  transition: background-color var(--vc-duration-fast) var(--vc-ease),
              color var(--vc-duration-fast) var(--vc-ease);
}
.vc-widget input[type="submit"]:hover,
.vc-widget button[type="submit"]:hover,
.vc-widget .wp-block-search__button:hover {
  background: transparent;
  color: var(--vc-color-primary);
}

/* Label de recherche natif WP masqué visuellement (le placeholder suffit) */
.vc-widget .wp-block-search__label {
  display: block;
  font-family: var(--vc-font-body);
  font-size: var(--vc-font-size-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: var(--vc-tracking-wide);
  color: var(--vc-color-grey-500);
  margin-bottom: var(--vc-space-3);
}
