/* ==========================================
   MMN Music Project Submission Portal
   Final Clean CSS
========================================== */

/* ------------------------------------------
   WRAP / WIDTH
------------------------------------------ */
.page .mmn-music-form-wrap,
.single .mmn-music-form-wrap,
.site-main .mmn-music-form-wrap,
.entry-content .mmn-music-form-wrap,
.wpb_wrapper .mmn-music-form-wrap,
.vc_row .mmn-music-form-wrap,
.vc_column-inner .mmn-music-form-wrap,
.mmn-music-form-wrap{
    width:100% !important;
    max-width:1400px !important;
    margin:48px auto 90px !important;
    padding:0 24px !important;
    box-sizing:border-box !important;
}

.mmn-music-form-wrap *,
.mmn-music-form-wrap *::before,
.mmn-music-form-wrap *::after{
    box-sizing:border-box !important;
}

/* ------------------------------------------
   HERO
------------------------------------------ */
.mmn-portal-hero{
    margin:0 0 44px !important;
}

.mmn-portal-kicker{
    display:none !important;
}

.mmn-portal-title{
    margin:0 0 14px !important;
    color:#ffffff !important;
    font-size:52px !important;
    line-height:1.04 !important;
    font-weight:900 !important;
    letter-spacing:-0.5px !important;
}

.mmn-portal-subtitle{
    max-width:980px !important;
    margin:0 0 14px !important;
    color:#d0d0d0 !important;
    font-size:18px !important;
    line-height:1.8 !important;
}

.mmn-portal-notice{
    max-width:980px !important;
    margin:0 !important;
    color:#b7b7b7 !important;
    font-size:15px !important;
    line-height:1.8 !important;
}

/* ------------------------------------------
   INFO SECTION
------------------------------------------ */
.mmn-info-section{
    width:100% !important;
    max-width:1400px !important;
    margin:0 auto 60px !important;
}

.mmn-info-title{
    margin:0 0 24px !important;
    color:#d71f26 !important;
    font-size:32px !important;
    line-height:1.12 !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
}

/* extra space before monetization heading */
.mmn-monetization-title{
    margin-top:64px !important;
}

/* ------------------------------------------
   REVIEW CARDS
------------------------------------------ */
.mmn-info-rows{
    width:100% !important;
    margin:0 !important;
}

.mmn-info-row{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:28px !important;
    margin:0 0 28px !important;
    align-items:stretch !important;
}

.mmn-info-row:last-child{
    margin-bottom:0 !important;
}

.mmn-info-row .mmn-info-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
}

.mmn-info-card{
    background:linear-gradient(180deg,#111111 0%,#0b0b0b 100%) !important;
    border:1px solid rgba(255,255,255,0.05) !important;
    border-radius:18px !important;
    padding:34px !important;
    min-height:240px !important;
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    box-shadow:0 12px 30px rgba(0,0,0,0.35) !important;
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease !important;
}

.mmn-info-card:hover{
    transform:translateY(-4px) !important;
    border-color:rgba(215,31,38,0.35) !important;
    box-shadow:0 18px 42px rgba(0,0,0,0.5) !important;
}

.mmn-info-card h3{
    margin:0 0 16px !important;
    color:#ff2b33 !important;
    font-size:22px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
}

.mmn-info-card p{
    margin:0 !important;
    color:#e6e6e6 !important;
    font-size:17px !important;
    line-height:1.8 !important;
}

/* ------------------------------------------
   MONETIZATION PANEL
------------------------------------------ */
.mmn-info-monetization{
    background:linear-gradient(180deg,#101010 0%,#0a0a0a 100%) !important;
    border:1px solid rgba(255,255,255,0.06) !important;
    border-radius:18px !important;
    padding:34px 38px !important;
    margin-top:0 !important;
    box-shadow:0 18px 40px rgba(0,0,0,0.45) !important;
}

.mmn-info-monetization,
.mmn-info-monetization *{
    color:#e8e8e8 !important;
    opacity:1 !important;
}

.mmn-info-monetization::before{
    content:"" !important;
    display:block !important;
    width:52px !important;
    height:4px !important;
    background:#ff2b33 !important;
    border-radius:999px !important;
    margin-bottom:20px !important;
}

.mmn-info-monetization p{
    margin:0 0 18px !important;
    color:#e8e8e8 !important;
    font-size:16px !important;
    line-height:1.85 !important;
}

.mmn-info-monetization strong{
    color:#ffffff !important;
    font-weight:700 !important;
}

.mmn-info-monetization ul{
    margin:16px 0 20px !important;
    padding-left:22px !important;
}

.mmn-info-monetization li{
    margin-bottom:10px !important;
    color:#e8e8e8 !important;
    font-size:15px !important;
    line-height:1.75 !important;
}

.mmn-info-note{
    margin-top:20px !important;
    padding-top:16px !important;
    border-top:1px solid rgba(255,255,255,0.08) !important;
    color:#a0a0a0 !important;
    font-size:14px !important;
    line-height:1.75 !important;
}

/* ------------------------------------------
   FORM PANELS
------------------------------------------ */
.mmn-music-form-section{
    background:#f3f3f3 !important;
    border:1px solid #dddddd !important;
    border-radius:18px !important;
    padding:30px !important;
    margin-bottom:28px !important;
    box-shadow:0 10px 28px rgba(0,0,0,0.18) !important;
}

.mmn-music-form-section h3{
    margin:0 0 20px !important;
    color:#d71f26 !important;
    font-size:26px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
}

.mmn-music-form-row{
    margin-bottom:16px !important;
}

.mmn-music-form-row:last-child{
    margin-bottom:0 !important;
}

.mmn-music-form-row label{
    display:block !important;
    margin-bottom:8px !important;
    color:#111111 !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.45 !important;
}

.mmn-music-form-row input,
.mmn-music-form-row select,
.mmn-music-form-row textarea{
    width:100% !important;
    max-width:100% !important;
    padding:14px 16px !important;
    border:1px solid #cad3df !important;
    border-radius:10px !important;
    font-size:15px !important;
    background:#ffffff !important;
    color:#111111 !important;
    transition:all .2s ease !important;
    box-shadow:none !important;
}

.mmn-music-form-row textarea{
    min-height:120px !important;
    resize:vertical !important;
}

.mmn-music-form-row input[type="file"]{
    cursor:pointer !important;
}

.mmn-music-form-row input::placeholder,
.mmn-music-form-row textarea::placeholder{
    color:#707070 !important;
    opacity:1 !important;
}

.mmn-music-form-row input:focus,
.mmn-music-form-row select:focus,
.mmn-music-form-row textarea:focus{
    outline:none !important;
    border-color:#d71f26 !important;
    box-shadow:0 0 0 3px rgba(215,31,38,0.15) !important;
    background:#ffffff !important;
}

.mmn-music-form-row label input[type="checkbox"]{
    display:inline-block !important;
    width:auto !important;
    margin-right:10px !important;
    vertical-align:middle !important;
    transform:scale(1.08) !important;
}

/* ------------------------------------------
   SUBMIT BUTTON
------------------------------------------ */
.mmn-music-form-submit{
    text-align:center !important;
    margin-top:10px !important;
}

.mmn-music-form-submit button,
.mmn-music-form-wrap button[type="submit"]{
    min-width:280px !important;
    padding:16px 34px !important;
    border:0 !important;
    border-radius:999px !important;
    background:linear-gradient(180deg,#e52229 0%,#b9151b 100%) !important;
    color:#ffffff !important;
    font-size:16px !important;
    font-weight:800 !important;
    line-height:1.2 !important;
    cursor:pointer !important;
    box-shadow:0 15px 35px rgba(215,31,38,0.35) !important;
    transition:all .25s ease !important;
}

.mmn-music-form-submit button:hover,
.mmn-music-form-wrap button[type="submit"]:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 20px 45px rgba(215,31,38,0.45) !important;
}

.mmn-music-form-submit button:focus,
.mmn-music-form-wrap button[type="submit"]:focus{
    outline:none !important;
    box-shadow:0 0 0 4px rgba(215,31,38,0.18) !important;
}

/* ------------------------------------------
   SUCCESS MESSAGE
------------------------------------------ */
.mmn-success-message{
    margin-bottom:24px !important;
    padding:14px 18px !important;
    border:1px solid #15803d !important;
    border-radius:10px !important;
    background:#ecfdf5 !important;
    color:#166534 !important;
    font-size:15px !important;
    font-weight:700 !important;
}

/* ------------------------------------------
   MOBILE
------------------------------------------ */
@media (max-width:768px){
    .page .mmn-music-form-wrap,
    .single .mmn-music-form-wrap,
    .site-main .mmn-music-form-wrap,
    .entry-content .mmn-music-form-wrap,
    .wpb_wrapper .mmn-music-form-wrap,
    .vc_row .mmn-music-form-wrap,
    .vc_column-inner .mmn-music-form-wrap,
    .mmn-music-form-wrap{
        margin:30px auto 60px !important;
        padding:0 16px !important;
    }

    .mmn-portal-title{
        font-size:34px !important;
        line-height:1.08 !important;
    }

    .mmn-portal-subtitle,
    .mmn-portal-notice{
        font-size:15px !important;
        line-height:1.75 !important;
    }

    .mmn-info-section{
        margin-bottom:36px !important;
    }

    .mmn-info-title{
        font-size:26px !important;
        margin-bottom:16px !important;
    }

    .mmn-monetization-title{
        margin-top:42px !important;
    }

    .mmn-info-row{
        grid-template-columns:1fr !important;
        gap:18px !important;
        margin-bottom:22px !important;
    }

    .mmn-info-card{
        min-height:0 !important;
        padding:24px !important;
    }

    .mmn-info-card h3{
        font-size:20px !important;
    }

    .mmn-info-card p{
        font-size:16px !important;
    }

    .mmn-info-monetization{
        padding:24px 22px !important;
    }

    .mmn-music-form-section{
    background:#f3f3f3 !important;
    border:1px solid #dddddd !important;
    border-radius:18px !important;
    padding:30px !important;
    margin-bottom:28px !important;
    box-shadow:0 10px 28px rgba(0,0,0,0.18) !important;
    display:block !important;
}

.mmn-music-form-section h3{
    margin:0 0 20px !important;
    color:#d71f26 !important;
    font-size:26px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
}

    .mmn-music-form-submit button,
    .mmn-music-form-wrap button[type="submit"]{
        width:100% !important;
        min-width:0 !important;
    }
}

.mmn-portal-notice strong{
    font-weight:400 !important;
    color:#ffffff !important;
}

.mmn-portal-notice{
    color:#ffffff !important;
    font-weight:400 !important;
}

.mmn-portal-notice{
    color:#ffffff !important;
    font-weight:400 !important;
    font-size:18px;
    line-height:1.8;
    opacity:0.95;
}

/* MOBILE FIX — FORCE 1 COLUMN */
@media (max-width:768px){

    .mmn-info-row{
        display:block !important;
    }

    .mmn-info-card{
        width:100% !important;
        max-width:100% !important;
        margin-bottom:20px !important;
    }

    .mmn-info-card:last-child{
        margin-bottom:0 !important;
    }

}

.mmn-portal-title{
    color:#d71f26 !important;
}

.mmn-portal-subtitle,
.mmn-portal-notice{
    color:#ffffff !important;
    font-weight:400 !important;
}

/* MOBILE CARD FIX */
@media (max-width:768px){

    .mmn-info-rows{
        display:block !important;
    }

    .mmn-info-row{
        display:block !important;
        margin-bottom:28px !important;
    }

    .mmn-info-card{
        width:100% !important;
        max-width:100% !important;
        margin-bottom:22px !important;
        padding:26px !important;
    }

    .mmn-info-card:last-child{
        margin-bottom:0 !important;
    }

}

@media (min-width:900px){
    .mmn-music-form-section{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
    }
}

@media (min-width:900px){
    .mmn-music-form-section{
        display:block !important;
    }

    .mmn-music-form-section h3{
        grid-column:auto !important;
    }
}