/* Kraft Design — Styles shortcode [kraft_projets] */
    .kraft-projets-list {
        width: 100%;
        max-width: 100%;
        --kd-nav-color: #999;
        --kd-nav-hover: #1a1a1a;
    }

    /* ── Wrapper pleine largeur + fond ─────────────── */
    .kraft-projet-outer {
        width: 100%;
    }
    .kraft-projet-outer--textured {
        background-image: var(--kd-texture-url);
        background-size: contain;
        background-position: top left;
        background-repeat: repeat;
    }

    /* ── Conteneur contraint ───────────────────────── */
    .kraft-projet-inner {
        max-width: 1280px;
        margin: 0 auto;
        padding: 0 40px;
        box-sizing: border-box;
    }

    /* ── Grille : 740px slider + 60px gap + 400px texte ── */
    .kraft-projet {
        display: grid;
        grid-template-columns: 740px 400px;
        gap: 0 60px;
        align-items: start;
        padding: 100px 0;
    }

    /* Inversé : 400px texte + 60px gap + 740px slider */
    .kraft-projet--reversed {
        grid-template-columns: 400px 740px;
    }
    .kraft-projet--reversed .kraft-projet__media { order: 2; }
    .kraft-projet--reversed .kraft-projet__content { order: 1; }

    /* ── Zone média (slider + contrôles) ───────────── */
    .kraft-projet__media {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    /* ── Slider ─────────────────────────────────────── */
    .kraft-slider {
        width: 740px;
        height: 610px;
        overflow: hidden;
        position: relative;
    }
    .kraft-slider__track {
        display: flex;
        width: 740px;
        height: 610px;
        transition: none;
        will-change: transform;
    }
    .kraft-slider__slide {
        min-width: 740px;
        width: 740px;
        height: 610px;
        flex-shrink: 0;
        overflow: hidden;
    }
    .kraft-slider__slide img {
        width: 740px;
        height: 610px;
        object-fit: cover;
        display: block;
    }
    .kraft-slider__placeholder {
        width: 740px;
        height: 610px;
        background: #e8e4df;
    }

    /* ── Contrôles : Précédent · Pause · Suivant ────── */
    .kraft-slider__controls {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 28px;
        margin-top: 20px;
    }
    .kraft-slider__btn,
    .kraft-slider__btn:hover,
    .kraft-slider__btn:focus,
    .kraft-slider__btn:active,
    .kraft-slider__btn:visited {
        background: none !important;
        background-color: transparent !important;
        border: none !important;
        box-shadow: none !important;
        outline: none !important;
        text-decoration: none !important;
        color: inherit !important;
    }
    .kraft-slider__btn {
        cursor: pointer;
        padding: 6px;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 0;
        transition: transform .15s;
        border-radius: 0 !important;
    }
    .kraft-slider__btn svg {
        width: 28px;
        height: 28px;
        display: block;
    }
    .kraft-slider__btn svg .kd-stroke {
        stroke: #294069;
        opacity: 0.35;
        transition: opacity .2s;
    }
    .kraft-slider__btn:hover svg .kd-stroke,
    .kraft-slider__btn:active svg .kd-stroke {
        opacity: 1;
    }
    .kraft-slider__btn:hover { transform: scale(1.1); }

    /* ── Contenu texte ──────────────────────────────── */
    .kraft-projet__content {
        width: 400px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .kraft-projet__titre {
        font-size: clamp(26px, 2.8vw, 40px);
        font-weight: 700;
        line-height: 1.05;
        color: #1a1a1a;
        margin: 0 0 24px;
    }
    .kraft-projet__desc {
        font-size: 15px;
        line-height: 1.75;
        color: #444;
    }
    .kraft-projet__desc p { margin: 0 0 10px; }
    .kraft-projet__desc p:last-child { margin-bottom: 0; }
    .kraft-projet__desc ul {
        list-style: none;
        padding-left: 0;
        margin: 0 0 12px;
    }
    .kraft-projet__desc ul li {
        padding-left: 14px;
        position: relative;
        margin-bottom: 2px;
        line-height: 1.5;
    }
    .kraft-projet__desc ul li::before {
        content: '•';
        position: absolute;
        left: 0;
        color: #444;
    }
    .kraft-projet__desc ol { padding-left: 20px; margin: 0 0 12px; }
    .kraft-projet__desc li { margin-bottom: 5px; }
    .kraft-projet__desc strong { font-weight: 700; color: #1a1a1a; }

    /* ── Responsive ─────────────────────────────────── */

    /* 1024–1280px : deux colonnes proportionnelles */
    @media (min-width: 1024px) and (max-width: 1280px) {
        .kraft-projet-inner { padding: 0 30px; }
        .kraft-projet { grid-template-columns: 3fr 2fr; gap: 0 40px; padding: 80px 0; align-items: start; }
        .kraft-projet--reversed { grid-template-columns: 2fr 3fr; }
        .kraft-projet__content { width: 100%; }
        .kraft-projet__media { width: 100%; }
        .kraft-slider {
            width: 100% !important;
            height: auto !important;
            aspect-ratio: 740 / 610;
        }
        .kraft-slider__track {
            width: 100% !important;
            height: 100% !important;
        }
        .kraft-slider__slide {
            min-width: 100% !important;
            width: 100% !important;
            height: 100% !important;
        }
        .kraft-slider__slide img {
            width: 100% !important;
            min-width: 100% !important;
            height: 100% !important;
        }
        .kraft-slider__placeholder {
            width: 100% !important;
            height: auto !important;
            aspect-ratio: 740 / 610;
        }
    }

    /* < 1024px : colonne unique */
    @media (max-width: 1023px) {
        .kraft-projet-inner { padding: 0 30px; }
        .kraft-projet {
            grid-template-columns: 1fr;
            gap: 0;
            padding: 60px 0;
        }
        .kraft-projet__content { width: 100%; padding-top: 32px; }
        .kraft-projet__media { width: 100%; }
        .kraft-slider {
            width: 100% !important;
            height: auto !important;
            aspect-ratio: 740 / 610;
        }
        .kraft-slider__track {
            width: 100% !important;
            height: 100% !important;
        }
        .kraft-slider__slide {
            min-width: 100% !important;
            width: 100% !important;
            height: 100% !important;
        }
        .kraft-slider__slide img {
            width: 100% !important;
            min-width: 100% !important;
            height: 100% !important;
        }
        .kraft-slider__placeholder {
            width: 100% !important;
            height: auto !important;
            aspect-ratio: 740 / 610;
        }
        .kraft-projet--reversed .kraft-projet__media { order: unset; }
        .kraft-projet--reversed .kraft-projet__content { order: unset; }
    }
    @media (max-width: 900px) {
        .kraft-projet {
            grid-template-columns: 1fr;
            gap: 0;
            padding: 40px 0;
        }
        .kraft-projet--reversed .kraft-projet__media,
        .kraft-projet--reversed .kraft-projet__content { order: unset; }
        .kraft-slider,
        .kraft-slider__track,
        .kraft-slider__placeholder { width: 100%; height: 300px; }
        .kraft-slider__slide,
        .kraft-slider__slide img { width: 100%; min-width: 100%; height: 300px; }
        .kraft-projet__content { width: 100%; padding-top: 32px; }
    }
    @media (max-width: 600px) {
        .kraft-projet-inner { padding: 0 20px; }
        .kraft-slider,
        .kraft-slider__track,
        .kraft-slider__placeholder { height: 240px; }
        .kraft-slider__slide,
        .kraft-slider__slide img { height: 240px; }
    }

/* Liens dans les blocs projets : souligné fin, couleur du texte (Soutien WP, 2026-09-14) */
.kraft-projet__desc a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.kraft-projet__desc a:hover {
  text-decoration-thickness: 2px;
}
/* L'ancre #projet-<slug> ne passe pas sous l'en-tête fixe */
.kraft-projet-outer {
  scroll-margin-top: 120px;
}
