/* Modulo Accordion (Details) v2.0.3 */

.modulo-accordion{
  --ma-border: color-mix(in srgb, var(--mb-c-text) 12%, transparent);
  --ma-border-strong: color-mix(in srgb, var(--mb-c-text) 22%, transparent);
  --ma-bg: var(--mb-c-surface);
  --ma-bg2: color-mix(in srgb, var(--mb-c-text) 3.5%, transparent);
  --ma-radius: 12px;

  --ma-pad-y: 14px;
  --ma-pad-x: 14px;
  --ma-gap: 10px;

  --ma-speed: 220ms;
  --ma-ease: cubic-bezier(.2,.8,.2,1);

  --ma-title-color: inherit;
  --ma-header-bg: transparent;

  --ma-accent: currentColor;
  --ma-accent-width: 4px;
}

.modulo-accordion{ display:grid; gap: var(--ma-gap); }
.modulo-accordion.is-density-compact{ --ma-pad-y:10px; --ma-pad-x:12px; --ma-gap:8px; }
.modulo-accordion.is-density-large{ --ma-pad-y:18px; --ma-pad-x:16px; --ma-gap:12px; }

.modulo-accordion__item{
  border: 1px solid var(--ma-border);
  border-radius: var(--ma-radius);
  background: var(--ma-bg);
  overflow: clip;
  position: relative;
}

.modulo-accordion.is-variant-default .modulo-accordion__item{ box-shadow: 0 1px 0 color-mix(in srgb, var(--mb-c-shadow) 2%, transparent); }
.modulo-accordion.is-variant-boxed .modulo-accordion__item{ border-color: color-mix(in srgb, var(--mb-c-text) 16%, transparent); box-shadow: 0 10px 22px color-mix(in srgb, var(--mb-c-shadow) 6%, transparent); }
.modulo-accordion.is-variant-minimal .modulo-accordion__item{ border-left:0; border-right:0; border-radius:0; background: transparent; }

/* Summary reset (themes like Astra) */
.modulo-accordion__summary{
  list-style:none;
}
.modulo-accordion__summary::-webkit-details-marker{ display:none; }
.modulo-accordion__summary{
  appearance:none !important;
  -webkit-appearance:none !important;
  background: var(--ma-header-bg) !important;
  color: var(--ma-title-color) !important;
  border:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
  font: inherit !important;

  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: var(--ma-pad-y) var(--ma-pad-x);
  cursor:pointer;
  text-align:left;
  user-select:none;
}
.modulo-accordion__summary:hover{ background: var(--ma-bg2) !important; }
.modulo-accordion__summary:focus-visible{ outline: 2px solid color-mix(in srgb, var(--mb-c-text) 35%, transparent); outline-offset:-2px; }

.modulo-accordion.is-iconpos-left .modulo-accordion__summary{
  flex-direction: row-reverse;
  justify-content:flex-end;
}

.modulo-accordion__title{ font-weight:600; line-height:1.25; }
.modulo-accordion__icon{ width:18px; height:18px; flex:0 0 18px; position:relative; color: var(--ma-icon-color, inherit); }

/* Icon variants */
.modulo-accordion.is-icon-chevron .modulo-accordion__icon::before{
  content:"";
  position:absolute;
  inset: 4px 5px 5px 4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--ma-speed) var(--ma-ease);
}
.modulo-accordion.is-icon-caret .modulo-accordion__icon::before{
  content:"";
  position:absolute;
  left:5px; top:6px;
  width:0; height:0;
  border-left: 6px solid currentColor;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  transition: transform var(--ma-speed) var(--ma-ease);
}
.modulo-accordion.is-icon-plusminus .modulo-accordion__icon::before,
.modulo-accordion.is-icon-plusminus .modulo-accordion__icon::after{
  content:"";
  position:absolute;
  left:2px; right:2px;
  top:8px;
  height:2px;
  background: currentColor;
  border-radius:1px;
  transition: transform var(--ma-speed) var(--ma-ease), opacity var(--ma-speed) var(--ma-ease);
}
.modulo-accordion.is-icon-plusminus .modulo-accordion__icon::after{ transform: rotate(90deg); }

/* open rotations (native details) */
.modulo-accordion__item[open] .modulo-accordion__icon::before{ transform: rotate(225deg); }
.modulo-accordion.is-icon-caret .modulo-accordion__item[open] .modulo-accordion__icon::before{ transform: rotate(90deg); }
.modulo-accordion.is-icon-plusminus .modulo-accordion__item[open] .modulo-accordion__icon::after{ opacity:0; }

/* Panel */
.modulo-accordion__panel{
  display:grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--ma-speed) var(--ma-ease);
  border-top: 1px solid var(--ma-border);
  background: var(--ma-bg);
}
.modulo-accordion__panelInner{
  overflow:hidden;
  padding: 0 var(--ma-pad-x) var(--ma-pad-y);
  opacity: 1;
  transform: translateY(0);
  transition: opacity var(--ma-speed) var(--ma-ease), transform var(--ma-speed) var(--ma-ease);
}
.modulo-accordion__item[open] .modulo-accordion__panel{ grid-template-rows: 1fr; }

/* Effects */
.modulo-accordion.is-effect-fade .modulo-accordion__item:not([open]) .modulo-accordion__panelInner,
.modulo-accordion.is-effect-slide-fade .modulo-accordion__item:not([open]) .modulo-accordion__panelInner{ opacity:0; }

.modulo-accordion.is-effect-slide-fade .modulo-accordion__item:not([open]) .modulo-accordion__panelInner{ transform: translateY(-6px); }

.modulo-accordion.is-effect-none .modulo-accordion__panel,
.modulo-accordion.is-effect-none .modulo-accordion__panelInner,
.modulo-accordion.is-effect-none .modulo-accordion__icon::before,
.modulo-accordion.is-effect-none .modulo-accordion__icon::after{ transition:none !important; }

/* Extra effects */
.modulo-accordion.is-hover-shadow .modulo-accordion__item:hover{ box-shadow:0 14px 28px color-mix(in srgb, var(--mb-c-shadow) 10%, transparent); transform: translateY(-1px); }
.modulo-accordion.is-hover-glow .modulo-accordion__item:hover{ box-shadow:0 0 0 6px color-mix(in srgb, var(--mb-c-shadow) 6%, transparent); }
.modulo-accordion.is-hover-underline .modulo-accordion__summary:hover .modulo-accordion__title{ text-decoration: underline; text-underline-offset:3px; }

.modulo-accordion.is-active-bg .modulo-accordion__item[open] > .modulo-accordion__summary{ background: var(--ma-active-bg, var(--ma-bg2)) !important; }

.modulo-accordion.is-accent-left .modulo-accordion__item::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width: var(--ma-accent-width);
  background: var(--ma-accent);
  opacity:.55;
}
.modulo-accordion.is-accent-bottom .modulo-accordion__item::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:3px;
  background: var(--ma-accent);
  opacity:.55;
}

.modulo-accordion.is-border-anim .modulo-accordion__item{
  transition: border-color var(--ma-speed) var(--ma-ease), box-shadow var(--ma-speed) var(--ma-ease), transform var(--ma-speed) var(--ma-ease);
}
.modulo-accordion.is-border-anim .modulo-accordion__item:hover,
.modulo-accordion.is-border-anim .modulo-accordion__item[open]{ border-color: var(--ma-border-strong); }

/* Editor: keep blocks editable (do NOT block clicks) */
/* Editor preview: keep panels visible (live preview) */
.editor-styles-wrapper .modulo-accordion__panel{ grid-template-rows: 1fr !important; }
.editor-styles-wrapper .modulo-accordion__panelInner{ opacity: 1 !important; transform: none !important; }


/* Editor preview (v2.0.5): dedicated classes so effects CSS never collapses the content */
.modulo-accordion__panelEditor{
  display:block !important;
  border-top: 1px solid var(--ma-border);
  background: var(--ma-bg);
}
.modulo-accordion__panelInnerEditor{
  overflow: visible !important;
  padding: 12px var(--ma-pad-x) var(--ma-pad-y);
}
/* Make sure mobile editor wrappers don't hide it */
.block-editor-writing-flow .modulo-accordion__panelEditor,
.block-editor-block-list__layout .modulo-accordion__panelEditor{
  display:block !important;
}

/* ── Mode Onglets sur desktop ────────────────────────────────────────── */
@media (min-width: 601px) {
    .modulo-accordion.is-tabs-desktop {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    /* Nav onglets */
    .modulo-accordion.is-tabs-desktop .modulo-accordion__tabs-nav {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        border-bottom: 2px solid var(--ma-border);
        margin-bottom: 0;
    }

    .modulo-accordion.is-tabs-desktop .modulo-accordion__item {
        border: none;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .modulo-accordion.is-tabs-desktop .modulo-accordion__summary {
        display: none !important;
    }

    .modulo-accordion.is-tabs-desktop .modulo-accordion__panel {
        grid-template-rows: 1fr;
        border-top: none;
    }
}

@media (max-width: 600px) {
    /* Sur mobile : accordéon classique même avec is-tabs-desktop */
    .modulo-accordion.is-tabs-desktop .modulo-accordion__tabs-nav {
        display: none;
    }
    .modulo-accordion.is-tabs-desktop {
        display: grid;
        gap: var(--ma-gap);
    }
    .modulo-accordion.is-tabs-desktop .modulo-accordion__item {
        border: 1px solid var(--ma-border);
        border-radius: var(--ma-radius);
        background: var(--ma-bg);
    }
    .modulo-accordion.is-tabs-desktop .modulo-accordion__summary {
        display: flex !important;
    }
    .modulo-accordion.is-tabs-desktop .modulo-accordion__panel {
        grid-template-rows: 0fr;
    }
    .modulo-accordion.is-tabs-desktop .modulo-accordion__item[open] .modulo-accordion__panel {
        grid-template-rows: 1fr;
    }
}

/* ── Boutons de la nav onglets (desktop) ─────────────────────────────── */
@media (min-width: 601px) {
    .modulo-accordion__tab-btn {
        display: inline-flex;
        align-items: center;
        padding: 8px 16px;
        font-size: 14px;
        font-weight: 600;
        cursor: pointer;
        border: none;
        background: transparent;
        color: inherit;
        border-bottom: 2px solid transparent;
        margin-bottom: -2px;
        transition: color 0.2s, border-color 0.2s;
        white-space: nowrap;
    }
    .modulo-accordion__tab-btn:hover {
        color: var(--ma-accent, currentColor);
    }
    .modulo-accordion__tab-btn.is-active {
        color: var(--ma-accent, currentColor);
        border-bottom-color: var(--ma-accent, currentColor);
    }
    .modulo-accordion__tab-btn:focus-visible {
        outline: 2px solid var(--ma-accent, currentColor);
        outline-offset: 2px;
    }
}
