/**
 * Stili per template corsi e lezioni
 */

/* Archive Corsi - Stili base condivisi */
.mc-products-archive {
    padding: 40px 0;
}

.mc-products-archive .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.mc-products-archive .page-header {
    margin-bottom: 40px;
    text-align: center;
}

.mc-products-archive .page-title {
    font-size: 36px;
    font-weight: bold;
    color: #333;
    margin: 0;
}

.mc-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

.mc-product-item {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.mc-product-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.mc-product-item .mc-product-image {
    width: 100%;
    height: 250px;
    overflow: hidden;
    background: #f5f5f5;
}

.mc-product-item .mc-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.mc-product-item:hover .mc-product-image img {
    transform: scale(1.05);
}

.mc-product-item .mc-product-content {
    padding: 20px;
}

.mc-product-item .mc-product-title {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 600;
}

.mc-product-item .mc-product-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.mc-product-item .mc-product-title a:hover {
    color: #9333ea;
}

.mc-product-item .mc-product-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
}

.mc-product-item .mc-product-price {
    font-size: 24px;
    font-weight: bold;
    color: #9333ea;
}

.mc-product-item .mc-product-excerpt {
    margin: 15px 0;
    color: #666;
    font-size: 14px;
    line-height: 1.6;
}

.mc-product-item .mc-product-link {
    display: inline-block;
    padding: 10px 20px;
    background: #9333ea;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
    font-weight: 500;
}

.mc-product-item .mc-product-link:hover {
    background: #7c2dd2;
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(147, 51, 234, 0.3);
}

/* Stili base condivisi con prodotti (necessari per i template) */
.mc-product-single {
    padding: 40px 0;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Regole specifiche per single course - limita .mc-product-single stesso */
.single-mc_course .mc-product-single,
body.single-mc_course .mc-product-single {
    max-width: 1280px !important; /* 1200px container + 40px padding per lato */
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Forza anche con selettori ancora più specifici per override di Divi/tema */
body.single-mc_course .mc-product-single,
body.single.single-mc_course .mc-product-single,
.single.single-mc_course .mc-product-single {
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.mc-product-single .container,
.single-mc_course .mc-product-single .container,
body.single-mc_course .mc-product-single .container,
body.single-mc_course .container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Override specifico per lezioni - container - REGOLE MOLTO SPECIFICHE */
body.single-mc_lesson .mc-product-single .container,
body.single-mc_lesson .mc-lesson-single .container,
body.single-mc_lesson .container,
body.single-mc_lesson div.container,
.single-mc_lesson .mc-product-single .container,
.single-mc_lesson .mc-lesson-single .container,
.single-mc_lesson .container,
.single-mc_lesson div.container,
.mc-lesson-single .container,
.mc-lesson-single .mc-lesson-container,
.mc-lesson-single div.container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.mc-product {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.mc-product-header {
    padding: 30px;
    background: linear-gradient(135deg, #9333ea 0%, #7c2dd2 100%);
    color: #fff;
}

.mc-product-title {
    font-size: 42px;
    font-weight: bold;
    margin: 0;
    color: #fff;
}

.mc-product-content-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    padding: 40px;
}

.mc-product-main-content {
    width: 100%;
}

.mc-product-details {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.mc-product-price-section {
    padding: 25px;
    background: #f9f9f9;
    border-radius: 8px;
    border: 2px solid #9333ea;
    text-align: center;
}

.mc-price-label {
    display: block;
    font-size: 16px;
    color: #666;
    margin-bottom: 10px;
}

.mc-price-amount {
    display: block;
    font-size: 48px;
    font-weight: bold;
    color: #9333ea;
}

/* Single corso: layout e sezioni (ex inline dal template) */
.mc-course-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 30px;
}

.mc-course-left-column,
.mc-course-right-column {
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
}

.mc-course-row {
    margin-bottom: 30px;
}

.mc-course-row--last {
    margin-bottom: 0;
}

.mc-course-image-section,
.mc-product-info-section,
.mc-course-summary-section,
.mc-price-section,
.mc-learning-outcomes-section {
    width: 100%;
}

/* Single corso: griglia info (stile a box) */
.mc-product-info-grid.mc-product-info-grid--course {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
}

.mc-product-info-item.mc-product-info-item--course {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    background: #f9f9f9;
    border-radius: 4px;
    border-bottom: none;
}

.mc-product-description.mc-product-description--spaced {
    margin-bottom: 20px;
}

.mc-product-info-grid {
    display: grid;
    gap: 15px;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 8px;
}

.mc-product-info-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #e0e0e0;
}

.mc-product-info-item:last-child {
    border-bottom: none;
}

.mc-info-label {
    font-weight: 600;
    color: #333;
}

.mc-info-value {
    color: #666;
}

.mc-product-description {
    padding: 25px;
    background: #f9f9f9;
    border-radius: 8px;
    line-height: 1.8;
}

.mc-product-description h3 {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 24px;
    color: #333;
}

.mc-product-description p {
    margin-bottom: 15px;
    color: #555;
}

/* Single Corso */
.mc-course-hero {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 30px;
    align-items: center;
    margin-bottom: 30px;
}

.mc-course-hero-media img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

.mc-course-title {
    font-size: 32px;
    margin: 0 0 10px 0;
}

.mc-course-summary {
    color: #555;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.mc-course-price {
    font-size: 28px;
    font-weight: bold;
    color: #9333ea;
    margin-bottom: 15px;
}

.mc-course-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    font-size: 14px;
    color: #666;
}

.mc-course-content {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 20px;
}

.mc-course-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px 20px;
    margin-bottom: 20px;
    color: #333;
}

.mc-course-section {
    margin: 20px 0;
}

.mc-course-section h3 {
    margin: 0 0 10px 0;
    font-size: 18px;
}

.mc-course-summary {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
}

/* Autore corso */
.mc-course-author {
    margin-bottom: 10px;
    color: #666;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.mc-course-author span:first-child {
    font-weight: 600;
    color: #333;
}

.mc-course-author span:last-child {
    color: #9333ea;
    font-weight: 500;
}

/* Sezioni sotto l'immagine del corso */
.mc-course-sections-below-image {
    margin-top: 30px;
}

/* Preview Video stile Netflix */
.mc-preview-video-container {
    margin-top: 20px;
}

.mc-preview-video-wrapper {
    position: relative;
    width: 100%;
    max-width: 800px;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    overflow: hidden;
    background: #000;
    cursor: pointer;
}

.mc-preview-thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    transition: opacity 0.3s ease;
}

.mc-preview-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mc-preview-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #1a1a1a;
    color: #fff;
}

.mc-preview-placeholder .dashicons {
    font-size: 64px;
    width: 64px;
    height: 64px;
    margin-bottom: 10px;
}

.mc-preview-play-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.3);
    transition: background 0.3s ease;
}

.mc-preview-play-icon {
    font-size: 72px;
    color: #fff;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
    opacity: 0.9;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.mc-preview-video-wrapper:hover .mc-preview-play-icon {
    transform: scale(1.1);
    opacity: 1;
}

.mc-preview-video-wrapper:hover .mc-preview-play-overlay {
    background: rgba(0, 0, 0, 0.1);
}

.mc-preview-video-player {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.mc-preview-video-wrapper.playing .mc-preview-thumbnail {
    opacity: 0;
    pointer-events: none;
}

.mc-preview-video-wrapper.playing .mc-preview-video-player {
    opacity: 1;
    pointer-events: auto;
}

.mc-preview-video-player iframe,
.mc-preview-video-player video {
    width: 100%;
    height: 100%;
    border: none;
}

/* Stili per lezioni corso */
.mc-lesson-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mc-lesson-item {
    margin-bottom: 12px;
    padding: 12px;
    background: #f9f9f9;
    border-radius: 4px;
    border-left: 3px solid #7b2cbf;
    transition: all 0.3s ease;
}

.mc-lesson-item:hover {
    background: #f0f0f0;
    transform: translateX(5px);
}

.mc-lesson-item.completed {
    border-left-color: #46b450;
    background: #f0f9f0;
}

.mc-lesson-item a {
    text-decoration: none;
    color: #333;
    font-weight: 500;
    display: block;
    transition: color 0.3s ease;
}

.mc-lesson-item a:hover {
    color: #9333ea;
}

/* Video Lezione - Single Lesson Page */
.mc-lesson-video,
.mc-lesson-single .mc-lesson-video,
.single-mc_lesson .mc-lesson-video {
    margin-bottom: 30px;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    box-sizing: border-box !important;
}

.mc-lesson-video-title {
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: 600;
    color: #333;
    text-align: left;
}

/*
 * Player Holistica in pagina lezione: non ereditare overflow del card.
 * Il box 16:9 (height:0 + padding-bottom) vive in player.css; non azzerarlo.
 * Overlay (qualità, caricamento) restano nel rettangolo video.
 */
.single-mc_lesson .mc-lesson-video,
body.single-mc_lesson .mc-lesson-video {
    position: relative;
    isolation: isolate;
    overflow: visible;
}

.single-mc_lesson .mc-lesson-video .hv-player-wrap,
.single-mc_lesson .mc-lesson-video .hv-ratio-box {
    overflow: hidden !important;
}

.single-mc_lesson .mc-lesson-video .hv-overlays,
.single-mc_lesson .mc-lesson-video .hv-settings,
.single-mc_lesson .mc-lesson-video .hv-shield,
.single-mc_lesson .mc-lesson-video .hv-loading {
    position: absolute !important;
}

.mc-video-wrapper,
.mc-lesson-single .mc-video-wrapper,
.single-mc_lesson .mc-video-wrapper,
body.single-mc_lesson .mc-video-wrapper,
body.single-mc_lesson .mc-lesson-video .mc-video-wrapper,
body.single-mc_lesson div.mc-video-wrapper,
.mc-lesson-single .mc-lesson-video .mc-video-wrapper,
.single-mc_lesson .mc-lesson-video .mc-video-wrapper,
.single-mc_lesson div.mc-video-wrapper {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 56.25% !important; /* 16:9 aspect ratio */
    height: 0 !important;
    overflow: hidden !important;
    background: #000 !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    display: block !important;
    box-sizing: border-box !important;
}

.mc-video-embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}

.mc-video-embed iframe,
.mc-video-embed embed,
.mc-video-embed object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    border: none;
    margin: 0;
    padding: 0;
    display: block;
}

/* Fix per WordPress oEmbed wrapper */
.mc-video-embed .wp-block-embed__wrapper,
.mc-video-embed .wp-embedded-content {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.mc-video-embed .wp-embedded-content iframe {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Fix per YouTube/Vimeo embed */
.mc-video-embed > iframe {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mc-video-direct {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* Layout per lezioni - colonna singola centrata */
.single-mc_lesson .mc-product-content-wrapper,
body.single-mc_lesson .mc-product-content-wrapper,
.post-type-mc_lesson .mc-product-content-wrapper,
.mc-lesson-single .mc-product-content-wrapper {
    display: block !important;
    grid-template-columns: 1fr !important;
    padding: 30px !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.single-mc_lesson .mc-product-main-content,
body.single-mc_lesson .mc-product-main-content,
.post-type-mc_lesson .mc-product-main-content,
.mc-lesson-single .mc-product-main-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    display: block !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

/* Centra il container per le lezioni */
.mc-lesson-single .mc-lesson-container,
.mc-lesson-single .container,
.single-mc_lesson .mc-product-single .container,
body.single-mc_lesson .mc-product-single .container,
body.single-mc_lesson .container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Centra l'articolo */
.single-mc_lesson .mc-product,
body.single-mc_lesson .mc-product,
.mc-lesson-single .mc-product {
    max-width: 100% !important;
    margin: 0 auto !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Compatibilità con ACF Frontend Forms/CPT */
.acf-frontend-form .mc-video-wrapper,
.acf-frontend-cpt-wrapper .mc-video-wrapper,
.acf-form-wrapper .mc-video-wrapper {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    display: block;
}

.acf-frontend-form .mc-lesson-video,
.acf-frontend-cpt-wrapper .mc-lesson-video {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Stili per ACF CPT Display - compatibilità con layout corsi */
.acf-frontend-cpt-wrapper.acf-cpt-layout-grid .acf-cpt-items {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 40px;
}

.acf-cpt-item {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
}

.acf-cpt-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.acf-cpt-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.acf-cpt-thumbnail {
    width: 100%;
    height: 250px;
    overflow: hidden;
    background: #f5f5f5;
}

.acf-cpt-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.acf-cpt-item:hover .acf-cpt-thumbnail img {
    transform: scale(1.05);
}

.acf-cpt-content-wrapper {
    padding: 15px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.acf-cpt-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.acf-cpt-title {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 600;
    color: #333;
}

.acf-cpt-title a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.acf-cpt-title a:hover {
    color: #9333ea;
}

.acf-cpt-excerpt {
    margin: 5px 0;
    color: #666;
    font-size: 14px;
    line-height: 1.6;
    flex: 1;
}

.acf-cpt-fields {
    margin-top: 10px;
    color: #666;
    font-size: 13px;
}

.acf-cpt-fields .acf-field {
    margin-bottom: 8px;
}

.acf-cpt-fields .acf-label {
    font-weight: 600;
    margin-right: 5px;
}

/* Responsive */
@media (max-width: 900px) {
    .mc-course-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .mc-products-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .acf-frontend-cpt-wrapper.acf-cpt-layout-grid .acf-cpt-items {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .mc-product-content-wrapper {
        grid-template-columns: 1fr;
        gap: 30px;
        padding: 20px;
    }
    
    .mc-product-header {
        padding: 20px;
    }
    
    .mc-product-title {
        font-size: 28px;
    }
    
    .mc-price-amount {
        font-size: 36px;
    }
    
    .mc-video-wrapper {
        padding-bottom: 56.25%;
        border-radius: 0;
    }
    
    .mc-lesson-video-title {
        font-size: 18px;
    }
    
    .mc-product-single .container {
        padding-left: 0;
        padding-right: 0;
    }

    body.single-mc_lesson .mobile-app-content,
    body.single-mc_lesson #mobile-app-main.mobile-app-content,
    body.single-mc_lesson .mobile-app-wrapper-content {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    body.single-mc_lesson .mc-product-single .container,
    body.single-mc_lesson .mc-lesson-single .container,
    body.single-mc_lesson .container,
    body.single-mc_lesson div.container,
    .mc-lesson-single .mc-lesson-container,
    .mc-lesson-single .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        max-width: 100% !important;
    }

    .single-mc_lesson .mc-product-content-wrapper,
    body.single-mc_lesson .mc-product-content-wrapper,
    .mc-lesson-single .mc-product-content-wrapper {
        padding: 16px 8px !important;
    }
}

/* Layout due colonne solo da desktop (da 769px in su); su mobile resta una colonna */
@media (min-width: 769px) {
    .mc-course-layout {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 30px !important;
        margin-top: 30px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .mc-course-left-column,
    .mc-course-right-column {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 20px !important;
    }
}
/* Assicura che le righe interne non creino colonne extra */
.mc-course-row {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Responsive: su schermi piccoli, passa a una colonna */
@media (max-width: 768px) {
    /* Forza larghezza viewport; centra il blocco (margin 0 auto) così non resta spostato a destra */
    .mc-product-single,
    .single-mc_course .mc-product-single,
    body.single-mc_course .mc-product-single {
        max-width: 100% !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }
    .mc-product-single .container,
    .mc-course-container,
    .single-mc_course .mc-product-single .container,
    body.single-mc_course .mc-product-single .container,
    body.single-mc_course .container {
        max-width: 100% !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
    .mc-course-container,
    .mc-course-image-section {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .mc-course-container img,
    .mc-course-image-section img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Contenitore principale single: non tagliare, non eccedere, centrato */
    .single-mc_course .mc-product,
    .mc-product.mc-course {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    /* Video anteprima e solo immagine: stesso comportamento, sempre centrato e a tutta larghezza */
    .mc-preview-video-container,
    .mc-preview-video-wrapper,
    .mc-course-featured-image {
        max-width: 100% !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }
    .mc-preview-video-wrapper .mc-preview-thumbnail,
    .mc-preview-video-wrapper .mc-preview-video-player {
        max-width: 100% !important;
    }
    /* Sezione "corso già acquistato" (verde): stessa larghezza del resto, centrata */
    .mc-price-section,
    .mc-price-section > div {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    /* Single corso: UNA SOLA COLONNA su mobile (tassativo) */
    .mc-course-layout {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        gap: 24px !important;
    }
    .mc-course-left-column,
    .mc-course-right-column {
        max-width: 100% !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
    /* Row: niente offset sinistra/destra, larghezza piena, figli allineati a stretch (no center che sposta) */
    .mc-course-row {
        grid-template-columns: 1fr !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Evita overflow sezione "corso già acquistato" e simili */
    .mc-course-row,
    .mc-price-section {
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }
    .mc-price-section > div {
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
    }

    /* Sezione prezzo: stesso spazio destra/sinistra (dato dal container), niente sbordi su mobile */
    .single-mc_course .mc-price-section {
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Single corso: niente padding laterali ridondanti; centra (margin 0 auto) */
    .single-mc_course .mc-product-single,
    .single-mc_course .mc-product-single .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }
    .single-mc_course .mc-course-left-column,
    .single-mc_course .mc-course-right-column {
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: center !important;
    }
    .single-mc_course .mc-learning-outcomes-section {
        text-align: center !important;
    }
    .single-mc_course .mc-product-description,
    .mc-course-summary {
        text-align: left !important;
    }
    /* Row: flex colonna, figli a tutta larghezza (stretch) così niente shift a destra; centri solo dove serve */
    .mc-course-row,
    .mc-learning-outcomes-section,
    .mc-materials-requirements-section {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    .mc-product-description {
        margin-left: auto !important;
        margin-right: auto !important;
        width: 100%;
        max-width: 640px;
        box-sizing: border-box;
    }
    .single-mc_course .mc-learning-outcomes-section ul {
        display: inline-block;
        text-align: left;
    }
    
    /* Info corso (Durata, Livello, ecc.): niente padding su mobile */
    .mc-product-info-item {
        padding: 0 !important;
    }
    
    /* Contenitore informazioni corso: centra la griglia su mobile */
    .mc-product-info-section {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .mc-product-info-grid {
        max-width: 100%;
        width: fit-content;
        box-sizing: border-box;
    }
    .mc-product-info-grid.mc-product-info-grid--course {
        width: 100% !important;
    }
}
