/* ccva-single.css (auto-split) */
/* Source: full-page.html */
    /* Base styles are in ccva-core.css */
    .single-layout{
      display:grid;
      gap:2rem;
      min-width:0;
    }
    .single-main,
    .single-sidebar,
    .page-card-inner{
      min-width:0;
    }
    .single-sidebar{
      display:flex;
      flex-direction:column;
    }
    .single-sidebar .single-toc{
      margin-top:1.25rem;
    }
    .single-sticky{
      position:sticky;
      top:132px;
      display:grid;
      gap:1.25rem;
      max-height:calc(100vh - 152px);
    }
    .single-toc__head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
      margin-bottom:.75rem;
      flex-wrap:wrap;
    }
    .single-toc__summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
    }
    .single-toc__summary::-webkit-details-marker{display:none}
    .single-toc__summary .panel-title{
      margin:0;
      display:inline-flex;
      align-items:center;
      gap:.5rem;
    }
    .single-toc__chev{
      width:34px;
      height:34px;
      border-radius:999px;
      border:1px solid var(--border-soft);
      background:#fff;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      box-shadow:var(--shadow-sm);
      position:relative;
      flex:0 0 auto;
    }
    .single-toc__chev::before{
      content:"";
      width:8px;
      height:8px;
      border-right:2px solid var(--ccva-dark);
      border-bottom:2px solid var(--ccva-dark);
      transform:rotate(45deg);
    }
    .single-toc[open] .single-toc__chev::before{
      transform:rotate(-135deg);
    }
    .single-toc[open] .single-toc__summary{margin-bottom:.75rem}
    .single-readtime{
      font-size:.78rem;
      letter-spacing:.04em;
      text-transform:uppercase;
    }
    .single-toc__list{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:0;
      max-height:calc(100vh - 250px);
      overflow-y:auto;
      overscroll-behavior:contain;
      padding-right:.25rem;
    }
    .single-toc__item a{
      display:block;
      padding:.55rem .75rem;
      border-radius:10px;
      border:1px solid var(--border-soft);
      background:rgba(255,255,255,.9);
      color:rgba(0,72,74,.92);
      font-weight:800;
      font-size:.85rem;
      transition:transform .2s var(--ease-out), border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), color .2s var(--ease-out);
    }
    .single-toc__item a:hover{
      transform:translateY(-1px);
      border-color:var(--border-hover);
      box-shadow:var(--shadow-sm);
      color:var(--ccva-teal);
    }
    .single-toc__item a.is-active,
    .single-toc__item a[aria-current="true"]{
      border-color:rgba(var(--ccva-mustard-rgb), .62);
      background:rgba(var(--ccva-mustard-rgb), .12);
      color:var(--ccva-dark);
      box-shadow:var(--shadow-sm);
    }
    .single-toc__item.level-3 a{
      padding-left:1.35rem;
      font-weight:700;
    }
    .single-toc__empty{
      margin:0;
      color:rgba(15,47,48,.72);
      font-weight:600;
      font-size:.9rem;
    }
    .page-card-inner :is(h2, h3, h4, h5){
      color: var(--ccva-dark);
    }
    .page-card-inner :is(h2, h3){
      position: relative;
      margin-top: 2.1rem;
      margin-bottom: 1.1rem;
    }
    .page-card-inner :is(h2, h3)[id]{
      scroll-margin-top:120px;
    }
    .page-card-inner :is(h2, h3)::after{
      content: '';
      display: block;
      width: 32px;
      height: 4px;
      border-radius: 999px;
      background: var(--ccva-mustard);
      margin-top: 0.55rem;
    }
    .page-card-inner .wp-block-image{
      margin:1.8rem 0;
      padding:1.25rem 1.25rem 1.4rem;
      background:#fff;
      border:1px solid var(--border-soft);
      border-radius:var(--radius-xl);
      box-shadow:none;
      display:grid;
      gap:1rem;
      justify-items:center;
    }
    .page-card-inner .wp-block-image img{
      width:auto;
      max-width:100%;
      height:auto;
      border-radius:var(--radius-lg);
      border:0;
      box-shadow:none;
      display:block;
      background:#fff;
    }
    .page-card-inner .wp-block-image.is-resized,
    .single-main .wp-block-image.is-resized{
      justify-items:start;
    }
    .page-card-inner .wp-block-image.is-resized img,
    .single-main .wp-block-image.is-resized img{
      width:auto;
      max-width:100%;
      height:auto;
    }
    .page-card-inner .wp-block-image{
      position:relative;
    }
    .page-card-inner .wp-block-image a{
      display:block;
      position:relative;
      border-radius:var(--radius-lg);
      overflow:hidden;
      cursor:pointer;
    }
    .page-card-inner .wp-block-image a img{
      cursor:pointer;
    }
    .page-card-inner .wp-block-image a::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(120deg, rgba(0,0,0,.12), rgba(0,0,0,.06));
      opacity:0;
      transition:opacity .25s var(--ease-out);
      pointer-events:none;
    }
    .page-card-inner .wp-block-image a::before{
      content:"";
      position:absolute;
      right:16px;
      top:16px;
      width:36px;
      height:36px;
      border-radius:999px;
      background:rgba(255,255,255,.90) url("../../icons/solid/up-right-from-square.svg") center/14px 14px no-repeat;
      border:1px solid var(--border-soft);
      display:flex;
      align-items:center;
      justify-content:center;
      opacity:0;
      transform:translateX(-4px);
      transition:opacity .25s var(--ease-out), transform .25s var(--ease-out), background .25s var(--ease-out), border-color .25s var(--ease-out);
      pointer-events:none;
    }
    .page-card-inner .wp-block-image a:hover::after{
      opacity:1;
    }
    .page-card-inner .wp-block-image a:hover::before{
      opacity:1;
      transform:translateX(0);
      background-color:rgba(255,255,255,.98);
      border-color:var(--border-hover);
    }
    .page-card-inner .wp-block-image figcaption,
    .page-card-inner .wp-element-caption{
      margin-top:.55rem;
      font-size:.82rem;
      color:rgba(var(--ccva-dark-rgb), .66);
      font-weight:500;
      text-align:left;
      background:transparent;
      padding:0;
      border-radius:0;
      box-shadow:none;
      display:block;
      line-height:1.45;
    }
    .page-card-inner .wp-block-image figcaption::before,
    .page-card-inner .wp-element-caption::before{
      content:none;
      display:none;
    }
    .page-card-inner .wp-block-video,
    .single-main .wp-block-video,
    .plu-single__main .wp-block-video{
      max-width:100%;
      margin:1.8rem 0;
      overflow:visible;
    }
    .page-card-inner .wp-block-video video,
    .single-main .wp-block-video video,
    .plu-single__main .wp-block-video video{
      display:block;
      width:100% !important;
      max-width:100%;
      height:auto !important;
      max-height:none;
      object-fit:contain;
      transform:none;
    }
    .page-card-inner .wp-block-image figcaption a,
    .page-card-inner .wp-element-caption a{
      color:inherit;
      text-decoration:underline;
      text-underline-offset:2px;
    }
    .page-card-inner figure.alignleft,
    .single-main figure.alignleft{
      display:inline-block;
      clear:none;
      float:left;
      margin:0 1.5rem .9rem 0;
      width:auto;
      max-width:min(220px, 38%);
      padding:0;
      border:0;
      border-radius:0;
      background:transparent;
      box-shadow:none;
    }
    .page-card-inner figure.alignright,
    .single-main figure.alignright{
      display:inline-block;
      clear:none;
      float:right;
      margin:0 0 .9rem 1.5rem;
      width:auto;
      max-width:min(220px, 38%);
      padding:0;
      border:0;
      border-radius:0;
      background:transparent;
      box-shadow:none;
    }
    .page-card-inner figure.aligncenter,
    .single-main figure.aligncenter{
      display:table;
      float:none;
      margin:0 auto 1rem;
      width:fit-content;
      max-width:100%;
      padding:0;
      border:0;
      border-radius:0;
      background:transparent;
      box-shadow:none;
      justify-items:center;
    }
    .page-card-inner figure.alignleft img,
    .page-card-inner figure.alignright img,
    .page-card-inner figure.aligncenter img,
    .single-main figure.alignleft img{
      width:auto;
      max-width:100%;
      height:auto;
      border-radius:0;
      background:transparent;
      box-shadow:none;
      display:block;
    }
    .single-main figure.alignright img,
    .single-main figure.aligncenter img{
      width:auto;
      max-width:100%;
      height:auto;
      border-radius:0;
      background:transparent;
      box-shadow:none;
      display:block;
    }
    .page-card-inner .wp-block-image:not(:has(figcaption)),
    .single-main .wp-block-image:not(:has(figcaption)){
      padding:0;
      border:0;
      border-radius:0;
      background:transparent;
      box-shadow:none;
    }
    .page-card-inner .wp-block-columns:has(> .wp-block-column > .wp-block-image),
    .single-main .wp-block-columns:has(> .wp-block-column > .wp-block-image){
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
      gap:1.2rem 1rem;
      align-items:start;
    }
    .page-card-inner .wp-block-columns:has(> .wp-block-column > .wp-block-image) > .wp-block-column,
    .single-main .wp-block-columns:has(> .wp-block-column > .wp-block-image) > .wp-block-column{
      min-width:0;
    }
    .page-card-inner .wp-block-columns:has(> .wp-block-column > .wp-block-image) .wp-block-image,
    .single-main .wp-block-columns:has(> .wp-block-column > .wp-block-image) .wp-block-image{
      margin:0;
      padding:.9rem .75rem 1rem;
      width:100%;
      justify-items:center;
    }
    .page-card-inner .wp-block-columns:has(> .wp-block-column > .wp-block-image) .wp-block-image.is-resized,
    .single-main .wp-block-columns:has(> .wp-block-column > .wp-block-image) .wp-block-image.is-resized{
      justify-items:start;
    }
    .page-card-inner .wp-block-columns:has(> .wp-block-column > .wp-block-image) .wp-block-image.is-resized img,
    .single-main .wp-block-columns:has(> .wp-block-column > .wp-block-image) .wp-block-image.is-resized img{
      width:auto !important;
      max-width:100% !important;
      height:auto !important;
    }
    .page-card-inner .wp-block-columns:has(> .wp-block-column > .wp-block-image) .wp-block-image figcaption,
    .single-main .wp-block-columns:has(> .wp-block-column > .wp-block-image) .wp-block-image figcaption{
      text-align:center;
    }

    /* --- SINGLE PLU COMMUNAL --- */
    .plu-single{
      padding: 2.5rem 0 3.2rem;
    }
    .plu-single__header{
      background: #fff;
      border-radius: var(--radius-xl);
      border: 1px solid var(--border-soft);
      box-shadow: var(--shadow-sm);
      padding: 2rem 2.2rem;
      margin-bottom: 2rem;
    }
    .plu-single__meta{
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      font-size: .8rem;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: rgba(0,72,74,0.7);
      margin-bottom: .6rem;
    }
    .plu-single__title{
      font-size: clamp(2rem, 3.2vw, 2.8rem);
      color: var(--ccva-dark);
      margin: 0 0 .75rem 0;
      line-height: 1.05;
    }
    .plu-single__lead{
      margin: 0;
      color: rgba(44,62,80,0.85);
      font-size: 1.05rem;
      max-width: 720px;
    }
    .plu-single__layout{
      display: grid;
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    .post-template-single-plu .page-card,
    .single-post .plu-single .page-card{
      overflow:visible;
    }
    .plu-single .plu-single__notice-band{
      grid-column:1 / -1;
      margin:0 0 .15rem;
    }
    .plu-single .plu-single__notice-band .plu-single__box--note{
      margin:0;
      border-left:4px solid var(--ccva-danger);
      border-radius:var(--radius-md);
      background:rgba(var(--ccva-danger-rgb), .04);
      padding:.8rem .95rem;
    }
    .plu-single .plu-single__notice-band .plu-single__box--note strong{
      display:inline-flex;
      align-items:center;
      gap:.42rem;
    }
    .plu-single__layout > *{
      min-width:0;
    }
    .plu-single__card{
      background: #fff;
      border-radius: var(--radius-xl);
      border: 1px solid var(--border-soft);
      box-shadow: var(--shadow-sm);
      padding: 2rem;
    }
    .plu-single__sidebar{
      display: flex;
      flex-direction: column;
    }
    .plu-single__sticky{
      position: static;
      display: grid;
      gap: 1.25rem;
      align-content:start;
    }
    .plu-single__box{
      background: #fff;
      border-radius: var(--radius-lg);
      border: 1px solid var(--border-soft-strong);
      padding: 1.35rem 1.4rem;
      box-shadow: var(--shadow-sm);
      position: relative;
      overflow: hidden;
    }
    .plu-single__box strong{
      display: block;
      color: var(--ccva-dark);
      margin-bottom: .5rem;
      font-weight: 800;
    }
    .plu-single__box p{
      margin: 0;
      color: rgba(44,62,80,0.85);
    }
    .plu-single__box--note{
      background:rgba(var(--ccva-danger-rgb), .035);
      border:1px solid rgba(var(--ccva-danger-rgb), .28);
      box-shadow:none;
    }
    .plu-single__box--note,
    .plu-single__box--note strong,
    .plu-single__box--note p{
      color:var(--ccva-danger);
    }
    .plu-single__box--note strong{
      font-size:.82rem;
      margin-bottom:.3rem;
    }
    .plu-single__box--note p{
      font-size:.92rem;
      line-height:1.45;
      color:rgba(var(--ccva-danger-rgb), .82);
    }
    .plu-single .plu-single__box--cta{
      background:var(--ccva-teal-soft);
      border-radius:var(--radius-lg);
      padding:1.25rem 1.15rem 1.2rem;
      border:1px solid rgba(var(--ccva-teal-rgb), .56);
      box-shadow:0 14px 30px rgba(var(--ccva-teal-rgb), .18);
      transition:transform .32s var(--ease-out), box-shadow .32s var(--ease-out), border-color .32s var(--ease-out);
      position:relative;
      overflow:hidden;
    }
    .plu-single .plu-single__box--cta::after{
      content:none;
      display:none;
    }
    @media (min-width: 992px){
      .plu-single__sidebar.single-sidebar .plu-single__sticky.single-sticky{
        position:sticky;
        top:132px;
        max-height:none;
        grid-template-rows:auto minmax(0, 1fr);
        align-content:start;
      }
      .plu-single__box--cta{
        position:static;
      }
      .plu-single .plu-toc{
        min-height:0;
      }
      .plu-single .plu-toc__list{
        max-height:calc(100vh - 340px);
        overflow-y:auto;
        padding-right:.15rem;
      }
    }
    .plu-single .plu-single__cta-title{
      margin:0 0 .45rem;
      font-size:1.12rem;
      line-height:1.2;
      letter-spacing:-.01em;
      color:var(--ccva-darker);
    }
    .plu-single .plu-single__cta-title::after{
      content:none;
      display:none;
    }
    .plu-single .plu-single__cta-text{
      margin:0 0 .95rem;
      font-size:.92rem;
      line-height:1.52;
      color:rgba(var(--ccva-dark-rgb), .8);
      font-weight:400;
    }
    .plu-single .plu-single__box--cta .plu-single__cta{
      min-height:50px;
      padding:.78rem 1rem;
      font-size:.95rem;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.45rem;
      line-height:1;
      font-weight:900;
      letter-spacing:.02em;
      text-transform:none;
      color:rgba(var(--ccva-dark-rgb), .96);
      text-decoration:none;
      width:100%;
      border-radius:999px;
      background:rgba(var(--ccva-mustard-rgb), .96);
      border:1px solid rgba(var(--ccva-mustard-rgb), .62);
      box-shadow:0 12px 24px rgba(var(--ccva-mustard-rgb), .28);
    }
    .plu-single .plu-single__box--cta .plu-single__cta span{
      display:inline-flex;
      align-items:center;
      line-height:1;
    }
    .plu-single .plu-single__box--cta .plu-single__cta :is(i, .ccva-icon, svg){
      display:inline-flex;
      align-items:center;
      justify-content:center;
      line-height:1;
      font-size:.95rem;
      margin-left:.15rem;
      color:rgba(0,72,74,.86);
      transition:transform .25s var(--ease-out);
    }
    .plu-single .plu-single__box--cta:hover{
      transform:translateY(-3px);
      box-shadow:0 24px 50px rgba(var(--ccva-teal-rgb), .24);
      border-color:rgba(var(--ccva-teal-rgb), .72);
    }
    .plu-single .plu-single__box--cta:hover .plu-single__cta :is(i, .ccva-icon, svg){
      transform:translateX(2px);
    }
    .plu-single__box--note i{
      margin-right:.9rem;
      color:var(--ccva-danger);
    }
    .plu-toc .panel-title{
      margin-bottom:.75rem;
    }
    .plu-toc__list{
      list-style:none;
      margin:0;
      padding:0;
      display:grid;
      gap:0;
    }
    .plu-toc__item a{
      display:block;
      padding:.55rem .75rem;
      border-radius:10px;
      border:1px solid var(--border-soft);
      background:rgba(255,255,255,.9);
      color:rgba(0,72,74,.92);
      font-weight:800;
      font-size:.85rem;
      transition:transform .2s var(--ease-out), border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), color .2s var(--ease-out);
    }
    .plu-toc__item a:hover{
      transform:translateY(-1px);
      border-color:var(--border-hover);
      box-shadow:var(--shadow-sm);
      color:var(--ccva-teal);
    }
    @media (min-width: 992px){
      .plu-single__layout{
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
      }
      .single-layout{
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
      }}
    @media (max-width: 991px){
      .single-sidebar{
        order:-1;
      }
      .single-sticky{
        position: static;
      }
      .single-toc{
        padding:0;
        border:none;
        box-shadow:none;
        background:transparent;
        max-width:100%;
        box-sizing:border-box;
      }
      .single-toc__summary{
        width:auto;
        display:inline-flex;
        padding:.45rem .7rem;
        border:1px solid var(--border-soft);
        border-radius:999px;
        background:#fff;
        box-shadow:var(--shadow-sm);
        max-width:100%;
        box-sizing:border-box;
        align-self:flex-start;
      }
      .single-toc__list{
        margin-top:.75rem;
        padding:.75rem;
        border:1px solid var(--border-soft);
        border-radius:var(--radius-lg);
        background:#fff;
        box-shadow:var(--shadow-sm);
        max-width:100%;
        box-sizing:border-box;
      }
      .single-readtime{
        display:none;
      }
      .plu-single__sidebar{
        order:-1;
      }
      .plu-single__sticky{
        position: static;
      }
      .plu-single__card,
      .plu-single__header{
        padding: 1.6rem;
      }}
    @media (max-width: 575px){
      .plu-single__box--cta{
        padding:1rem .95rem 1.05rem;
      }
    }

    /* --- SINGLE Modele article PLUiH (mobile rhythm) --- */
    @media (max-width: 991.98px){
      .post-template-single-modele-article-pluih .page-section .row{
        row-gap: 0;
      }
      .post-template-single-modele-article-pluih .page-section .row > .col-lg-8{
        order: 1;
      }
      .post-template-single-modele-article-pluih .page-section .row > .col-lg-4{
        order: 2;
      }
      .post-template-single-modele-article-pluih .page-section .row > .col-lg-4{
        margin-top: 2.1rem;
      }
      .post-template-single-modele-article-pluih .page-section .row > .col-lg-4 > .page-card{
        border-color: var(--border-soft);
      }
      .post-template-single-modele-article-pluih .page-section .row > .col-lg-4 > .page-card > .page-card-inner{
        padding: 1.1rem !important;
      }
      .post-template-single-modele-article-pluih .col-lg-4 .panel-title{
        margin-bottom: .7rem;
      }
      .post-template-single-modele-article-pluih .col-lg-4 .plu-toc__list{
        gap: .55rem;
      }
      .post-template-single-modele-article-pluih .col-lg-4 .plu-toc__item a{
        padding: .42rem .5rem;
        border-radius: 12px;
        min-height: 0;
      }
      .post-template-single-modele-article-pluih .col-lg-4 .plu-toc__item a img{
        width: 44px !important;
        height: 44px !important;
        border-radius: 10px;
        flex: 0 0 44px;
      }
      .post-template-single-modele-article-pluih .col-lg-4 .plu-toc__item a .fw-bold{
        font-size: .86rem;
        line-height: 1.3;
        font-weight: 800 !important;
      }
    }
    .h3{
      margin:2.1rem 0 1rem;
      font-weight:900;
      color:var(--ccva-dark);
      letter-spacing:-.02em;
      font-size:1.22rem;
      display:flex;
      align-items:center;
      gap:.65rem;
      flex-wrap:wrap;
    }
    .h3 .mini-dash{
      width:20px;
      height:3px;
      border-radius:999px;
      background:rgba(216,171,20,.85);
      display:inline-block;
    }

    .p{
      margin:0 0 1.15rem;
      color:rgba(15,47,48,.80);
      font-weight:500;
      font-size:1rem;
    }

    ul.info-list{
      margin:0 0 1.35rem;
      padding-left:1.25rem;
      color:rgba(15,47,48,.80);
      font-weight:500;
    }
    ul.info-list li{margin-bottom:.5rem}
    ul.info-list li::marker{color:var(--ccva-teal); font-weight:900}

    /* TOC (structure) */
    .toc{
      margin:1.1rem 0 1.55rem;
      border:1px solid rgba(0,149,146,.18);
      background:rgba(0,149,146,.06);
      border-radius:var(--radius-xl);
      overflow:hidden;
      box-shadow:var(--shadow-sm);
    }
    .toc summary{
      list-style:none;
      cursor:pointer;
      padding:1rem 1.1rem;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      color:rgba(0,72,74,.92);
      font-weight:900;
      user-select:none;
    }
    .toc summary::-webkit-details-marker{display:none}
    .toc summary .left{
      display:inline-flex;
      align-items:center;
      gap:.65rem;
    }
    .toc summary i{color:var(--ccva-teal)}
    .toc summary .chev{
      color:rgba(0,72,74,.55);
      transition:transform .25s var(--ease-out);
    }
    .toc[open] summary .chev{transform:rotate(180deg)}
    .toc .toc-body{
      padding:0 1.1rem 1.05rem;
      border-top:1px solid rgba(0,0,0,.05);
      background:rgba(255,255,255,.70);
    }
    .toc-links{
      display:grid;
      grid-template-columns:repeat(2, minmax(0,1fr));
      gap:.65rem 1rem;
      padding:.9rem 0 0;
      margin:0;
      list-style:none;
    }
    .toc-links a{
      display:flex;
      align-items:center;
      gap:.55rem;
      padding:.65rem .75rem;
      border-radius:14px;
      border:1px solid rgba(0,0,0,.06);
      background:rgba(255,255,255,.92);
      box-shadow:0 10px 20px rgba(0,0,0,.05);
      color:rgba(0,72,74,.90);
      font-weight:900;
      transition:transform .25s var(--ease-out), border-color .25s var(--ease-out), box-shadow .25s var(--ease-out);
    }
    .toc-links a i{color:var(--ccva-mustard)}
    .toc-links a:hover{
      transform:translateY(-2px);
      border-color:var(--border-hover);
      box-shadow:0 16px 32px rgba(0,72,74,.12);
    }

    /* Callout (mieux structuré) */
    .callout{
      margin:1.35rem 0 1.55rem;
      padding:1.15rem 1.25rem;
      border-radius:var(--radius-lg);
      border-left:4px solid var(--ccva-teal);
      background:rgba(0,149,146,.08);
      color:rgba(0,72,74,.92);
      font-weight:600;
      display:flex;
      gap:1rem;
      align-items:flex-start;
      box-shadow:var(--shadow-sm);
    }
    .callout i{color:var(--ccva-teal); font-size:1.2rem; margin-top:2px}
    .callout strong{color:var(--ccva-darker); font-weight:900}

    /* Split cards */
    .split{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:1.35rem;
      margin:1.35rem 0 2.1rem;
    }
    @media (max-width: 991.98px){
      .split{
        grid-template-columns:1fr;
        gap:.95rem;
      }
      .split .mini-card{
        min-width:0;
      }
    }
    .mini-card{
      background:#fff;
      border:1px solid var(--border-soft-strong);
      border-radius:var(--radius-xl);
      padding:1.25rem 1.25rem;
      height:100%;
      transition:transform .28s var(--ease-out), box-shadow .28s var(--ease-out), border-color .28s var(--ease-out);
      box-shadow:0 10px 26px rgba(0,0,0,.05);
    }
    .mini-card:hover{
      transform:translateY(-2px);
      box-shadow:var(--shadow-md);
      border-color:var(--border-hover);
    }
    .mini-card h4{
      margin:0 0 .45rem;
      font-size:1.12rem;
      font-weight:900;
      color:var(--ccva-dark);
      letter-spacing:-.02em;
    }
    .mini-card p{
      margin:0;
      color:rgba(15,47,48,.76);
      font-weight:600;
      font-size:.95rem;
      line-height:1.55;
    }
    #typedossierdetails,
    .typedossierdetails{
      display:none !important;
    }

    /* Table */
    .table-wrap{
      border-radius:var(--radius-xl);
      overflow:hidden;
      border:1px solid var(--border-soft);
      box-shadow:var(--shadow-sm);
      margin:1.35rem 0 2.1rem;
      background:#fff;
    }
    .page-card-inner .ccva-files-list-wrap,
    .single-main .ccva-files-list-wrap,
    .plu-single__main .ccva-files-list-wrap,
    .post-template-single-cartes .prose .ccva-files-list-wrap,
    .post-template-single-cartes .map-section .ccva-files-list-wrap{
      margin:1.1rem 0 2rem;
    }
    .page-card-inner .ccva-files-list,
    .single-main .ccva-files-list,
    .plu-single__main .ccva-files-list,
    .post-template-single-cartes .prose .ccva-files-list,
    .post-template-single-cartes .map-section .ccva-files-list{
      list-style:none;
      margin:0;
      padding:0;
      border:1px solid var(--border-soft);
      border-radius:var(--radius-md);
      background:#fff;
      box-shadow:var(--shadow-sm);
      overflow:hidden;
    }
    .page-card-inner .ccva-file-item,
    .single-main .ccva-file-item,
    .plu-single__main .ccva-file-item,
    .post-template-single-cartes .prose .ccva-file-item,
    .post-template-single-cartes .map-section .ccva-file-item{
      display:flex;
      align-items:center;
      gap:1rem;
      padding:.92rem 1rem;
      border-bottom:1px solid rgba(0,0,0,.06);
      background:#fff;
      transition:background-color .2s var(--ease-out);
    }
    .page-card-inner .ccva-file-item:last-child,
    .single-main .ccva-file-item:last-child,
    .plu-single__main .ccva-file-item:last-child{
      border-bottom:0;
    }
    .page-card-inner .ccva-file-item:hover,
    .single-main .ccva-file-item:hover,
    .plu-single__main .ccva-file-item:hover{
      background:rgba(var(--ccva-teal-rgb), .04);
    }
    .page-card-inner .ccva-file-main,
    .single-main .ccva-file-main,
    .plu-single__main .ccva-file-main{
      display:flex;
      align-items:center;
      gap:.72rem;
      min-width:0;
      flex:1 1 auto;
    }
    .page-card-inner .ccva-file-icon,
    .single-main .ccva-file-icon,
    .plu-single__main .ccva-file-icon{
      width:26px;
      display:inline-flex;
      justify-content:center;
      font-size:1.1rem;
      line-height:1;
      flex:0 0 auto;
    }
    .page-card-inner .ccva-file-icon--pdf,
    .single-main .ccva-file-icon--pdf,
    .plu-single__main .ccva-file-icon--pdf{ color:#d94646; }
    .page-card-inner .ccva-file-icon--word,
    .single-main .ccva-file-icon--word,
    .plu-single__main .ccva-file-icon--word{ color:#2563eb; }
    .page-card-inner .ccva-file-icon--excel,
    .single-main .ccva-file-icon--excel,
    .plu-single__main .ccva-file-icon--excel{ color:#15803d; }
    .page-card-inner .ccva-file-icon--image,
    .single-main .ccva-file-icon--image,
    .plu-single__main .ccva-file-icon--image{ color:#0f766e; }
    .page-card-inner .ccva-file-icon--generic,
    .single-main .ccva-file-icon--generic,
    .plu-single__main .ccva-file-icon--generic{ color:rgba(var(--ccva-dark-rgb), .58); }
    .page-card-inner .ccva-file-name,
    .single-main .ccva-file-name,
    .plu-single__main .ccva-file-name{
      min-width:0;
      overflow-wrap:anywhere;
      word-break:break-word;
      font-weight:700;
      color:rgba(15,47,48,.9);
      font-size:.98rem;
      line-height:1.35;
    }
    .page-card-inner .ccva-file-size,
    .single-main .ccva-file-size,
    .plu-single__main .ccva-file-size{
      flex:0 0 auto;
      min-width:68px;
      text-align:right;
      color:rgba(var(--ccva-dark-rgb), .65);
      font-size:.86rem;
      font-weight:600;
      letter-spacing:.01em;
    }
    .page-card-inner .ccva-file-download,
    .single-main .ccva-file-download,
    .plu-single__main .ccva-file-download{
      flex:0 0 auto;
      min-height:38px;
      padding:.45rem .9rem;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.38rem;
      font-size:.84rem;
      line-height:1;
      font-weight:800;
      white-space:nowrap;
    }
    .page-card-inner .ccva-files-table,
    .single-main .ccva-files-table,
    .plu-single__main .ccva-files-table,
    .post-template-single-cartes .prose .ccva-files-table,
    .post-template-single-cartes .map-section .ccva-files-table,
    .page-card-inner .wp-block-table table,
    .post-template-single-cartes .prose .wp-block-table table,
    .post-template-single-cartes .map-section .wp-block-table table,
    .post-template-single-cartes .prose .wp-block-table.has-fixed-layout table,
    .post-template-single-cartes .map-section .wp-block-table.has-fixed-layout table{
      width:100%;
      border-collapse:separate !important;
      border-spacing:0 !important;
      table-layout:auto !important;
      background:#fff;
      border:1px solid var(--border-soft);
      border-radius:var(--radius-md);
      overflow:hidden;
    }
    .page-card-inner .ccva-files-table thead th,
    .single-main .ccva-files-table thead th,
    .plu-single__main .ccva-files-table thead th,
    .post-template-single-cartes .prose .ccva-files-table thead th,
    .post-template-single-cartes .map-section .ccva-files-table thead th,
    .page-card-inner .wp-block-table thead th,
    .post-template-single-cartes .prose .wp-block-table thead th,
    .post-template-single-cartes .map-section .wp-block-table thead th{
      background:var(--ccva-teal-soft);
      color:rgba(0,72,74,.92);
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:1px;
      font-size:.75rem;
      padding:1rem;
      text-align:left;
      border:0 !important;
      border-bottom:1px solid rgba(255,255,255,.16) !important;
      vertical-align:middle;
    }
    .page-card-inner .ccva-files-table tbody td,
    .single-main .ccva-files-table tbody td,
    .plu-single__main .ccva-files-table tbody td,
    .post-template-single-cartes .prose .ccva-files-table tbody td,
    .post-template-single-cartes .map-section .ccva-files-table tbody td,
    .page-card-inner .wp-block-table tbody td,
    .post-template-single-cartes .prose .wp-block-table tbody td,
    .post-template-single-cartes .map-section .wp-block-table tbody td{
      padding:1.05rem 1rem;
      vertical-align:top;
      color:rgba(15,47,48,.80);
      font-weight:600;
      font-size:.92rem;
      border:0 !important;
      border-bottom:1px solid rgba(0,0,0,.05) !important;
      border-right:1px solid rgba(0,0,0,.04);
    }
    .page-card-inner .ccva-files-table tbody td:last-child,
    .page-card-inner .ccva-files-table td:last-child,
    .single-main .ccva-files-table tbody td:last-child,
    .single-main .ccva-files-table td:last-child,
    .plu-single__main .ccva-files-table tbody td:last-child,
    .plu-single__main .ccva-files-table td:last-child,
    .post-template-single-cartes .prose .ccva-files-table tbody td:last-child,
    .post-template-single-cartes .prose .ccva-files-table td:last-child,
    .post-template-single-cartes .map-section .ccva-files-table tbody td:last-child,
    .post-template-single-cartes .map-section .ccva-files-table td:last-child,
    .page-card-inner .wp-block-table tbody td:last-child,
    .page-card-inner .wp-block-table td:last-child,
    .post-template-single-cartes .prose .wp-block-table tbody td:last-child,
    .post-template-single-cartes .prose .wp-block-table td:last-child,
    .post-template-single-cartes .map-section .wp-block-table tbody td:last-child,
    .post-template-single-cartes .map-section .wp-block-table td:last-child{border-right:none}
    .page-card-inner .ccva-files-table tbody tr:last-child td,
    .single-main .ccva-files-table tbody tr:last-child td,
    .plu-single__main .ccva-files-table tbody tr:last-child td,
    .post-template-single-cartes .prose .ccva-files-table tbody tr:last-child td,
    .post-template-single-cartes .map-section .ccva-files-table tbody tr:last-child td,
    .page-card-inner .wp-block-table tbody tr:last-child td,
    .post-template-single-cartes .prose .wp-block-table tbody tr:last-child td,
    .post-template-single-cartes .map-section .wp-block-table tbody tr:last-child td{border-bottom:none}
    .page-card-inner .ccva-files-table tbody tr:nth-child(even) td,
    .single-main .ccva-files-table tbody tr:nth-child(even) td,
    .plu-single__main .ccva-files-table tbody tr:nth-child(even) td,
    .post-template-single-cartes .prose .ccva-files-table tbody tr:nth-child(even) td,
    .post-template-single-cartes .map-section .ccva-files-table tbody tr:nth-child(even) td,
    .page-card-inner .wp-block-table tbody tr:nth-child(even) td,
    .post-template-single-cartes .prose .wp-block-table tbody tr:nth-child(even) td,
    .post-template-single-cartes .map-section .wp-block-table tbody tr:nth-child(even) td{background:rgba(0,72,74,.03)}
    .page-card-inner .wp-block-table.is-style-stripes tbody tr:nth-child(odd) td,
    .post-template-single-cartes .prose .wp-block-table.is-style-stripes tbody tr:nth-child(odd) td,
    .post-template-single-cartes .map-section .wp-block-table.is-style-stripes tbody tr:nth-child(odd) td{
      background:#fff;
    }

    .td-icon-cell{
      font-weight:900;
      color:var(--ccva-darker);
      width:170px;
      white-space:nowrap;
    }
    .page-card-inner .ccva-files-table .ccva-filetype,
    .single-main .ccva-files-table .ccva-filetype,
    .plu-single__main .ccva-files-table .ccva-filetype{
      text-align:center;
      width:110px;
      font-size:1.22rem;
      line-height:1;
    }
    .page-card-inner .ccva-files-table .ccva-file-download,
    .single-main .ccva-files-table .ccva-file-download,
    .plu-single__main .ccva-files-table .ccva-file-download{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.4rem;
      white-space:nowrap;
    }
    @media (max-width: 991px){
      .page-card-inner .table-wrap,
      .single-main .table-wrap,
      .plu-single__main .table-wrap,
      .post-template-single-cartes .prose .table-wrap,
      .post-template-single-cartes .map-section .table-wrap{
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
      }
      .page-card-inner .ccva-files-table,
      .single-main .ccva-files-table,
      .plu-single__main .ccva-files-table,
      .post-template-single-cartes .prose .ccva-files-table,
      .post-template-single-cartes .map-section .ccva-files-table{
        width:100%;
        min-width:560px;
      }
      .page-card-inner .ccva-files-table td:first-child,
      .single-main .ccva-files-table td:first-child,
      .plu-single__main .ccva-files-table td:first-child{
        overflow-wrap:anywhere;
        word-break:break-word;
      }
    }
    @media (max-width: 767px){
      .page-card,
      .page-card-inner,
      .single-layout,
      .single-main,
      .single-sidebar,
      .single-sticky,
      .single-toc,
      .single-toc__list{
        min-width:0;
        max-width:100%;
        box-sizing:border-box;
      }
      .page-card-inner,
      .single-main{
        overflow-x:clip;
      }
      .page-card-inner > *,
      .single-main > *{
        min-width:0;
        max-width:100%;
        box-sizing:border-box;
      }
      .page-card-inner :is(p, li, a:not(.btn), span, strong, em),
      .single-main :is(p, li, a:not(.btn), span, strong, em){
        overflow-wrap:anywhere;
        word-break:break-word;
      }
      .single-toc__summary{
        padding:.4rem .6rem;
      }
      .single-toc__summary .panel-title{
        font-size:.95rem;
      }
      .single-toc__chev{
        width:30px;
        height:30px;
      }
      .page-card-inner img,
      .page-card-inner .wp-block-image img,
      .single-main img,
      .plu-single__main img{
        max-width:100%;
        height:auto;
      }
      .page-card-inner .wp-block-table table,
      .single-main .wp-block-table table,
      .plu-single__main .wp-block-table table,
      .post-template-single-cartes .prose .wp-block-table table,
      .post-template-single-cartes .map-section .wp-block-table table,
      .post-template-single-cartes .prose .wp-block-table.has-fixed-layout table,
      .post-template-single-cartes .map-section .wp-block-table.has-fixed-layout table{
        width:max-content;
        max-width:none;
        min-width:560px;
        table-layout:auto !important;
      }
      .page-card-inner .wp-block-table,
      .single-main .wp-block-table,
      .plu-single__main .wp-block-table,
      .post-template-single-cartes .prose .wp-block-table,
      .post-template-single-cartes .map-section .wp-block-table{
        display:block;
        width:100%;
        max-width:100%;
        margin-left:0;
        margin-right:0;
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
        box-sizing:border-box;
      }
      .page-card-inner .wp-block-table thead th,
      .single-main .wp-block-table thead th,
      .plu-single__main .wp-block-table thead th,
      .post-template-single-cartes .prose .wp-block-table thead th,
      .post-template-single-cartes .map-section .wp-block-table thead th{
        font-size:.69rem;
        line-height:1.3;
        text-transform:none;
        letter-spacing:.02em;
        padding:.62rem .56rem;
      }
      .page-card-inner .wp-block-table tbody td,
      .single-main .wp-block-table tbody td,
      .plu-single__main .wp-block-table tbody td,
      .post-template-single-cartes .prose .wp-block-table tbody td,
      .post-template-single-cartes .map-section .wp-block-table tbody td{
        font-size:.88rem;
        line-height:1.45;
        padding:.72rem .56rem;
      }
      .page-card-inner .wp-block-table th,
      .page-card-inner .wp-block-table td,
      .single-main .wp-block-table th,
      .single-main .wp-block-table td,
      .plu-single__main .wp-block-table th,
      .plu-single__main .wp-block-table td,
      .post-template-single-cartes .prose .wp-block-table th,
      .post-template-single-cartes .prose .wp-block-table td,
      .post-template-single-cartes .map-section .wp-block-table th,
      .post-template-single-cartes .map-section .wp-block-table td{
        white-space:normal !important;
        overflow-wrap:anywhere;
        word-break:break-word;
        hyphens:auto;
      }
      .page-card-inner .wp-block-table th:last-child,
      .page-card-inner .wp-block-table td:last-child,
      .single-main .wp-block-table th:last-child,
      .single-main .wp-block-table td:last-child,
      .plu-single__main .wp-block-table th:last-child,
      .plu-single__main .wp-block-table td:last-child{
        min-width:120px;
      }

      /* Visualiseur fichiers: mode cartes verticales sur mobile */
      .page-card-inner .ccva-files-table,
      .single-main .ccva-files-table,
      .plu-single__main .ccva-files-table{
        min-width:0;
        border:0;
        border-spacing:0;
      }
      .page-card-inner .ccva-files-table thead,
      .single-main .ccva-files-table thead,
      .plu-single__main .ccva-files-table thead{
        position:absolute;
        width:1px;
        height:1px;
        margin:-1px;
        padding:0;
        overflow:hidden;
        clip:rect(0,0,0,0);
        white-space:nowrap;
        border:0;
      }
      .page-card-inner .ccva-files-table tbody,
      .single-main .ccva-files-table tbody,
      .plu-single__main .ccva-files-table tbody{
        display:grid;
        gap:.85rem;
      }
      .page-card-inner .ccva-files-table tr,
      .single-main .ccva-files-table tr,
      .plu-single__main .ccva-files-table tr{
        display:block;
        border:1px solid var(--border-soft);
        border-radius:var(--radius-md);
        background:#fff;
        box-shadow:var(--shadow-sm);
        padding:.2rem 0;
      }
      .page-card-inner .ccva-files-table td,
      .single-main .ccva-files-table td,
      .plu-single__main .ccva-files-table td{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:.85rem;
        width:100%;
        border:0 !important;
        padding:.68rem .8rem;
      }
      .page-card-inner .ccva-files-table td + td,
      .single-main .ccva-files-table td + td,
      .plu-single__main .ccva-files-table td + td{
        border-top:1px solid rgba(0,0,0,.05) !important;
      }
      .page-card-inner .ccva-files-table td::before,
      .single-main .ccva-files-table td::before,
      .plu-single__main .ccva-files-table td::before{
        content:attr(data-label);
        flex:0 0 42%;
        color:rgba(15,47,48,.72);
        font-weight:800;
        font-size:.78rem;
        letter-spacing:.02em;
        text-transform:uppercase;
      }
      .page-card-inner .ccva-files-table td > *,
      .single-main .ccva-files-table td > *,
      .plu-single__main .ccva-files-table td > *{
        flex:1 1 auto;
        min-width:0;
      }
      .page-card-inner .ccva-files-table td:first-child,
      .single-main .ccva-files-table td:first-child,
      .plu-single__main .ccva-files-table td:first-child{
        overflow-wrap:anywhere;
        word-break:break-word;
      }
      .page-card-inner .ccva-files-table td[data-label="Lien de telechargement"] a,
      .single-main .ccva-files-table td[data-label="Lien de telechargement"] a,
      .plu-single__main .ccva-files-table td[data-label="Lien de telechargement"] a{
        width:100%;
        justify-content:center;
      }
      .page-card-inner .ccva-file-item,
      .single-main .ccva-file-item,
      .plu-single__main .ccva-file-item{
        display:grid;
        grid-template-columns:1fr auto;
        align-items:center;
        gap:.7rem .8rem;
      }
      .page-card-inner .ccva-file-main,
      .single-main .ccva-file-main,
      .plu-single__main .ccva-file-main{
        grid-column:1 / -1;
      }
      .page-card-inner .ccva-file-size,
      .single-main .ccva-file-size,
      .plu-single__main .ccva-file-size{
        text-align:left;
        font-size:.8rem;
      }
      .page-card-inner .ccva-file-download,
      .single-main .ccva-file-download,
      .plu-single__main .ccva-file-download{
        width:100%;
        justify-content:center;
      }
    }

    /* Tabs (single) */
    .page-card-inner .nav-tabs .nav-link{
      color:var(--ccva-dark);
      position:relative;
      border:0;
      transition:color .16s ease, background-color .16s ease, border-color .16s ease;
    }
    .page-card-inner .nav-tabs .nav-link:hover{
      color:var(--ccva-dark);
      background-color:#f3fbfa;
      border-color:transparent;
    }
    .page-card-inner .nav-tabs .nav-link.active{
      background-color:#ebf7f6;
      color:var(--ccva-dark);
    }
    .page-card-inner .tab-content.border{
      border:0 !important;
    }
    .page-card-inner .tab-content > .tab-pane{
      transition:opacity .12s ease, transform .12s ease;
      will-change:opacity, transform;
    }
    .page-card-inner .tab-content > .tab-pane.fade{
      opacity:0;
      transform:translateY(3px);
    }
    .page-card-inner .tab-content > .tab-pane.fade.show{
      opacity:1;
      transform:translateY(0);
    }
}

    /* Comments (single) */
    .single-comments{
      margin-top:2.5rem;
      padding:1.2rem 0 0;
      border-radius:0;
      border:0;
      background:transparent;
      box-shadow:none;
    }
    .single-comments::before{
      content:"";
      display:block;
      height:1px;
      background:var(--border-soft);
      margin:0 0 1.2rem;
    }
    .single-comments .ccva-comments{
      display:flex;
      flex-direction:column;
      gap:1.6rem;
    }
    .single-comments .alert.alert-success.ccva-comment-flash{
      display:flex;
      align-items:center;
      margin:0 0 .8rem;
      scroll-margin-top:120px;
    }
    .single-comments .ccva-comment-flash i{
      margin-right:.55rem;
    }
    .single-comments .ccva-comments__title{
      font-size:2rem;
      font-weight:800;
      font-family:'Outfit', sans-serif;
      color:var(--ccva-dark);
      margin:0 0 .2rem;
      display:flex;
      align-items:center;
      gap:.5rem;
      letter-spacing:-0.01em;
    }
    .single-comments .ccva-comments__count{
      font-size:2.35rem;
      font-weight:900;
      letter-spacing:-0.02em;
    }
    .single-comments .ccva-comments__hash{
      color:var(--ccva-mustard);
      font-weight:900;
    }
    .single-comments .ccva-chat-list{
      list-style:none;
      padding:0;
      margin:0;
      display:flex;
      flex-direction:column;
      gap:1.85rem;
    }
    .single-comments .ccva-chat-msg{
      display:flex;
      width:100%;
    }
    .single-comments .ccva-chat-msg.is-user{
      justify-content:flex-start;
    }
    .single-comments .ccva-chat-msg.is-admin{
      justify-content:flex-end;
    }
    .single-comments .ccva-chat-msg__inner{
      display:flex;
      align-items:flex-end;
      gap:.65rem;
      max-width:88%;
    }
    .single-comments .ccva-chat-msg.is-admin .ccva-chat-msg__inner{
      flex-direction:row-reverse;
    }
    .single-comments .ccva-chat-msg__avatar{
      flex:0 0 auto;
    }
    .single-comments .ccva-chat-avatar{
      width:42px;
      height:42px;
      border-radius:999px;
      border:2px solid rgba(var(--ccva-teal-rgb), .18);
      box-shadow:var(--shadow-sm);
    }
    .single-comments .ccva-chat-msg.is-admin .ccva-chat-avatar{
      border-color:rgba(var(--ccva-mustard-rgb), .85);
      box-shadow:0 0 0 3px rgba(var(--ccva-mustard-rgb), .18), var(--shadow-sm);
    }
    .single-comments .ccva-chat-msg__bubble{
      position:relative;
      --bubble-bg: rgba(255,255,255,.98);
      background:var(--bubble-bg);
      border:1px solid var(--border-soft);
      border-radius:20px 20px 20px 6px;
      padding:1.1rem 1.25rem;
      box-shadow:0 10px 24px rgba(0,72,74,.08);
      transition:transform .25s var(--ease-out, ease), box-shadow .25s var(--ease-out, ease);
    }
    .single-comments .ccva-chat-msg.is-admin .ccva-chat-msg__bubble{
      --bubble-bg: rgba(var(--ccva-teal-rgb), .08);
      background:var(--bubble-bg);
      border-color:rgba(var(--ccva-teal-rgb), .18);
      border-radius:20px 20px 6px 20px;
    }
    .single-comments .ccva-chat-msg__bubble::after{
      content:"";
      position:absolute;
      bottom:12px;
      width:0;
      height:0;
      border-style:solid;
    }
    .single-comments .ccva-chat-msg.is-user .ccva-chat-msg__bubble::after{
      left:-9px;
      border-width:8px 9px 8px 0;
      border-color:transparent var(--bubble-bg) transparent transparent;
    }
    .single-comments .ccva-chat-msg.is-admin .ccva-chat-msg__bubble::after{
      right:-9px;
      border-width:8px 0 8px 9px;
      border-color:transparent transparent transparent var(--bubble-bg);
    }
    .single-comments .ccva-chat-msg__bubble:hover{
      transform:translateY(-1px) scale(1.01);
      box-shadow:0 14px 32px rgba(0,72,74,.12);
    }
    .single-comments .ccva-chat-msg__meta{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:.45rem .6rem;
      font-size:.88rem;
      color:rgba(var(--ccva-dark-rgb), .6);
      margin-bottom:.55rem;
    }
    .single-comments .ccva-chat-msg__name{
      font-weight:800;
      color:rgba(var(--ccva-dark-rgb), .9);
    }
    .single-comments .ccva-chat-msg__name::before{
      content:"#";
      color:var(--ccva-mustard);
      font-weight:900;
      margin-right:.35rem;
    }
    .single-comments .ccva-pill--chat-badge{
      background-color: rgba(var(--ccva-mustard-rgb), .18);
      border: 1px solid rgba(var(--ccva-mustard-rgb), .45);
      color: rgba(0,50,51,.92);
      padding:.16rem .55rem;
      font-weight:900;
      letter-spacing:.06em;
      font-size:.65rem;
    }
    .single-comments .ccva-chat-msg__time{
      opacity:.6;
    }
    .single-comments .ccva-chat-msg__content{
      color:rgba(var(--ccva-dark-rgb), .92);
      font-size:1rem;
      line-height:1.7;
    }
    .single-comments .ccva-chat-msg__content p{
      margin:0 0 .8rem;
    }
    .single-comments .ccva-chat-msg__content p:last-child{
      margin-bottom:0;
    }
    .single-comments .ccva-chat-msg__pending{
      display:block;
      font-size:.78rem;
      color:rgba(var(--ccva-dark-rgb), .6);
      margin-bottom:.35rem;
    }
    .single-comments .ccva-chat-msg__actions{
      margin-top:.25rem;
      display:flex;
      align-items:center;
      gap:.4rem;
    }
    .single-comments .ccva-chat-msg__actions .comment-reply-link{
      margin:0;
    }
    .single-comments .ccva-chat-msg__actions a{
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      font-size:.85rem;
      font-weight:700;
      color:var(--ccva-teal);
      text-decoration:none;
      padding:.22rem .6rem;
      border-radius:999px;
      background:rgba(var(--ccva-teal-rgb), .06);
      border:1px dashed rgba(var(--ccva-teal-rgb), .25);
      line-height:1;
    }
    .single-comments .ccva-chat-msg__actions a:hover{
      color:var(--ccva-dark);
      border-color:rgba(var(--ccva-teal-rgb), .45);
      box-shadow:0 6px 14px rgba(0,72,74,.12);
    }
    .single-comments .ccva-chat-msg__content blockquote,
    .single-comments .ccva-chat-msg__content pre,
    .single-comments .ccva-chat-msg__content .wp-block-cover,
    .single-comments .ccva-chat-msg__content .wp-block-group,
    .single-comments .ccva-chat-msg__content .wp-block-media-text{
      background:transparent !important;
      border:0;
      box-shadow:none;
      padding:0;
    }
    .single-comments .comment-respond{
      margin-top:2rem;
      padding-top:1.4rem;
      border-top:1px solid var(--border-soft);
    }
    .single-comments .comment-respond .comment-reply-title{
      font-weight:800;
      margin-bottom:.75rem;
      font-size:1.4rem;
      display:flex;
      align-items:center;
      gap:.6rem;
    }
    .single-comments .ccva-comment-form{
      display:grid;
      gap:1.2rem 1.4rem;
      padding:0;
      border-radius:0;
      background:transparent;
      border:0;
      box-shadow:none;
    }
    .single-comments .ccva-comment-form .comment-form-author,
    .single-comments .ccva-comment-form .comment-form-email,
    .single-comments .ccva-comment-form .comment-form-url{
      margin-top:.2rem;
    }
    .single-comments .ccva-comment-form p{
      margin:0;
    }
    .single-comments .comment-notes{
      font-size:.9rem;
      color:rgba(var(--ccva-dark-rgb), .65);
      margin-top:.2rem;
    }
    .single-comments .comment-notes--moderation{
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      margin-top:.3rem;
      padding:.4rem .65rem;
      border-radius:999px;
      background:rgba(var(--ccva-teal-rgb), .08);
      border:1px solid rgba(var(--ccva-teal-rgb), .18);
      font-weight:700;
    }
    .single-comments .ccva-comment-form label{
      display:block;
      font-weight:700;
      color:var(--ccva-dark);
      margin-bottom:.35rem;
    }
    .single-comments .ccva-comment-form .required{
      color:var(--ccva-mustard);
      font-weight:800;
    }
    .single-comments .ccva-comment-form .comment-help{
      display:block;
      margin-top:.4rem;
      font-size:.85rem;
      color:rgba(var(--ccva-dark-rgb), .6);
    }
    .single-comments .ccva-comment-form .optional{
      font-weight:600;
      color:rgba(var(--ccva-dark-rgb), .55);
      margin-left:.35rem;
    }
    .single-comments .ccva-comment-form .comment-form-comment{
      grid-column:1 / -1;
    }
    .single-comments .ccva-comment-form textarea{
      min-height:180px;
    }
    .single-comments .ccva-comment-form input[type="text"],
    .single-comments .ccva-comment-form input[type="email"],
    .single-comments .ccva-comment-form input[type="url"],
    .single-comments .ccva-comment-form textarea{
      width:100%;
      padding:.85rem 1rem;
      border-radius:18px;
      border:1px solid var(--border-soft-strong);
      background:#fff;
      color:var(--ccva-dark);
      box-shadow:var(--shadow-sm);
      transition:border-color .2s var(--ease-out, ease), box-shadow .2s var(--ease-out, ease);
    }
    .single-comments .ccva-comment-form .form-submit{
      margin-top:.4rem;
      display:flex;
      justify-content:flex-end;
    }
    .single-comments .ccva-comment-form .form-submit .submit{
      --ccva-btn-bg:var(--ccva-mustard);
      --ccva-btn-color:var(--ccva-darker);
      --ccva-btn-border-color:rgba(var(--ccva-mustard-rgb), .5);
      --ccva-btn-shadow:0 12px 28px rgba(var(--ccva-mustard-rgb), .2);
      border-radius:999px;
      padding:.7rem 1.5rem;
      font-weight:900;
      letter-spacing:.06em;
    }
    .single-comments textarea,
    .single-comments input[type="text"],
    .single-comments input[type="email"],
    .single-comments input[type="url"]{
      border-radius:12px;
      border:1px solid var(--border-soft);
      box-shadow:var(--shadow-sm);
    }
    .single-comments .form-submit .submit{
      border-radius:999px;
      padding:.45rem 1.1rem;
      font-weight:700;
    }

    /* Single cartes */
    .post-template-single-cartes .map-hero{
      position:relative;
      padding:6.5rem 0 4.2rem;
      color:var(--ccva-white);
      background-color:rgba(var(--ccva-dark-rgb), .92);
      overflow:hidden;
    }
    .post-template-single-cartes .map-hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(135deg, rgba(var(--ccva-dark-rgb), .92), rgba(var(--ccva-dark-rgb), .72));
      z-index:1;
    }
    .post-template-single-cartes .map-hero::after{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 18% 18%, rgba(var(--ccva-mustard-rgb), .16), transparent 45%),
        radial-gradient(circle at 82% 22%, rgba(var(--ccva-teal-rgb), .22), transparent 48%);
      pointer-events:none;
      mix-blend-mode:soft-light;
      z-index:1;
    }
    .post-template-single-cartes .map-hero-inner{ position:relative; z-index:2; }
    .post-template-single-cartes .map-title{
      font-size:clamp(2rem, 3.3vw, 3.2rem);
      font-weight:900;
      margin:0 0 .6rem;
      line-height:1.1;
      letter-spacing:-.03em;
      text-shadow:0 12px 30px rgba(0,0,0,.28);
    }
    .post-template-single-cartes .map-desc{
      margin:0 0 1.2rem;
      max-width:980px;
      opacity:.92;
      font-size:1.05rem;
    }
    .post-template-single-cartes .hero-actions{ display:flex; flex-wrap:wrap; gap:.75rem; }

    .post-template-single-cartes .map-section{
      background-color:var(--ccva-light);
      padding:3.8rem 0 4.2rem;
      position:relative;
    }
    .post-template-single-cartes .map-section::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 15% 10%, rgba(var(--ccva-teal-rgb), .05), transparent 44%),
        radial-gradient(circle at 85% 15%, rgba(var(--ccva-mustard-rgb), .05), transparent 44%);
      pointer-events:none;
    }
    .post-template-single-cartes .map-section .container{ position:relative; z-index:1; }

    .post-template-single-cartes .ccva-panel{
      background:var(--ccva-white);
      border:1px solid var(--border-soft);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-sm);
      overflow:hidden;
    }
    .post-template-single-cartes .panel-head{
      padding:1.4rem 1.4rem 0;
    }
    .post-template-single-cartes .panel-title{
      margin:0 0 .35rem;
      color:var(--ccva-dark);
      font-size:1.25rem;
      font-weight:900;
      letter-spacing:-.02em;
    }
    .post-template-single-cartes .panel-sub{
      margin:0;
      color:rgba(var(--ccva-dark-rgb), .68);
      font-weight:400;
    }
    .post-template-single-cartes .panel-pad.prose .map-intro-kicker{
      margin:0 0 .35rem;
      display:inline-flex;
      align-items:center;
      gap:.35rem;
      color:var(--ccva-mustard);
      font-size:.72rem;
      font-weight:900;
      letter-spacing:.09em;
      text-transform:uppercase;
    }
    .post-template-single-cartes .panel-pad.prose h2{
      margin:0 0 .55rem;
      color:var(--ccva-dark);
      font-size:1.25rem;
      font-weight:900;
      letter-spacing:-.02em;
    }
    .post-template-single-cartes .panel-pad.prose .map-intro-title{
      font-size:.9rem;
      color:var(--ccva-mustard);
      text-transform:uppercase;
      letter-spacing:.03em;
      margin:0 0 .7rem;
    }
    .post-template-single-cartes .panel-pad.prose p{
      margin:0 0 .75rem;
      color:rgba(var(--ccva-dark-rgb), .82);
      line-height:1.65;
      font-weight:500;
    }
    .post-template-single-cartes .panel-pad.prose p:last-child{
      margin-bottom:0;
    }
    .post-template-single-cartes .panel-pad{ padding:1.4rem; }
    .post-template-single-cartes .panel-actions{ padding:1.15rem 1.4rem 1.4rem; }
    .post-template-single-cartes .panel-actions{
      display:flex;
      justify-content:center;
    }
    .post-template-single-cartes .map-preview{
      margin:1rem 1.4rem 0;
      padding:.65rem;
      border-radius:calc(var(--radius-lg) + 2px);
      border:1px solid rgba(var(--ccva-dark-rgb), .10);
      background:
        linear-gradient(160deg, rgba(255,255,255,.98), rgba(245,250,250,.95)),
        radial-gradient(circle at 12% 14%, rgba(var(--ccva-mustard-rgb), .10), transparent 56%);
      box-shadow:0 12px 30px rgba(var(--ccva-dark-rgb), .10);
    }
    .post-template-single-cartes .map-preview .image-sig{
      margin:0;
    }
    .post-template-single-cartes .map-preview a{
      position:relative;
      display:block;
      border-radius:var(--radius-md);
      overflow:hidden;
      cursor:pointer;
      outline:none;
    }
    .post-template-single-cartes .map-preview a::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(120deg, rgba(var(--ccva-dark-rgb), .14), rgba(var(--ccva-dark-rgb), .06));
      opacity:0;
      transition:opacity .25s var(--ease-out);
      pointer-events:none;
    }
    .post-template-single-cartes .map-preview a::before{
      content:"";
      position:absolute;
      right:14px;
      top:14px;
      width:34px;
      height:34px;
      border-radius:999px;
      background:rgba(255,255,255,.92) url("../../icons/solid/up-right-from-square.svg") center/14px 14px no-repeat;
      border:1px solid var(--border-soft);
      opacity:0;
      transform:translateX(-4px);
      transition:opacity .25s var(--ease-out), transform .25s var(--ease-out), background .25s var(--ease-out), border-color .25s var(--ease-out);
      pointer-events:none;
    }
    .post-template-single-cartes .map-preview img{
      width:100%;
      height:auto;
      display:block;
      border-radius:var(--radius-md);
      transition:transform .28s var(--ease-out), filter .28s var(--ease-out), box-shadow .28s var(--ease-out);
      box-shadow:0 8px 18px rgba(var(--ccva-dark-rgb), .08);
      filter:saturate(1.04) contrast(1.03);
    }
    .post-template-single-cartes .map-preview a:hover::after,
    .post-template-single-cartes .map-preview a:focus-visible::after{
      opacity:1;
    }
    .post-template-single-cartes .map-preview a:hover::before,
    .post-template-single-cartes .map-preview a:focus-visible::before{
      opacity:1;
      transform:translateX(0);
      background-color:rgba(255,255,255,.98);
      border-color:var(--border-hover);
    }
    .post-template-single-cartes .map-preview a:hover img,
    .post-template-single-cartes .map-preview a:focus-visible img{
      transform:scale(1.02);
      box-shadow:0 14px 30px rgba(var(--ccva-dark-rgb), .14);
      filter:saturate(1.08) contrast(1.04);
    }

    /* WORDPRESS PAGINATION (single/pages context) */
    .navigation.pagination{
      margin:1.5rem 0 0;
    }
    .navigation.pagination .nav-links{
      display:flex;
      flex-direction:row;
      align-items:center;
      justify-content:flex-start;
      flex-wrap:wrap;
      gap:.55rem;
      list-style:none;
      margin:0;
      padding:0;
    }
    .navigation.pagination .page-numbers{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:44px;
      height:44px;
      padding:0 .9rem;
      border-radius:999px;
      border:1px solid var(--border-soft);
      background:rgba(255,255,255,.92);
      color:rgba(var(--ccva-dark-rgb), .92);
      box-shadow:var(--shadow-sm);
      font-weight:900;
      text-decoration:none;
      transition:transform .25s var(--ease-out), border-color .25s var(--ease-out), box-shadow .25s var(--ease-out), background .25s var(--ease-out), color .25s var(--ease-out);
    }
    .navigation.pagination .page-numbers:hover{
      transform:translateY(-2px);
      border-color:var(--border-hover);
      box-shadow:var(--shadow-md);
      color:var(--ccva-dark);
    }
    .navigation.pagination .page-numbers.current{
      background:rgba(216,171,20,.95);
      border-color:rgba(216,171,20,.55);
      color:rgba(0,50,51,.96);
      box-shadow:0 16px 36px rgba(216,171,20,.22);
    }
    .navigation.pagination .page-numbers.dots{
      min-width:auto;
      padding:0 .3rem;
      border:0;
      background:transparent;
      box-shadow:none;
      transform:none;
    }

    /* RESPONSIVE */
    @media(max-width:992px){
      .map-hero{background-attachment:scroll}
    }
    @media(max-width:576px){
      .panel-head{padding:1.1rem 1.1rem 0}
      .post-template-single-cartes .map-preview{margin:1rem 1.1rem 0; padding:.5rem}
      .panel-actions{padding:1rem 1.1rem 1.1rem}
      .ccva-details summary{padding:1rem 1.05rem}
      .details-body{padding:1rem 1.05rem 1.05rem}
      .ccva-table-head{padding:1rem 1.05rem}
    }
    @media(prefers-reduced-motion: reduce){
      *{scroll-behavior:auto!important}
      .nav-link::after,.ccva-pill--quick,.fab,.sum-caret{transition:none!important}
    }


    /* NAVBAR DROPDOWNS */
    .navbar .dropdown-menu{
      min-width:220px;
      margin-top:.5rem;
      padding:.6rem;
      border-radius:12px;
      border:1px solid var(--border-soft);
      background:rgba(255,255,255,.98);
      box-shadow:var(--shadow-md);
    }
    .navbar .dropdown-item{
      border-radius:10px;
      font-weight:700;
      font-size:.78rem;
      text-transform:uppercase;
      letter-spacing:.8px;
      color:var(--ccva-dark);
      padding:.55rem .75rem;
      transition:background-color .2s var(--ease-out), color .2s var(--ease-out);
    }
    .navbar .dropdown-item:hover{
      background:rgba(0,149,146,.10);
      color:var(--ccva-dark);
    }
    .navbar .dropdown-item.active,
    .navbar .dropdown-item:active{
      background:rgba(216,171,20,.18);
      color:var(--ccva-darker);
    }
    .navbar .nav-link.dropdown-toggle{
      padding-right:.9rem;
    }
    .navbar .nav-link.dropdown-toggle::before{
      content:'';
      position:absolute;
      right:-6px;
      top:50%;
      width:6px;
      height:6px;
      border-right:2px solid var(--ccva-teal);
      border-bottom:2px solid var(--ccva-teal);
      transform:translateY(-50%) rotate(45deg);
      transition:border-color .2s var(--ease-out), transform .2s var(--ease-out);
      opacity:.9;
    }
    .navbar .nav-link.dropdown-toggle:hover::before,
    .navbar .nav-link.dropdown-toggle.active::before{
      border-color:var(--ccva-mustard);
      transform:translateY(-50%) rotate(45deg) scale(1.05);
    }

    @media(min-width:992px){
      .navbar .dropdown-menu{
        display:block;
        opacity:0;
        visibility:hidden;
        transform:translateY(6px);
        pointer-events:none;
        transition:opacity .2s var(--ease-out), transform .2s var(--ease-out), visibility .2s var(--ease-out);
      }
      .navbar .dropdown:hover > .dropdown-menu,
      .navbar .dropdown .dropdown-menu.show{
        opacity:1;
        visibility:visible;
        transform:translateY(0);
        pointer-events:auto;
      }
}





