/* Implant & Technology — Catalogue produits
   Présentation par grande catégorie : une image de catégorie, puis
   la déclinaison cliquable de tous les produits sans image produit. */

.itcat-catalogue {
    --itcat-bg-soft: #eff6fb;
    --itcat-bg-card: #ffffff;
    --itcat-border: #dbe6f0;
    --itcat-title: #071b33;
    --itcat-copy: #667085;
    --itcat-accent: #0a4d8f;
    --itcat-accent-soft: #e8f1fb;
    --itcat-shadow: 0 18px 42px rgba(8, 33, 61, 0.08);
    max-width: 1240px;
    margin: 0 auto;
    padding: 24px 24px 72px;
    background: var(--itcat-catalogue-bg, #ffffff);
    /* Le réglage de bordure concerne uniquement les blocs catégories.
       Le conteneur général ne doit jamais avoir de cadre. */
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none;
}

.itcat-intro {
    max-width: 780px;
    margin: 0 auto 36px;
    text-align: center;
}

.itcat-intro-kicker {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--itcat-accent);
}

.itcat-intro-text {
    margin: 0;
    color: var(--itcat-copy);
    font-size: 18px;
    line-height: 1.7;
}

.itcat-intro-text p {
    margin: 0;
}

.itcat-empty {
    padding: 32px;
    border-radius: 20px;
    background: var(--itcat-panel-bg, var(--itcat-bg-card));
    border: var(--itcat-border-width, 1px) solid var(--itcat-config-border, var(--itcat-border));
    color: var(--itcat-copy);
}

.itcat-cat-sections {
    display: flex;
    flex-direction: column;
    gap: var(--itcat-category-gap, 36px);
}

.itcat-cat-section {
    background: var(--itcat-section-bg, #f4f9fd);
    border: var(--itcat-border-width, 1px) solid var(--itcat-config-border, #dbe6f0);
    border-radius: var(--itcat-radius, 28px);
    box-shadow: var(--itcat-config-shadow, var(--itcat-shadow));
    overflow: hidden;
}

.itcat-cat-shell {
    display: grid;
    grid-template-columns: minmax(180px, var(--itcat-image-column, 320px)) minmax(0, 1fr);
    align-items: stretch;
}

.itcat-cat-visual {
    background:
        radial-gradient(circle at top right, rgba(35, 183, 217, 0.22), transparent 38%),
        linear-gradient(180deg, var(--itcat-image-bg, #e7f0f8) 0%, var(--itcat-image-bg, #e7f0f8) 100%);
    border-right: 1px solid rgba(18, 73, 116, 0.08);
    min-height: 100%;
    display: flex;
    align-items: var(--itcat-image-align, flex-start);
    justify-content: var(--itcat-image-justify, flex-start);
    padding: 28px;
}

.itcat-cat-visual img {
    display: block;
    width: min(100%, 250px);
    max-height: var(--itcat-image-max-height, 250px);
    object-fit: contain;
    border-radius: var(--itcat-image-radius, 18px);
    overflow: hidden;
    filter: drop-shadow(0 18px 34px rgba(8, 33, 61, 0.16));
}

.itcat-cat-visual-placeholder {
    width: 160px;
    height: 160px;
    border-radius: 26px;
    background: linear-gradient(135deg, #d8e8f7, #f8fbfe);
    box-shadow: inset 0 0 0 1px rgba(18, 73, 116, 0.08);
}

.itcat-cat-content {
    padding: 34px 36px 36px;
}

.itcat-cat-header {
    margin-bottom: 24px;
}

.itcat-catalogue-no-category-title .itcat-cat-header {
    margin-bottom: 16px;
}

.itcat-cat-count-without-title {
    margin-top: 0;
}

.itcat-cat-meta {
    max-width: 760px;
}

.itcat-cat-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--itcat-accent-soft);
    color: var(--itcat-accent);
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.itcat-cat-title {
    margin: 0;
    font-size: 34px;
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--itcat-title);
}

.itcat-cat-count {
    margin: 10px 0 0;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 600;
    color: var(--itcat-copy);
}

.itcat-cat-panel {
    padding: 22px 24px;
    border-radius: 22px;
    background: var(--itcat-bg-card);
    border: 1px solid var(--itcat-border);
}

.itcat-subgroups-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}

.itcat-cat-panel-subgroup {
    height: 100%;
}

.itcat-subgroups-grid > :only-child {
    max-width: 560px;
}

.itcat-cat-subgroup-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(18, 73, 116, 0.08);
}

.itcat-cat-subgroup-label {
    margin: 0;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--itcat-accent);
}

.itcat-cat-subgroup-count {
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--itcat-copy);
}

.itcat-product-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
}

.itcat-cat-panel-subgroup .itcat-product-list {
    grid-template-columns: 1fr;
}

.itcat-product-list-item {
    margin: 0;
}

.itcat-product-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 100%;
    padding: 16px 18px;
    border-radius: 16px;
    background: var(--itcat-item-bg, #f8fbfd);
    border: 1px solid rgba(18, 73, 116, 0.08);
    color: inherit;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.itcat-product-link:hover,
.itcat-product-link:focus-visible {
    transform: translateY(-2px);
    background: #ffffff;
    border-color: rgba(10, 77, 143, 0.22);
    box-shadow: 0 12px 24px rgba(8, 33, 61, 0.08);
    outline: none;
}

.itcat-product-link-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.itcat-product-link-brand {
    display: inline-block;
    font-size: 10.5px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--itcat-accent);
}

.itcat-product-link-title {
    font-size: 16px;
    line-height: 1.42;
    font-weight: 700;
    color: var(--itcat-title);
    overflow-wrap: anywhere;
}

.itcat-product-link-arrow {
    flex: 0 0 auto;
    font-size: 20px;
    line-height: 1;
    color: var(--itcat-accent);
    transition: transform 0.18s ease;
}

.itcat-product-link:hover .itcat-product-link-arrow,
.itcat-product-link:focus-visible .itcat-product-link-arrow {
    transform: translateX(2px);
}


.itcat-catalogue-no-images .itcat-cat-shell {
    grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 1040px) {
    .itcat-catalogue {
        padding-left: 20px;
        padding-right: 20px;
    }

    .itcat-cat-shell {
        grid-template-columns: 260px minmax(0, 1fr);
    }

    .itcat-cat-content {
        padding: 30px;
    }

    .itcat-cat-title {
        font-size: 30px;
    }
}

@media (max-width: 860px) {
    .itcat-cat-shell {
        grid-template-columns: 1fr;
    }

    .itcat-cat-visual {
        border-right: 0;
        border-bottom: 1px solid rgba(18, 73, 116, 0.08);
        padding: 28px 24px;
    }

    .itcat-cat-visual img {
        max-height: 220px;
    }

    .itcat-product-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .itcat-catalogue {
        padding: 18px 16px 54px;
    }

    .itcat-intro {
        text-align: left;
        margin-bottom: 24px;
    }

    .itcat-intro-text {
        font-size: 16px;
    }

    .itcat-cat-section {
        border-radius: 22px;
    }

    .itcat-cat-content {
        padding: 22px 18px 20px;
    }

    .itcat-cat-title {
        font-size: 26px;
    }

    .itcat-cat-panel {
        padding: 16px;
        border-radius: 18px;
    }

    .itcat-subgroups-grid {
        grid-template-columns: 1fr;
    }

    .itcat-cat-subgroup-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .itcat-product-link {
        padding: 14px 14px;
    }

    .itcat-product-link-title {
        font-size: 15px;
    }
}

/* Fiche produit individuelle */
.itcat-single-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 40px 24px 90px;
}

.itcat-container {
    width: 100%;
}

.itcat-breadcrumb {
    margin: 0 0 28px;
    color: #667085;
    font-size: 14px;
}

.itcat-breadcrumb a {
    color: #667085;
    text-decoration: none;
}

.itcat-breadcrumb a:hover {
    color: #0a4d8f;
}

.itcat-breadcrumb span {
    margin: 0 8px;
}

.itcat-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}

.itcat-media img {
    width: 100%;
    height: auto;
    border-radius: 24px;
    border: 1px solid #e6eaf0;
    background: linear-gradient(135deg, #eaf4ff, #ffffff);
}

.itcat-media-placeholder {
    aspect-ratio: 16 / 10;
    border-radius: 24px;
    border: 1px solid #e6eaf0;
    background: linear-gradient(135deg, #eaf4ff, #ffffff);
}

.itcat-eyebrow {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #0a4d8f;
}

.itcat-title {
    margin: 0;
    font-size: 34px;
    line-height: 1.15;
    color: #071b33;
}

.itcat-subtitle {
    margin: 10px 0 0;
    font-size: 19px;
    color: #667085;
}

.itcat-description {
    margin-top: 22px;
    font-size: 17px;
    line-height: 1.7;
    color: #172033;
}

.itcat-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin: 28px 0 0;
    padding: 18px 0;
    border-top: 1px solid #e6eaf0;
    border-bottom: 1px solid #e6eaf0;
}

.itcat-meta dt {
    margin: 0 0 4px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #667085;
}

.itcat-meta dd {
    margin: 0;
    font-weight: 700;
    color: #071b33;
}

.itcat-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.itcat-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 22px;
    border-radius: 999px;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.itcat-btn:hover {
    transform: translateY(-2px);
}

.itcat-btn-primary {
    color: white;
    background: linear-gradient(135deg, #0d5da9, #062d55);
    box-shadow: 0 16px 36px rgba(10, 77, 143, 0.24);
}

.itcat-btn-outline {
    color: #071b33;
    background: #ffffff;
    border: 1px solid rgba(166, 188, 211, 0.55);
    box-shadow: 0 8px 24px rgba(7, 27, 51, 0.06);
}

.itcat-related {
    margin-top: 70px;
    padding-top: 40px;
    border-top: 1px solid #e6eaf0;
}

.itcat-related h2 {
    margin: 0 0 18px;
    color: #071b33;
}

.itcat-related .itcat-list {
    max-width: 480px;
}

@media (max-width: 780px) {
    .itcat-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .itcat-title {
        font-size: 28px;
    }
}


/* Version 1.11 — mode Page libre Spectra
   Ce mode garde un en-tête produit cohérent, puis laisse le contenu
   Gutenberg/Spectra s'afficher en pleine largeur. */
.itcat-spectra-header {
    margin: 0 0 36px;
    padding: 42px 44px;
    border-radius: 28px;
    border: 1px solid rgba(166, 188, 211, 0.55);
    background: linear-gradient(135deg, #eef8ff 0%, #ffffff 58%, #e9f7fb 100%);
    box-shadow: 0 22px 60px rgba(7, 27, 51, 0.06);
}

.itcat-spectra-header .itcat-title {
    max-width: 900px;
}

.itcat-spectra-header .itcat-subtitle {
    max-width: 760px;
}

.itcat-spectra-meta-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 22px;
    margin-top: 28px;
}

.itcat-meta-compact {
    margin: 0;
    padding: 0;
    border: 0;
}

.itcat-spectra-content {
    width: 100%;
}

.itcat-spectra-content > *:first-child {
    margin-top: 0;
}

.itcat-spectra-content img,
.itcat-spectra-content video,
.itcat-spectra-content iframe {
    max-width: 100%;
}

@media (max-width: 780px) {
    .itcat-spectra-header {
        padding: 30px 24px;
        border-radius: 22px;
    }

    .itcat-spectra-meta-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Version 1.12 — blocs de départ pour les pages produits éditables */
.itcat-spectra-content .itcat-editor-starter-hero,
.itcat-spectra-content .itcat-editor-starter-section,
.itcat-spectra-content .itcat-editor-starter-media {
    max-width: 1160px;
    margin-left: auto;
    margin-right: auto;
    padding: 56px 24px;
}
.itcat-spectra-content .itcat-editor-starter-section {
    background: #f6fbff;
    border: 1px solid rgba(0, 84, 140, .12);
    border-radius: 28px;
    margin-top: 28px;
    margin-bottom: 28px;
}
.itcat-spectra-content .itcat-editor-starter-media {
    padding-bottom: 90px;
}

/* Version 1.14 — vraie page libre : en mode Spectra, on ne mélange plus
   le gabarit automatique PHP avec les blocs éditables. */
.itcat-spectra-full {
    max-width: none;
    width: 100%;
}
.itcat-spectra-full > .wp-block-group,
.itcat-spectra-full > .wp-block-columns,
.itcat-spectra-full > .wp-block-cover,
.itcat-spectra-full > .wp-block-media-text,
.itcat-spectra-full > .uagb-container {
    margin-left: auto;
    margin-right: auto;
}
.itcat-spectra-full .wp-block-post-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: inherit;
    background: linear-gradient(135deg, #eef8ff 0%, #ffffff 100%);
    border: 1px solid rgba(166,188,211,.45);
}

/* v1.16 — pages complémentaires parent/enfant */
.itcat-child-pages{
    margin-top: clamp(32px, 5vw, 64px);
    padding: clamp(24px, 4vw, 42px);
    border: 1px solid rgba(18, 73, 116, .12);
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(245, 249, 255, .98), rgba(255, 255, 255, .98));
    box-shadow: 0 18px 45px rgba(8, 35, 61, .08);
}
.itcat-child-pages h2{
    margin: 0 0 22px;
    color: #092b4c;
    font-size: clamp(1.45rem, 2.4vw, 2rem);
}
.itcat-child-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.itcat-child-card{
    display: flex;
    flex-direction: column;
    min-height: 150px;
    padding: 22px;
    border: 1px solid rgba(18, 73, 116, .12);
    border-radius: 20px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.itcat-child-card:hover{
    transform: translateY(-3px);
    border-color: rgba(0, 126, 190, .32);
    box-shadow: 0 18px 35px rgba(8, 35, 61, .12);
}
.itcat-child-title{
    display: block;
    margin-bottom: 10px;
    color: #082b4b;
    font-weight: 800;
    font-size: 1.05rem;
}
.itcat-child-excerpt{
    display: block;
    color: #607184;
    line-height: 1.55;
}
.itcat-child-link{
    margin-top: auto;
    padding-top: 18px;
    color: #007cba;
    font-weight: 800;
}
@media (max-width: 900px){
    .itcat-child-grid{ grid-template-columns: 1fr; }
}

/* v1.17 — modèle de départ plus complet pour les fiches produit éditables */
.itcat-spectra-content .itcat-editor-starter-v17{
    max-width: 1180px;
    margin: 0 auto clamp(24px, 4vw, 44px);
    padding: clamp(34px, 5vw, 72px) clamp(22px, 4vw, 46px);
    border-radius: 34px;
    background: linear-gradient(135deg, #eef8ff 0%, #ffffff 48%, #eaf7ff 100%);
    border: 1px solid rgba(0, 91, 150, .12);
    box-shadow: 0 24px 70px rgba(8, 35, 61, .10);
}
.itcat-spectra-content .itcat-starter-eyebrow{
    margin: 0 0 12px;
    color: #007cba;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
    font-size: .78rem;
}
.itcat-spectra-content .itcat-starter-main-title{
    margin: 0 0 18px;
    color: #062945;
    font-size: clamp(2.25rem, 5vw, 4.6rem);
    line-height: .96;
    letter-spacing: -.04em;
}
.itcat-spectra-content .itcat-starter-lead{
    color: #496375;
    font-size: clamp(1.08rem, 1.6vw, 1.25rem);
    line-height: 1.65;
}
.itcat-spectra-content .itcat-starter-dark-section{
    max-width: 1180px;
    margin: clamp(26px, 5vw, 54px) auto;
    padding: clamp(34px, 5vw, 64px);
    border-radius: 34px;
    color: #eaf6ff;
    background: radial-gradient(circle at top right, rgba(0, 151, 220, .34), transparent 38%), linear-gradient(135deg, #061d31 0%, #0b3554 100%);
    box-shadow: 0 28px 70px rgba(5, 25, 43, .22);
}
.itcat-spectra-content .itcat-starter-dark-section h2,
.itcat-spectra-content .itcat-starter-dark-section h3{
    color: #fff;
}
.itcat-spectra-content .itcat-starter-dark-section p,
.itcat-spectra-content .itcat-starter-dark-section li{
    color: rgba(234,246,255,.86);
}
.itcat-spectra-content .itcat-starter-image-placeholder{
    min-height: 320px;
    border-radius: 28px;
    border: 1px dashed rgba(255,255,255,.35);
    background: rgba(255,255,255,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.itcat-spectra-content .itcat-starter-image-placeholder:empty::before,
.itcat-spectra-content .itcat-starter-image-placeholder img[src=""]::before{
    content: "Ajouter une image";
}
.itcat-spectra-content .itcat-starter-benefits{
    max-width: 1180px;
    padding: clamp(30px, 5vw, 56px);
    background: #f7fbff;
    border: 1px solid rgba(0, 91, 150, .12);
    border-radius: 30px;
}
.itcat-spectra-content .itcat-starter-card-grid > .wp-block-column{
    padding: 24px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(0, 91, 150, .10);
    box-shadow: 0 14px 34px rgba(8,35,61,.06);
}
.itcat-spectra-content .itcat-starter-card-grid h3{
    color: #007cba;
    font-size: 1.55rem;
}
.itcat-spectra-content .itcat-starter-applications,
.itcat-spectra-content .itcat-starter-media-docs,
.itcat-spectra-content .itcat-starter-final-cta{
    max-width: 1180px;
    margin: clamp(24px, 4vw, 44px) auto;
    padding: clamp(30px, 5vw, 56px);
    border-radius: 30px;
    border: 1px solid rgba(0, 91, 150, .10);
    background: #fff;
    box-shadow: 0 16px 44px rgba(8,35,61,.06);
}
.itcat-spectra-content .itcat-starter-final-cta{
    background: linear-gradient(135deg, #0b3554 0%, #007cba 100%);
    color: #fff;
}
.itcat-spectra-content .itcat-starter-final-cta h2,
.itcat-spectra-content .itcat-starter-final-cta p{
    color: #fff;
}
@media (max-width: 780px){
    .itcat-spectra-content .itcat-editor-starter-v17,
    .itcat-spectra-content .itcat-starter-dark-section,
    .itcat-spectra-content .itcat-starter-benefits,
    .itcat-spectra-content .itcat-starter-applications,
    .itcat-spectra-content .itcat-starter-media-docs,
    .itcat-spectra-content .itcat-starter-final-cta{
        border-radius: 22px;
    }
}

/* v29 : texte d’introduction éditable depuis Produits > Réglages */
.itcat-intro-text p {
    margin: 0 0 0.65em;
}

.itcat-intro-text p:last-child {
    margin-bottom: 0;
}

.itcat-intro-text a {
    color: #0a4d8f;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* v1.40 — Import IA premium : vraie page produit en pleine largeur */
.itcat-single-wrap:has(.itcat-ai-page) {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.itcat-single-wrap:has(.itcat-ai-page) .itcat-container {
    max-width: none;
}

.itcat-spectra-full .itcat-ai-page,
.itcat-spectra-full .itcat-ai-section {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.itcat-ai-page {
    padding: 34px 24px 54px;
}

.itcat-ai-hero {
    gap: 54px;
    align-items: center;
}

.itcat-ai-featured img,
.itcat-ai-hero .wp-block-post-featured-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 30px;
    background: linear-gradient(135deg, #edf7ff, #ffffff);
    border: 1px solid #dce9f6;
}

.itcat-ai-eyebrow {
    margin: 0 0 10px;
    color: #0a6fb4;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.itcat-ai-title {
    margin: 0;
    color: #071b33;
    font-size: clamp(42px, 5vw, 72px);
    line-height: 0.96;
    letter-spacing: -0.06em;
}

.itcat-ai-subtitle {
    margin: 18px 0 0;
    color: #0f355c;
    font-size: clamp(22px, 2.2vw, 34px);
    line-height: 1.15;
    letter-spacing: -0.035em;
}

.itcat-ai-lead {
    margin-top: 22px;
    max-width: 680px;
    color: #51667d;
    font-size: 18px;
    line-height: 1.75;
}

.itcat-ai-lead p {
    margin: 0 0 12px;
}

.itcat-ai-buttons {
    margin-top: 26px;
}

.itcat-ai-section {
    padding: 58px 24px;
    border-top: 1px solid rgba(7, 27, 51, 0.08);
}

.itcat-ai-section > h2 {
    max-width: 820px;
    margin: 0 0 22px;
    color: #071b33;
    font-size: clamp(30px, 3.2vw, 48px);
    line-height: 1.05;
    letter-spacing: -0.045em;
}

.itcat-ai-section > p {
    max-width: 860px;
    color: #51667d;
    font-size: 17px;
    line-height: 1.75;
}

.itcat-ai-section h3 {
    margin-top: 28px;
    margin-bottom: 10px;
    color: #0f355c;
    font-size: 21px;
    line-height: 1.25;
}

.itcat-ai-section ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 22px;
    max-width: 960px;
    margin-top: 18px;
}

.itcat-ai-section li {
    margin: 0;
    padding: 14px 16px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid #e4edf6;
    box-shadow: 0 10px 28px rgba(7, 27, 51, 0.05);
    color: #23384f;
}

.itcat-ai-section-soft {
    max-width: none !important;
    background: linear-gradient(135deg, #f4f9ff, #ffffff);
}

.itcat-ai-section-soft > * {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.itcat-ai-keycards {
    padding-top: 52px;
    padding-bottom: 52px;
}

.itcat-ai-card-grid {
    gap: 18px;
}

.itcat-ai-card-grid .wp-block-column {
    padding: 24px;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #e4edf6;
    box-shadow: 0 18px 44px rgba(7, 27, 51, 0.07);
}

.itcat-ai-card-grid h3 {
    margin: 0;
    color: #0f355c;
    font-size: 18px;
    line-height: 1.25;
}

@media (max-width: 900px) {
    .itcat-ai-hero {
        gap: 28px;
    }

    .itcat-ai-section ul {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .itcat-ai-page,
    .itcat-ai-section {
        padding-left: 18px;
        padding-right: 18px;
    }

    .itcat-ai-title {
        font-size: 40px;
    }

    .itcat-ai-lead,
    .itcat-ai-section > p {
        font-size: 16px;
    }
}


/* v1.41 — Import Pack Produit IA illustré */
.itcat-single-wrap:has(.itcat-pack-page) {
    max-width: none;
    padding: 0 0 90px;
}

.itcat-single-wrap:has(.itcat-pack-page) .itcat-container {
    max-width: none;
}

.itcat-spectra-full .itcat-pack-page,
.itcat-spectra-full .itcat-pack-section,
.itcat-spectra-full .itcat-pack-final-cta {
    max-width: none;
}

.itcat-pack-hero {
    padding: 54px 24px 68px;
    background:
        radial-gradient(circle at 18% 12%, rgba(44, 181, 232, .18), transparent 34%),
        linear-gradient(135deg, #06172b 0%, #092542 52%, #071b33 100%);
    color: #fff;
}

.itcat-pack-hero-columns,
.itcat-pack-overview > .wp-block-columns,
.itcat-pack-features > .wp-block-columns {
    max-width: 1180px;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: 54px;
}

.itcat-pack-eyebrow {
    margin: 0 0 10px;
    color: #e43649;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .14em;
}

.itcat-pack-title {
    margin: 0;
    color: #fff;
    font-size: clamp(42px, 5vw, 76px);
    line-height: .95;
    letter-spacing: -.06em;
}

.itcat-pack-subtitle {
    margin: 18px 0 0;
    color: rgba(255,255,255,.88);
    font-size: clamp(22px, 2.2vw, 34px);
    line-height: 1.14;
}

.itcat-pack-lead {
    margin-top: 22px;
    max-width: 680px;
    color: rgba(255,255,255,.78);
    font-size: 18px;
    line-height: 1.7;
}

.itcat-pack-hero-bullets ul {
    margin-top: 18px;
    color: rgba(255,255,255,.9);
}

.itcat-pack-hero-bullets li {
    margin-bottom: 8px;
}

.itcat-pack-buttons {
    margin-top: 26px;
}

.itcat-pack-hero-img img {
    width: 100%;
    border-radius: 28px;
    box-shadow: 0 28px 70px rgba(0,0,0,.35);
    background: #fff;
    object-fit: cover;
}

.itcat-pack-section {
    padding: 66px 24px;
}

.itcat-pack-section > h2,
.itcat-pack-section > .wp-block-heading,
.itcat-pack-section > p,
.itcat-pack-benefits > *,
.itcat-pack-gallery-section > *,
.itcat-pack-steps-section > *,
.itcat-pack-docs-section > *,
.itcat-pack-final-cta > * {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}

.itcat-pack-overview {
    background: linear-gradient(135deg, #f2f8ff, #ffffff);
}

.itcat-pack-section h2 {
    color: #071b33;
    font-size: clamp(32px, 3.4vw, 54px);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.itcat-pack-section p {
    color: #4d647c;
    font-size: 17px;
    line-height: 1.75;
}

.itcat-pack-rounded-img img {
    width: 100%;
    border-radius: 28px;
    background: #fff;
    border: 1px solid #e3edf7;
    box-shadow: 0 22px 60px rgba(7,27,51,.08);
}

.itcat-pack-benefits {
    background: #fff;
}

.itcat-pack-card-grid {
    max-width: 1180px;
    margin: 30px auto 0 !important;
    gap: 20px;
}

.itcat-pack-card {
    padding: 26px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #e3edf7;
    box-shadow: 0 20px 48px rgba(7,27,51,.08);
}

.itcat-pack-card h3 {
    margin-top: 0;
    color: #092542;
    font-size: 22px;
}

.itcat-pack-card li {
    color: #4d647c;
}

.itcat-pack-features {
    background: linear-gradient(135deg, #f8fbff, #ffffff);
}

.itcat-pack-feature-item {
    position: relative;
    margin: 0 0 16px;
    padding-left: 26px;
}

.itcat-pack-feature-item::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #e43649;
    font-weight: 900;
}

.itcat-pack-feature-item strong {
    display: block;
    color: #071b33;
    font-size: 16px;
}

.itcat-pack-feature-item p {
    margin: 4px 0 0;
    font-size: 14px;
    line-height: 1.45;
}

.itcat-pack-gallery,
.itcat-pack-steps,
.itcat-pack-docs {
    max-width: 1180px;
    margin: 30px auto 0;
    display: grid;
    gap: 20px;
}

.itcat-pack-gallery {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.itcat-pack-steps {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.itcat-pack-docs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.itcat-pack-gallery-card,
.itcat-pack-step,
.itcat-pack-doc-card {
    padding: 14px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #e3edf7;
    box-shadow: 0 16px 38px rgba(7,27,51,.07);
}

.itcat-pack-gallery-card figure,
.itcat-pack-step figure {
    margin: 0 0 14px;
}

.itcat-pack-gallery-img img,
.itcat-pack-step-img img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 16px;
}

.itcat-pack-gallery-card h3,
.itcat-pack-step h3 {
    margin: 0 0 8px;
    color: #071b33;
    font-size: 16px;
    line-height: 1.2;
}

.itcat-pack-gallery-card p,
.itcat-pack-step p {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
}

.itcat-pack-step span {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    border-radius: 999px;
    color: #fff;
    background: #0a4d8f;
    font-weight: 900;
}

.itcat-pack-doc-card {
    display: block;
    padding: 24px;
    text-decoration: none;
    color: inherit;
}

.itcat-pack-doc-card strong {
    display: block;
    color: #071b33;
    font-size: 18px;
    margin-bottom: 8px;
}

.itcat-pack-doc-card span {
    display: block;
    color: #4d647c;
    margin-bottom: 14px;
}

.itcat-pack-doc-card em {
    color: #0a4d8f;
    font-style: normal;
    font-weight: 800;
}

.itcat-pack-final-cta {
    max-width: 1180px !important;
    margin: 40px auto 0;
    padding: 36px;
    border-radius: 28px;
    background: linear-gradient(135deg, #071b33, #0a3158);
    color: #fff;
}

.itcat-pack-final-cta h2 {
    color: #fff;
    margin-top: 0;
}

.itcat-pack-final-cta p {
    color: rgba(255,255,255,.82);
}

@media (max-width: 1080px) {
    .itcat-pack-gallery,
    .itcat-pack-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .itcat-pack-docs {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .itcat-pack-hero,
    .itcat-pack-section {
        padding-left: 18px;
        padding-right: 18px;
    }

    .itcat-pack-gallery,
    .itcat-pack-steps {
        grid-template-columns: 1fr;
    }

    .itcat-pack-title {
        font-size: 42px;
    }
}


/* ============================================================
   v1.42 — Contrastes automatiques pour Import Pack IA
   Objectif : texte lisible automatiquement sur fonds foncés
   ============================================================ */

/* HERO FONCÉ */
.itcat-pack-hero,
.itcat-pack-hero * {
    color-scheme: dark;
}

.itcat-pack-hero .itcat-pack-title,
.itcat-pack-hero h1,
.itcat-pack-hero h2,
.itcat-pack-hero h3,
.itcat-pack-hero strong,
.itcat-pack-hero b {
    color: #f4f8ff !important;
}

.itcat-pack-hero .itcat-pack-subtitle,
.itcat-pack-hero .itcat-pack-lead,
.itcat-pack-hero .itcat-pack-lead p,
.itcat-pack-hero p,
.itcat-pack-hero li {
    color: rgba(244, 248, 255, 0.86) !important;
}

.itcat-pack-hero .itcat-pack-eyebrow {
    color: #ff4d64 !important;
}

.itcat-pack-hero a:not(.wp-block-button__link) {
    color: #ffffff !important;
}

.itcat-pack-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.itcat-pack-hero .wp-block-button__link:not(.has-background) {
    color: #ffffff !important;
    background: linear-gradient(135deg, #0879d8, #0a5ea8) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
}

.itcat-pack-hero .wp-block-button.is-style-outline .wp-block-button__link {
    color: #071b33 !important;
    background: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
}

/* BANDEAU CTA FONCÉ */
.itcat-pack-final-cta,
.itcat-pack-final-cta * {
    color-scheme: dark;
}

.itcat-pack-final-cta h1,
.itcat-pack-final-cta h2,
.itcat-pack-final-cta h3,
.itcat-pack-final-cta strong,
.itcat-pack-final-cta b {
    color: #ffffff !important;
}

.itcat-pack-final-cta p,
.itcat-pack-final-cta li,
.itcat-pack-final-cta span {
    color: rgba(255, 255, 255, 0.86) !important;
}

.itcat-pack-final-cta .wp-block-button__link {
    color: #ffffff !important;
    background: linear-gradient(135deg, #0879d8, #0a5ea8) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
}

/* FOOTER / ZONES FONCÉES DU THÈME QUAND UTILISÉES DANS UNE FICHE IMPORTÉE */
body.single-it_product .site-footer,
body.single-it_product footer,
body.single-it_product .it-footer,
body.single-it_product .implanttech-footer {
    color-scheme: dark;
}

body.single-it_product .site-footer h1,
body.single-it_product .site-footer h2,
body.single-it_product .site-footer h3,
body.single-it_product .site-footer h4,
body.single-it_product .site-footer strong,
body.single-it_product footer h1,
body.single-it_product footer h2,
body.single-it_product footer h3,
body.single-it_product footer h4,
body.single-it_product footer strong,
body.single-it_product .it-footer h1,
body.single-it_product .it-footer h2,
body.single-it_product .it-footer h3,
body.single-it_product .it-footer h4,
body.single-it_product .it-footer strong,
body.single-it_product .implanttech-footer h1,
body.single-it_product .implanttech-footer h2,
body.single-it_product .implanttech-footer h3,
body.single-it_product .implanttech-footer h4,
body.single-it_product .implanttech-footer strong {
    color: #f4f8ff !important;
}

body.single-it_product .site-footer p,
body.single-it_product .site-footer li,
body.single-it_product .site-footer a,
body.single-it_product .site-footer span,
body.single-it_product footer p,
body.single-it_product footer li,
body.single-it_product footer a,
body.single-it_product footer span,
body.single-it_product .it-footer p,
body.single-it_product .it-footer li,
body.single-it_product .it-footer a,
body.single-it_product .it-footer span,
body.single-it_product .implanttech-footer p,
body.single-it_product .implanttech-footer li,
body.single-it_product .implanttech-footer a,
body.single-it_product .implanttech-footer span {
    color: rgba(244, 248, 255, 0.76) !important;
}

/* SECTIONS CLAIRES : on force l'inverse pour éviter le texte trop pâle */
.itcat-pack-section:not(.itcat-pack-final-cta),
.itcat-pack-overview,
.itcat-pack-benefits,
.itcat-pack-features,
.itcat-pack-gallery-section,
.itcat-pack-steps-section,
.itcat-pack-docs-section {
    color-scheme: light;
}

.itcat-pack-section:not(.itcat-pack-final-cta) h1,
.itcat-pack-section:not(.itcat-pack-final-cta) h2,
.itcat-pack-section:not(.itcat-pack-final-cta) h3,
.itcat-pack-section:not(.itcat-pack-final-cta) h4,
.itcat-pack-section:not(.itcat-pack-final-cta) strong,
.itcat-pack-section:not(.itcat-pack-final-cta) b,
.itcat-pack-gallery-card h3,
.itcat-pack-step h3,
.itcat-pack-doc-card strong {
    color: #071b33 !important;
}

.itcat-pack-section:not(.itcat-pack-final-cta) p,
.itcat-pack-section:not(.itcat-pack-final-cta) li,
.itcat-pack-section:not(.itcat-pack-final-cta) span,
.itcat-pack-gallery-card p,
.itcat-pack-step p,
.itcat-pack-doc-card span {
    color: #304963 !important;
}

/* Cas spécial : image hero issue du PDF avec texte noir sur image blanche.
   On garde l'image lisible mais on évite que la zone soit trop sombre. */
.itcat-pack-hero-img,
.itcat-pack-hero-img img {
    background: #ffffff !important;
}

/* Sécurité responsive : les textes du hero ne doivent jamais devenir trop petits. */
@media (max-width: 760px) {
    .itcat-pack-hero .itcat-pack-title {
        color: #ffffff !important;
    }

    .itcat-pack-hero .itcat-pack-lead,
    .itcat-pack-hero .itcat-pack-lead p,
    .itcat-pack-hero p,
    .itcat-pack-hero li {
        color: rgba(255, 255, 255, 0.88) !important;
    }
}


/* v1.43 breadcrumb rules replaced by v1.45 setting. */
/* Si le thème ajoute lui aussi une barre breadcrumb au-dessus */
body.single-it_product .breadcrumb,
body.single-it_product .breadcrumbs,
body.single-it_product .rank-math-breadcrumb,
body.single-it_product .yoast-breadcrumb,
body.single-it_product .aioseo-breadcrumbs,
body.single-it_product .implanttech-breadcrumb,
body.single-it_product .it-breadcrumb {
    display: none !important;
}


/* v1.44 breadcrumb rules replaced by v1.45 setting. */


/* ============================================================
   v1.46 — Import Pack IA : vidéos
   ============================================================ */

.itcat-pack-videos-section {
    padding-top: clamp(48px, 6vw, 84px);
    padding-bottom: clamp(48px, 6vw, 84px);
}

.itcat-pack-section-intro {
    max-width: 760px;
    margin: 0 auto 28px auto;
    text-align: center;
}

.itcat-pack-videos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.itcat-pack-video-card {
    background: #ffffff;
    border: 1px solid rgba(7, 27, 51, 0.10);
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 18px 48px rgba(7, 27, 51, 0.08);
}

.itcat-pack-video-card h3 {
    margin: 0 0 14px 0;
    color: #071b33 !important;
    font-size: 20px;
    line-height: 1.2;
}

.itcat-pack-video {
    margin: 0;
}

.itcat-pack-video video {
    width: 100%;
    max-width: 100%;
    border-radius: 18px;
    display: block;
    background: #071b33;
}

@media (max-width: 760px) {
    .itcat-pack-videos {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   v1.47 — Import HTML stable sans blocs Gutenberg invalides
   ============================================================ */

.itcat-pack-html-stable {
    width: 100%;
    overflow: hidden;
}

.itcat-pack-html-wrap {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

.itcat-pack-html-section {
    padding-top: clamp(56px, 6vw, 88px);
    padding-bottom: clamp(56px, 6vw, 88px);
}

.itcat-pack-html-section:nth-of-type(even) {
    background: #f4f9ff;
}

.itcat-pack-hero.itcat-pack-html-section {
    background: radial-gradient(circle at top left, rgba(10, 94, 168, .34), transparent 36%),
                linear-gradient(135deg, #06172b 0%, #09233f 48%, #0a3158 100%);
    padding-top: clamp(56px, 7vw, 96px);
    padding-bottom: clamp(56px, 7vw, 96px);
}

.itcat-pack-hero-grid,
.itcat-pack-two-cols {
    display: grid;
    grid-template-columns: minmax(0, 48%) minmax(0, 52%);
    gap: clamp(28px, 5vw, 64px);
    align-items: center;
}

.itcat-pack-hero-media img,
.itcat-pack-rounded-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 22px 58px rgba(7, 27, 51, 0.12);
}

.itcat-pack-hero .itcat-pack-title,
.itcat-pack-hero .itcat-pack-subtitle,
.itcat-pack-hero .itcat-pack-lead,
.itcat-pack-hero .itcat-pack-lead p,
.itcat-pack-hero .itcat-pack-hero-bullets,
.itcat-pack-hero .itcat-pack-hero-bullets li {
    color: #ffffff !important;
}

.itcat-pack-hero .itcat-pack-lead p,
.itcat-pack-hero .itcat-pack-hero-bullets li {
    color: rgba(255,255,255,.88) !important;
}

.itcat-pack-title {
    font-size: clamp(42px, 5.4vw, 72px);
    line-height: .94;
    margin: 10px 0 16px;
}

.itcat-pack-subtitle {
    font-size: clamp(22px, 2.2vw, 32px);
    line-height: 1.14;
    margin: 0 0 20px;
}

.itcat-pack-html-stable h2 {
    color: #071b33;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.04;
    margin: 0 0 22px;
}

.itcat-pack-eyebrow {
    color: #e01855 !important;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 12px;
    margin-bottom: 12px;
}

.itcat-pack-center {
    text-align: center;
}

.itcat-pack-intro {
    max-width: 820px;
    text-align: center;
    margin: 0 auto 30px;
}

.itcat-pack-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.itcat-pack-card,
.itcat-pack-gallery-card,
.itcat-pack-step,
.itcat-pack-doc-card,
.itcat-pack-video-card {
    background: #ffffff;
    border: 1px solid rgba(7, 27, 51, .10);
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 18px 44px rgba(7,27,51,.08);
}

.itcat-pack-card h3,
.itcat-pack-gallery-card h3,
.itcat-pack-step h3,
.itcat-pack-video-card h3 {
    color: #071b33 !important;
    margin-top: 0;
}

.itcat-pack-feature {
    position: relative;
    padding-left: 30px;
    margin-bottom: 18px;
}

.itcat-pack-feature:before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #e01855;
    font-weight: 900;
}

.itcat-pack-feature strong {
    color: #071b33 !important;
}

.itcat-pack-gallery {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.itcat-pack-gallery-img,
.itcat-pack-step-img {
    width: 100%;
    height: 150px;
    object-fit: contain;
    display: block;
    background: #fff;
    border-radius: 16px;
    margin-bottom: 14px;
}

.itcat-pack-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.itcat-pack-step > span {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0a5ea8;
    color: #fff;
    font-weight: 900;
    margin-bottom: 12px;
}

.itcat-pack-docs,
.itcat-pack-videos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.itcat-pack-doc-card {
    display: block;
    color: inherit !important;
    text-decoration: none !important;
}

.itcat-pack-doc-card strong {
    display: block;
    color: #071b33 !important;
    font-size: 20px;
    margin-bottom: 8px;
}

.itcat-pack-doc-card span {
    display: block;
    margin-bottom: 12px;
}

.itcat-pack-doc-card em {
    color: #0a5ea8;
    font-style: normal;
    font-weight: 900;
}

.itcat-pack-video-card video {
    width: 100%;
    max-width: 100%;
    border-radius: 18px;
    display: block;
    background: #071b33;
}

.itcat-pack-final-cta {
    max-width: 1180px;
    margin: clamp(42px, 6vw, 72px) auto;
    border-radius: 28px;
    padding: clamp(28px, 5vw, 48px);
    background: linear-gradient(135deg, #071b33, #0a3158);
    color: #fff;
}

.itcat-pack-final-cta h2,
.itcat-pack-final-cta p {
    color: #fff !important;
}

.itcat-pack-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 22px;
    border-radius: 999px;
    background: linear-gradient(135deg, #0879d8, #0a5ea8);
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 900;
    margin: 10px 10px 0 0;
}

.itcat-pack-button-light {
    background: #fff;
    color: #071b33 !important;
}

@media (max-width: 900px) {
    .itcat-pack-hero-grid,
    .itcat-pack-two-cols,
    .itcat-pack-card-grid,
    .itcat-pack-gallery,
    .itcat-pack-steps,
    .itcat-pack-docs,
    .itcat-pack-videos {
        grid-template-columns: 1fr;
    }

    .itcat-pack-html-wrap {
        padding-left: 18px;
        padding-right: 18px;
    }
}


/* ============================================================
   v1.49 — Emplacements vidéo remplaçables
   ============================================================ */

.itcat-pack-video-placeholders {
    padding-top: clamp(52px, 6vw, 86px);
    padding-bottom: clamp(52px, 6vw, 86px);
    background: #f4f9ff;
}

.itcat-pack-video-placeholder-columns {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    gap: 24px;
}

.itcat-pack-video-placeholders .wp-block-video {
    min-height: 220px;
    border-radius: 18px;
    border: 2px dashed rgba(10, 94, 168, 0.35);
    background: linear-gradient(135deg, rgba(7,27,51,.08), rgba(10,94,168,.08));
    display: flex;
    align-items: center;
    justify-content: center;
}

.itcat-pack-video-placeholders .wp-block-video:empty::before {
    content: "Bloc vidéo — cliquez ici puis Remplacer";
    color: #0a3158;
    font-weight: 800;
    text-align: center;
    padding: 24px;
}

.itcat-pack-video-placeholders .wp-block-video video {
    width: 100%;
    border-radius: 18px;
    background: #071b33;
}


/* ============================================================
   v1.53 — Mise en forme des blocs natifs éditables
   ============================================================ */

.itcat-native-hero {
    padding: clamp(44px, 6vw, 88px) clamp(18px, 4vw, 42px);
    background: linear-gradient(135deg, #06172b 0%, #0a3158 55%, #0a5ea8 100%);
    color: #fff;
    border-radius: 0 0 34px 34px;
}

.itcat-native-hero .itcat-native-title {
    color: #fff;
    font-size: clamp(42px, 6vw, 76px);
    line-height: .95;
    margin: 8px 0 12px;
}

.itcat-native-hero .itcat-native-subtitle,
.itcat-native-hero p,
.itcat-native-hero li {
    color: rgba(255,255,255,.92);
}

.itcat-native-eyebrow {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 900;
    color: #0a5ea8;
}

.itcat-native-hero .itcat-native-eyebrow {
    color: #9bd3ff;
}

.itcat-native-lead {
    font-size: 1.13rem;
    line-height: 1.75;
}

.itcat-native-hero-image img,
.itcat-native-rounded-image img {
    border-radius: 26px;
    box-shadow: 0 28px 80px rgba(7,27,51,.18);
    background: #fff;
}

.itcat-native-section {
    padding: clamp(48px, 6vw, 84px) clamp(18px, 4vw, 42px);
}

.itcat-native-section:nth-of-type(even) {
    background: #f4f9ff;
}

.itcat-native-card,
.itcat-native-gallery-card,
.itcat-native-video-card {
    height: 100%;
    padding: 22px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid #e1ebf4;
    box-shadow: 0 16px 44px rgba(7,27,51,.08);
}

.itcat-native-gallery-image img {
    height: 170px;
    width: 100%;
    object-fit: contain;
    background: #f7fbff;
    border-radius: 18px;
}

.itcat-native-intro {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.itcat-native-video-card video {
    width: 100%;
    border-radius: 18px;
    background: #071b33;
}

.itcat-native-doc-link {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    padding: 18px 22px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #d9e7f3;
}



/* ============================================================
   v1.57 — Blocs éditables premium : rendu proche HTML premium
   ============================================================ */

.itcat-native-product,
.itcat-native-section {
    max-width: none !important;
}

.itcat-native-hero {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: clamp(56px, 7vw, 108px) clamp(24px, 6vw, 88px);
    background:
        radial-gradient(circle at 15% 20%, rgba(155,211,255,.18), transparent 34%),
        linear-gradient(135deg, #06172b 0%, #0a3158 58%, #0a5ea8 100%);
    color: #fff;
    border-radius: 0 0 42px 42px;
    overflow: hidden;
}

.itcat-native-hero-columns,
.itcat-native-two-cols,
.itcat-native-card-columns,
.itcat-native-gallery-columns,
.itcat-native-video-columns {
    max-width: 1180px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.itcat-native-hero .wp-block-image img {
    background: #fff;
    border-radius: 30px;
    box-shadow: 0 34px 90px rgba(0,0,0,.32);
}

.itcat-native-title {
    color: #fff !important;
    font-size: clamp(42px, 6vw, 74px) !important;
    line-height: .95 !important;
    letter-spacing: -0.04em;
    margin: 10px 0 14px !important;
}

.itcat-native-subtitle {
    color: rgba(255,255,255,.94) !important;
    font-size: clamp(22px, 2.6vw, 34px) !important;
    font-weight: 750;
}

.itcat-native-hero p,
.itcat-native-hero li {
    color: rgba(255,255,255,.92) !important;
}

.itcat-native-eyebrow {
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .78rem;
    font-weight: 900;
    color: #0a5ea8;
}

.itcat-native-hero .itcat-native-eyebrow {
    color: #9bd3ff !important;
}

.itcat-native-lead {
    font-size: 1.13rem;
    line-height: 1.8;
}

.itcat-native-section {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: clamp(54px, 7vw, 96px) clamp(24px, 6vw, 88px);
}

.itcat-native-section:nth-of-type(even) {
    background: #f4f9ff;
}

.itcat-native-section h2 {
    color: #071b33;
    font-size: clamp(32px, 4vw, 50px);
    line-height: 1.05;
    letter-spacing: -0.03em;
}

.itcat-native-section h3 {
    color: #071b33;
}

.itcat-native-rounded-image img,
.itcat-native-gallery-image img {
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 22px 60px rgba(7,27,51,.13);
}

.itcat-native-card,
.itcat-native-gallery-card,
.itcat-native-video-card {
    height: 100%;
    padding: 24px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(10,94,168,.14);
    box-shadow: 0 18px 52px rgba(7,27,51,.10);
}

.itcat-native-gallery-image img {
    height: 185px;
    width: 100%;
    object-fit: contain;
    box-shadow: none;
    border: 1px solid #e6edf5;
}

.itcat-native-intro {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    color: #40556d;
    font-size: 1.08rem;
}

.itcat-native-feature {
    padding: 16px 0;
    border-bottom: 1px solid #dbe9f5;
}

.itcat-native-video-card video {
    width: 100%;
    border-radius: 20px;
    background: #071b33;
}

.itcat-native-doc-link {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    padding: 18px 22px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #d9e7f3;
    box-shadow: 0 12px 34px rgba(7,27,51,.08);
}

@media (max-width: 781px) {
    .itcat-native-hero,
    .itcat-native-section {
        padding-left: 20px;
        padding-right: 20px;
    }
}



/* ============================================================
   v1.58 — Blocs éditables premium proche HTML premium
   Objectif : garder les blocs modifiables, mais retrouver un rendu haut de gamme.
   ============================================================ */

body.single-it_product .entry-content,
body.single-it_product .wp-block-post-content {
    overflow-x: clip;
}

/* Largeur générale */
body.single-it_product .itcat-native-product,
body.single-it_product .itcat-native-section {
    max-width: none !important;
    width: auto !important;
}

/* HERO PREMIUM */
body.single-it_product .itcat-native-hero {
    position: relative;
    isolation: isolate;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: -1px;
    padding: clamp(64px, 8vw, 120px) clamp(22px, 6vw, 90px) clamp(62px, 7vw, 112px);
    background:
        radial-gradient(circle at 8% 16%, rgba(102, 197, 255, .24), transparent 32%),
        radial-gradient(circle at 78% 20%, rgba(46, 144, 209, .22), transparent 34%),
        linear-gradient(135deg, #061426 0%, #071b33 42%, #0a3158 72%, #0a5ea8 100%);
    color: #fff;
    border-radius: 0 0 46px 46px;
    overflow: hidden;
}

body.single-it_product .itcat-native-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(115deg, transparent 0 58%, rgba(255,255,255,.08) 58% 59%, transparent 59%),
        linear-gradient(115deg, transparent 0 68%, rgba(255,255,255,.06) 68% 69%, transparent 69%);
    opacity: .8;
}

body.single-it_product .itcat-native-hero-columns {
    max-width: 1220px;
    margin-left: auto !important;
    margin-right: auto !important;
    gap: clamp(32px, 5vw, 74px) !important;
    align-items: center !important;
}

body.single-it_product .itcat-native-hero .wp-block-image {
    margin: 0;
}

body.single-it_product .itcat-native-hero .wp-block-image img {
    width: 100%;
    aspect-ratio: 1.18 / 1;
    object-fit: contain;
    object-position: center;
    background:
        radial-gradient(circle at center, #ffffff 0%, #f6fbff 58%, #e7f1fb 100%);
    border: 1px solid rgba(255,255,255,.40);
    border-radius: 34px;
    padding: clamp(12px, 2vw, 24px);
    box-shadow:
        0 42px 110px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.78);
}

body.single-it_product .itcat-native-eyebrow {
    margin: 0 0 12px !important;
    text-transform: uppercase;
    letter-spacing: .16em;
    font-size: .78rem;
    font-weight: 950;
    color: #0a5ea8;
}

body.single-it_product .itcat-native-hero .itcat-native-eyebrow {
    color: #9bd3ff !important;
}

body.single-it_product .itcat-native-title {
    margin: 0 0 16px !important;
    color: #fff !important;
    font-size: clamp(42px, 6vw, 78px) !important;
    line-height: .92 !important;
    letter-spacing: -.055em;
    font-weight: 950;
}

body.single-it_product .itcat-native-subtitle {
    margin: 0 0 24px !important;
    color: rgba(255,255,255,.94) !important;
    font-size: clamp(22px, 2.5vw, 34px) !important;
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -.02em;
}

body.single-it_product .itcat-native-lead,
body.single-it_product .itcat-native-hero p:not(.itcat-native-eyebrow) {
    color: rgba(255,255,255,.90) !important;
    font-size: clamp(16px, 1.25vw, 19px);
    line-height: 1.75;
}

body.single-it_product .itcat-native-bullets {
    display: grid;
    gap: 10px;
    margin-top: 22px;
    margin-bottom: 26px;
    padding-left: 0;
    list-style: none;
}

body.single-it_product .itcat-native-bullets li {
    position: relative;
    padding-left: 30px;
    color: rgba(255,255,255,.94) !important;
    font-weight: 700;
}

body.single-it_product .itcat-native-bullets li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #9bd3ff;
    font-weight: 950;
}

body.single-it_product .itcat-native-buttons {
    margin-top: 26px;
    gap: 14px;
}

body.single-it_product .itcat-native-button .wp-block-button__link,
body.single-it_product .itcat-native-buttons .wp-block-button:not(.is-style-outline) .wp-block-button__link {
    padding: 14px 22px;
    border-radius: 999px;
    background: #ffffff;
    color: #071b33;
    font-weight: 900;
    box-shadow: 0 12px 32px rgba(0,0,0,.18);
}

body.single-it_product .itcat-native-button-light .wp-block-button__link,
body.single-it_product .itcat-native-buttons .is-style-outline .wp-block-button__link {
    padding: 14px 22px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.55);
    color: #ffffff;
    background: rgba(255,255,255,.10);
    font-weight: 850;
    backdrop-filter: blur(8px);
}

/* SECTIONS PREMIUM */
body.single-it_product .itcat-native-section {
    position: relative;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: clamp(62px, 7vw, 104px) clamp(22px, 6vw, 90px);
    background: #fff;
}

body.single-it_product .itcat-native-section:nth-of-type(even) {
    background:
        radial-gradient(circle at 12% 0%, rgba(10,94,168,.06), transparent 32%),
        #f4f9ff;
}

body.single-it_product .itcat-native-section > .wp-block-columns,
body.single-it_product .itcat-native-section > .wp-block-heading,
body.single-it_product .itcat-native-section > .wp-block-paragraph,
body.single-it_product .itcat-native-section > .wp-block-buttons,
body.single-it_product .itcat-native-section > .wp-block-group,
body.single-it_product .itcat-native-two-cols,
body.single-it_product .itcat-native-card-columns,
body.single-it_product .itcat-native-gallery-columns,
body.single-it_product .itcat-native-video-columns {
    max-width: 1220px;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.single-it_product .itcat-native-section h2.wp-block-heading {
    margin-top: 0;
    margin-bottom: 24px;
    color: #071b33;
    font-size: clamp(32px, 4.1vw, 54px);
    line-height: 1.04;
    letter-spacing: -.045em;
    font-weight: 950;
}

body.single-it_product .itcat-native-section h3.wp-block-heading {
    margin-top: 0;
    margin-bottom: 10px;
    color: #071b33;
    font-size: clamp(20px, 1.5vw, 25px);
    line-height: 1.15;
    font-weight: 900;
}

body.single-it_product .itcat-native-section p,
body.single-it_product .itcat-native-section li {
    color: #40556d;
    line-height: 1.7;
}

body.single-it_product .itcat-native-intro {
    max-width: 860px !important;
    margin: 0 auto 34px !important;
    text-align: center;
    color: #40556d;
    font-size: 1.1rem;
}

/* Images */
body.single-it_product .itcat-native-rounded-image img {
    width: 100%;
    border-radius: 30px;
    background: #fff;
    box-shadow:
        0 28px 80px rgba(7,27,51,.15),
        0 0 0 1px rgba(10,94,168,.08);
}

body.single-it_product .itcat-native-two-cols {
    gap: clamp(32px, 5vw, 70px) !important;
    align-items: center !important;
}

/* Cartes */
body.single-it_product .itcat-native-card-columns,
body.single-it_product .itcat-native-gallery-columns,
body.single-it_product .itcat-native-video-columns {
    gap: 22px !important;
}

body.single-it_product .itcat-native-card,
body.single-it_product .itcat-native-gallery-card,
body.single-it_product .itcat-native-video-card {
    height: 100%;
    padding: clamp(22px, 2.2vw, 30px);
    border-radius: 28px;
    background:
        linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border: 1px solid rgba(10,94,168,.13);
    box-shadow:
        0 18px 52px rgba(7,27,51,.10),
        inset 0 1px 0 rgba(255,255,255,.82);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body.single-it_product .itcat-native-card:hover,
body.single-it_product .itcat-native-gallery-card:hover,
body.single-it_product .itcat-native-video-card:hover {
    transform: translateY(-3px);
    border-color: rgba(10,94,168,.28);
    box-shadow:
        0 26px 68px rgba(7,27,51,.14),
        inset 0 1px 0 rgba(255,255,255,.88);
}

body.single-it_product .itcat-native-card ul {
    margin-bottom: 0;
    padding-left: 20px;
}

body.single-it_product .itcat-native-card li + li {
    margin-top: 8px;
}

/* Galerie */
body.single-it_product .itcat-native-gallery-card .wp-block-image {
    margin: 0 0 18px;
}

body.single-it_product .itcat-native-gallery-image img {
    width: 100%;
    height: 190px;
    object-fit: contain;
    object-position: center;
    padding: 16px;
    border-radius: 20px;
    background:
        radial-gradient(circle at center, #ffffff 0%, #f7fbff 65%, #eef6ff 100%);
    border: 1px solid #e4edf7;
    box-shadow: none;
}

body.single-it_product .itcat-native-gallery-card p {
    margin-bottom: 0;
    font-size: .96rem;
}

/* Features */
body.single-it_product .itcat-native-feature {
    padding: 18px 0;
    border-bottom: 1px solid #dceaf6;
}

body.single-it_product .itcat-native-feature:first-of-type {
    padding-top: 4px;
}

body.single-it_product .itcat-native-feature:last-child {
    border-bottom: 0;
}

/* Vidéos */
body.single-it_product .itcat-native-video-card video {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 20px;
    background: #071b33;
    box-shadow: 0 18px 48px rgba(7,27,51,.18);
}

/* Documents */
body.single-it_product .itcat-native-doc-link {
    max-width: 840px !important;
    margin: 14px auto !important;
    padding: 20px 24px;
    border-radius: 20px;
    background: #ffffff;
    border: 1px solid #d9e7f3;
    box-shadow: 0 14px 38px rgba(7,27,51,.08);
}

body.single-it_product .itcat-native-doc-link a {
    color: #0a5ea8;
    text-decoration: none;
}

/* CTA */
body.single-it_product .itcat-native-section-cta {
    background:
        radial-gradient(circle at 20% 20%, rgba(155,211,255,.16), transparent 34%),
        linear-gradient(135deg, #071b33 0%, #0a3158 100%) !important;
    color: #fff;
}

body.single-it_product .itcat-native-section-cta h2,
body.single-it_product .itcat-native-section-cta p {
    color: #fff !important;
}

body.single-it_product .itcat-native-section-cta .wp-block-button__link {
    border-radius: 999px;
    padding: 14px 24px;
    background: #ffffff;
    color: #071b33;
    font-weight: 900;
}

/* Editeur Gutenberg : rendre les blocs plus lisibles aussi dans l'admin */
.editor-styles-wrapper .itcat-native-hero,
.block-editor-block-list__layout .itcat-native-hero {
    padding: 56px 38px !important;
    background: linear-gradient(135deg, #061426, #0a3158) !important;
    border-radius: 28px;
}

.editor-styles-wrapper .itcat-native-hero .itcat-native-title,
.block-editor-block-list__layout .itcat-native-hero .itcat-native-title {
    color: #fff !important;
}

.editor-styles-wrapper .itcat-native-card,
.editor-styles-wrapper .itcat-native-gallery-card,
.editor-styles-wrapper .itcat-native-video-card {
    border: 1px solid #d9e7f3;
    border-radius: 22px;
    padding: 20px;
    background: #fff;
}

/* Mobile */
@media (max-width: 781px) {
    body.single-it_product .itcat-native-hero,
    body.single-it_product .itcat-native-section {
        padding-left: 20px;
        padding-right: 20px;
        border-radius: 0 0 28px 28px;
    }

    body.single-it_product .itcat-native-hero .wp-block-image img {
        aspect-ratio: auto;
        max-height: 360px;
    }

    body.single-it_product .itcat-native-gallery-image img {
        height: 220px;
    }
}



/* ============================================================
   v1.59 — Ajustements pour rapprocher blocs éditables de la version HTML
   ============================================================ */

/* Hero : équilibre plus proche de la version HTML */
body.single-it_product .itcat-native-hero {
    padding-top: clamp(56px, 7vw, 104px);
    padding-bottom: clamp(56px, 7vw, 104px);
    border-radius: 0 0 34px 34px;
}

body.single-it_product .itcat-native-hero-columns {
    max-width: 1120px;
    gap: clamp(42px, 6vw, 86px) !important;
}

body.single-it_product .itcat-native-hero .wp-block-image img {
    max-height: 360px;
    aspect-ratio: 1.25 / 1;
    padding: clamp(10px, 1.6vw, 18px);
}

body.single-it_product .itcat-native-title {
    font-size: clamp(44px, 5.6vw, 70px) !important;
}

body.single-it_product .itcat-native-subtitle {
    font-size: clamp(24px, 2.4vw, 32px) !important;
}

/* Cartes cliniques : largeur et lisibilité plus proches du HTML */
body.single-it_product .itcat-native-gallery-columns {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px !important;
}

body.single-it_product .itcat-native-gallery-columns > .wp-block-column {
    min-width: 0;
}

body.single-it_product .itcat-native-gallery-card {
    padding: 18px;
    border-radius: 20px;
}

body.single-it_product .itcat-native-gallery-image img {
    height: 150px;
    padding: 10px;
    border-radius: 16px;
}

body.single-it_product .itcat-native-gallery-card h3.wp-block-heading {
    font-size: 16px;
    line-height: 1.15;
}

body.single-it_product .itcat-native-gallery-card p {
    font-size: 13px;
    line-height: 1.45;
}

/* Steps / Installation simple et rapide */
body.single-it_product .itcat-native-steps-columns {
    max-width: 1120px;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px !important;
}

body.single-it_product .itcat-native-steps-columns > .wp-block-column {
    min-width: 0;
}

body.single-it_product .itcat-native-step-card {
    position: relative;
    height: 100%;
    padding: 18px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(10,94,168,.14);
    box-shadow: 0 18px 48px rgba(7,27,51,.10);
}

body.single-it_product .itcat-native-step-number {
    display: inline-flex;
    width: 22px;
    height: 22px;
    margin: 0 0 10px !important;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #0a5ea8;
    color: #fff !important;
    font-size: 12px;
    font-weight: 900;
}

body.single-it_product .itcat-native-step-image img {
    height: 125px;
    width: 100%;
    object-fit: cover;
    border-radius: 14px;
    background: #f7fbff;
    margin-bottom: 12px;
}

body.single-it_product .itcat-native-step-card h3.wp-block-heading {
    font-size: 15px;
    line-height: 1.15;
    margin-bottom: 8px;
}

body.single-it_product .itcat-native-step-card p:not(.itcat-native-step-number) {
    font-size: 12.5px;
    line-height: 1.45;
    margin-bottom: 0;
}

/* Documentation : deux cartes côte à côte comme HTML */
body.single-it_product .itcat-native-doc-columns {
    max-width: 880px;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px !important;
}

body.single-it_product .itcat-native-doc-columns > .wp-block-column {
    min-width: 0;
}

body.single-it_product .itcat-native-doc-link {
    height: 100%;
    margin: 0 !important;
    padding: 20px 24px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #d9e7f3;
    box-shadow: 0 14px 38px rgba(7,27,51,.08);
}

/* CTA : carte centrée au lieu d'un bandeau pleine largeur */
body.single-it_product .itcat-native-section-cta {
    background:
        radial-gradient(circle at 12% 0%, rgba(10,94,168,.06), transparent 32%),
        #f4f9ff !important;
    padding-top: clamp(54px, 7vw, 86px);
    padding-bottom: clamp(54px, 7vw, 86px);
}

body.single-it_product .itcat-native-section-cta > * {
    max-width: 900px !important;
}

body.single-it_product .itcat-native-section-cta {
    color: #fff;
}

body.single-it_product .itcat-native-section-cta::after {
    content: "";
    display: block;
    max-width: 900px;
    height: 0;
    margin: 0 auto;
}

body.single-it_product .itcat-native-section-cta > .wp-block-heading,
body.single-it_product .itcat-native-section-cta > .itcat-native-intro,
body.single-it_product .itcat-native-section-cta > .wp-block-buttons {
    position: relative;
    z-index: 2;
}

body.single-it_product .itcat-native-section-cta {
    position: relative;
}

body.single-it_product .itcat-native-section-cta::before {
    content: "";
    position: absolute;
    left: 50%;
    top: clamp(38px, 5vw, 62px);
    transform: translateX(-50%);
    width: min(900px, calc(100vw - 44px));
    height: calc(100% - clamp(76px, 10vw, 124px));
    min-height: 170px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 18% 18%, rgba(155,211,255,.18), transparent 36%),
        linear-gradient(135deg, #071b33 0%, #0a3158 100%);
    box-shadow: 0 24px 70px rgba(7,27,51,.18);
}

body.single-it_product .itcat-native-section-cta h2,
body.single-it_product .itcat-native-section-cta p {
    color: #fff !important;
}

body.single-it_product .itcat-native-section-cta .wp-block-heading {
    padding-top: 18px;
}

body.single-it_product .itcat-native-section-cta .wp-block-buttons {
    padding-bottom: 18px;
}

/* Corrections responsive */
@media (max-width: 1050px) {
    body.single-it_product .itcat-native-gallery-columns,
    body.single-it_product .itcat-native-steps-columns {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 781px) {
    body.single-it_product .itcat-native-gallery-columns,
    body.single-it_product .itcat-native-steps-columns,
    body.single-it_product .itcat-native-doc-columns {
        grid-template-columns: 1fr;
    }

    body.single-it_product .itcat-native-gallery-image img,
    body.single-it_product .itcat-native-step-image img {
        height: 220px;
    }
}



/* ============================================================
   v1.60 — Documentation plus claire en mode blocs éditables
   ============================================================ */

body.single-it_product .itcat-native-doc-columns {
    max-width: 960px;
    gap: 22px !important;
}

body.single-it_product .itcat-native-doc-card {
    position: relative;
    height: 100%;
    min-height: 170px;
    padding: 24px 26px 24px 88px;
    border-radius: 22px;
    background:
        linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border: 1px solid rgba(10,94,168,.16);
    box-shadow:
        0 18px 48px rgba(7,27,51,.10),
        inset 0 1px 0 rgba(255,255,255,.85);
}

body.single-it_product .itcat-native-doc-card::before {
    content: "";
    position: absolute;
    left: 24px;
    top: 28px;
    width: 42px;
    height: 54px;
    border-radius: 10px;
    background:
        linear-gradient(135deg, #ffffff 0 68%, #d8e8f7 68% 100%),
        #eef6ff;
    border: 1px solid #cfe0ef;
    box-shadow: 0 10px 24px rgba(7,27,51,.10);
}

body.single-it_product .itcat-native-doc-card::after {
    content: "PDF";
    position: absolute;
    left: 31px;
    top: 64px;
    width: 28px;
    height: 16px;
    border-radius: 5px;
    background: #b40032;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    line-height: 16px;
    text-align: center;
    letter-spacing: .04em;
}

body.single-it_product .itcat-native-doc-badge {
    display: inline-flex;
    width: auto;
    margin: 0 0 8px !important;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eaf4ff;
    color: #0a5ea8 !important;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
}

body.single-it_product .itcat-native-doc-card h3.wp-block-heading {
    margin: 0 0 8px !important;
    color: #071b33;
    font-size: 18px;
    font-weight: 950;
}

body.single-it_product .itcat-native-doc-description {
    margin-bottom: 10px !important;
    color: #40556d;
    font-size: 14px;
    line-height: 1.55;
}

body.single-it_product .itcat-native-doc-filename {
    margin: 0 0 14px !important;
    color: #71859a !important;
    font-size: 12px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    word-break: break-word;
}

body.single-it_product .itcat-native-doc-buttons {
    margin-top: 8px !important;
}

body.single-it_product .itcat-native-doc-button .wp-block-button__link {
    padding: 9px 15px;
    border-radius: 999px;
    background: #0a5ea8;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 10px 26px rgba(10,94,168,.22);
}

body.single-it_product .itcat-native-doc-link {
    display: none;
}

.editor-styles-wrapper .itcat-native-doc-card {
    border: 1px solid #d9e7f3;
    border-radius: 18px;
    padding: 20px;
    background: #fff;
}

@media (max-width: 781px) {
    body.single-it_product .itcat-native-doc-card {
        padding-left: 76px;
    }

    body.single-it_product .itcat-native-doc-card::before {
        left: 20px;
    }

    body.single-it_product .itcat-native-doc-card::after {
        left: 27px;
    }
}



/* ============================================================
   v1.61 — Vidéos en présentation 2 colonnes propre
   ============================================================ */

body.single-it_product .itcat-native-video-columns {
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

body.single-it_product .itcat-native-video-columns > .wp-block-column {
    min-width: 0 !important;
    width: auto !important;
    flex-basis: auto !important;
}

/* Si une seule vidéo, elle reste proprement centrée */
body.single-it_product .itcat-native-video-columns > .wp-block-column:only-child {
    grid-column: 1 / -1;
    max-width: 560px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Carte vidéo */
body.single-it_product .itcat-native-video-card {
    height: 100%;
    min-height: 360px;
    padding: 22px;
    border-radius: 24px;
    background:
        linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border: 1px solid rgba(10,94,168,.16);
    box-shadow:
        0 18px 52px rgba(7,27,51,.10),
        inset 0 1px 0 rgba(255,255,255,.85);
    display: flex;
    flex-direction: column;
}

/* Titre vidéo : hauteur réservée pour que rien ne décale les lecteurs */
body.single-it_product .itcat-native-video-card h3.wp-block-heading {
    min-height: 48px;
    margin: 0 0 16px !important;
    display: flex;
    align-items: flex-start;
    color: #071b33;
    font-size: 18px;
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -.02em;
}

/* Figure vidéo alignée en bas, même taille partout */
body.single-it_product .itcat-native-video-card .wp-block-video {
    margin: auto 0 0 !important;
    width: 100%;
}

body.single-it_product .itcat-native-video-card video {
    display: block;
    width: 100% !important;
    aspect-ratio: 16 / 9;
    height: auto !important;
    object-fit: cover;
    border-radius: 18px;
    background: #071b33;
    box-shadow: 0 16px 42px rgba(7,27,51,.16);
}

/* Petit effet premium */
body.single-it_product .itcat-native-video-card:hover {
    transform: translateY(-2px);
    border-color: rgba(10,94,168,.30);
    box-shadow:
        0 26px 68px rgba(7,27,51,.14),
        inset 0 1px 0 rgba(255,255,255,.9);
}

/* Anciennes règles 5 colonnes : neutralisation pour les vidéos */
body.single-it_product .itcat-native-section-videos .itcat-native-video-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Editeur Gutenberg : meilleure lisibilité dans l'administration */
.editor-styles-wrapper .itcat-native-video-columns,
.block-editor-block-list__layout .itcat-native-video-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
}

.editor-styles-wrapper .itcat-native-video-card,
.block-editor-block-list__layout .itcat-native-video-card {
    min-height: 320px;
    display: flex;
    flex-direction: column;
}

.editor-styles-wrapper .itcat-native-video-card h3.wp-block-heading,
.block-editor-block-list__layout .itcat-native-video-card h3.wp-block-heading {
    min-height: 48px;
}

/* Mobile : une seule colonne */
@media (max-width: 781px) {
    body.single-it_product .itcat-native-video-columns,
    body.single-it_product .itcat-native-section-videos .itcat-native-video-columns,
    .editor-styles-wrapper .itcat-native-video-columns,
    .block-editor-block-list__layout .itcat-native-video-columns {
        grid-template-columns: 1fr !important;
    }

    body.single-it_product .itcat-native-video-card {
        min-height: 300px;
    }

    body.single-it_product .itcat-native-video-card h3.wp-block-heading {
        min-height: auto;
    }
}



/* ============================================================
   v1.62 — Correction forte : forcer les vidéos en 2 colonnes
   La v1.61 pouvait être écrasée par les styles WordPress .wp-block-columns.
   ============================================================ */

/* Ciblage large + ciblage spécifique */
body.single-it_product .itcat-native-section-videos > .wp-block-columns,
body.single-it_product .itcat-native-section-videos .wp-block-columns.itcat-native-video-columns,
body.single-it_product .wp-block-columns.itcat-native-video-columns,
body.single-it_product div.itcat-native-video-columns {
    width: min(980px, calc(100vw - 44px)) !important;
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px !important;
    align-items: stretch !important;
}

/* Neutralise les comportements flex de WordPress sur les colonnes enfants */
body.single-it_product .itcat-native-section-videos > .wp-block-columns > .wp-block-column,
body.single-it_product .itcat-native-section-videos .wp-block-columns.itcat-native-video-columns > .wp-block-column,
body.single-it_product .wp-block-columns.itcat-native-video-columns > .wp-block-column,
body.single-it_product div.itcat-native-video-columns > .wp-block-column {
    flex: none !important;
    flex-basis: auto !important;
    flex-grow: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Une seule vidéo : carte centrée */
body.single-it_product .wp-block-columns.itcat-native-video-columns > .wp-block-column:only-child,
body.single-it_product div.itcat-native-video-columns > .wp-block-column:only-child {
    grid-column: 1 / -1 !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Carte vidéo robuste */
body.single-it_product .itcat-native-section-videos .itcat-native-video-card,
body.single-it_product .itcat-native-video-card {
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 350px !important;
    padding: 24px !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
    border: 1px solid rgba(10,94,168,.16) !important;
    box-shadow: 0 18px 52px rgba(7,27,51,.10), inset 0 1px 0 rgba(255,255,255,.85) !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Titre vidéo : même hauteur pour tout le monde */
body.single-it_product .itcat-native-section-videos .itcat-native-video-card h3,
body.single-it_product .itcat-native-video-card h3.wp-block-heading {
    min-height: 50px !important;
    margin: 0 0 16px !important;
    display: flex !important;
    align-items: flex-start !important;
    color: #071b33 !important;
    font-size: 18px !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
}

/* Le lecteur descend toujours au même niveau */
body.single-it_product .itcat-native-section-videos .itcat-native-video-card .wp-block-video,
body.single-it_product .itcat-native-video-card .wp-block-video {
    width: 100% !important;
    margin: auto 0 0 !important;
}

/* Lecteur vidéo même format */
body.single-it_product .itcat-native-section-videos .itcat-native-video-card video,
body.single-it_product .itcat-native-video-card video {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    border-radius: 18px !important;
    background: #071b33 !important;
    box-shadow: 0 16px 42px rgba(7,27,51,.16) !important;
}

/* Cas où WordPress ajoute des marges automatiques entre colonnes */
body.single-it_product .itcat-native-section-videos .wp-block-column:not(:first-child),
body.single-it_product .itcat-native-video-columns .wp-block-column:not(:first-child) {
    margin-left: 0 !important;
}

/* Version éditeur */
.editor-styles-wrapper .itcat-native-section-videos > .wp-block-columns,
.editor-styles-wrapper .wp-block-columns.itcat-native-video-columns,
.block-editor-block-list__layout .itcat-native-section-videos > .wp-block-columns,
.block-editor-block-list__layout .wp-block-columns.itcat-native-video-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
    max-width: 980px !important;
}

.editor-styles-wrapper .itcat-native-video-columns > .wp-block-column,
.block-editor-block-list__layout .itcat-native-video-columns > .wp-block-column {
    flex: none !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Mobile */
@media (max-width: 781px) {
    body.single-it_product .itcat-native-section-videos > .wp-block-columns,
    body.single-it_product .itcat-native-section-videos .wp-block-columns.itcat-native-video-columns,
    body.single-it_product .wp-block-columns.itcat-native-video-columns,
    body.single-it_product div.itcat-native-video-columns,
    .editor-styles-wrapper .itcat-native-section-videos > .wp-block-columns,
    .editor-styles-wrapper .wp-block-columns.itcat-native-video-columns {
        grid-template-columns: 1fr !important;
        width: min(560px, calc(100vw - 36px)) !important;
    }

    body.single-it_product .itcat-native-video-card {
        min-height: 300px !important;
    }

    body.single-it_product .itcat-native-video-card h3.wp-block-heading {
        min-height: auto !important;
    }
}

