.vtp-two-col .vtp-main-media img,.vtp-two-col .vtp-main-media video{width:100%;height:auto;display:block}
.vtp-two-col .vtp-thumb-img{width:100px;height:70px;object-fit:cover;border:1px solid #ddd;border-radius:2px}
@media (max-width: 900px){
  .vtp-two-col{grid-template-columns:1fr !important}
  .vtp-col-right{position:static !important}
}

/* Typography normalization for left column on single course */
.vtp-col-left h1{ margin:0 0 12px; line-height:3em; }
.vtp-col-left .wp-block-post-content{ font-size:1rem;}
.vtp-col-left .wp-block-post-content h2{ font-size:1.2rem; line-height:1.3; margin:1.25rem 0 .5rem; }
.vtp-col-right .formation-objectives-title{ font-size:1.2rem; line-height:1.3; margin:1.25rem 0 .5rem; }
.vtp-col-right .formation-objectives{  list-style:square; padding-left: 20px}
.vtp-col-left .vtp-path h2{ font-size:1.2rem; line-height:1.3; margin:1.25rem 0 .5rem; }
/* Direct section titles in left column (e.g., Description, Aperçu) */
.vtp-col-left > .wp-block-heading{ font-size:1.6rem; line-height:1.3; margin:1.25rem 0 1rem; }
/* Avoid extra top margin on first child of content after heading */
.vtp-col-left .wp-block-post-content > *:first-child{ margin-top: 0; }
/* Tighter spacing between heading and gallery preview */
.vtp-col-left .formation-gallery{ margin-top: 1rem; }

/* Layout: container and two-column grid */
body.single-vtp_course main.alignwide{ max-width:1200px; margin:0 auto; padding:32px 16px; }
.vtp-two-col{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:var(--wp--preset--spacing--50); align-items:start; }
.vtp-col-right{ position:sticky; top:var(--wp--preset--spacing--40); top: 100px;}

/* Typography normalization for right column (aside) */
.vtp-col-right .wp-block-heading{ font-size:1.1rem; line-height:1.3; margin:0 0 .75rem; }
.vtp-col-right p, .vtp-col-right li{  font-size:1rem;  }

/* Contact CTA under details */
.vtp-contact-cta{ text-align:center; margin:1rem 0 1.5rem; }

/* Main media 16/9 cover */
.vtp-main-media{ margin: 0 0 1rem; }
.vtp-main-media.vtp-16x9{ position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:10px; }
.vtp-main-media.vtp-16x9 > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }

/* Mobile UX improvements */
@media (max-width: 768px){
  /* Keep CTA visible */
  .vtp-contact-fixed{ position:fixed; left:50%; transform:translateX(-50%); bottom:50px; z-index:1001; display:flex; }
  body.single-vtp_course main.alignwide{ padding-bottom: 96px; }
  .vtp-contact-cta{display: none;

  }
}
@media (min-width: 769px){ .vtp-contact-fixed{ display:none; } }

/* Course details block */
.formation-details{ margin:1rem 0; }
.formation-details > .wp-block-heading{font-size:1.1rem; }
.formation-details__grid{ display:grid; grid-template-columns:auto 1fr; gap:.25rem 1rem; }
.formation-details__grid dt{ font-weight:600; }
