/* =========================================================
   RKMSM SEMINAR FORM
   Full presentation stylesheet for seminar-form.blade.php
   Presentation only — no form field, AJAX, payment, route,
   validation, or JavaScript behavior is changed.
   ========================================================= */

/* Page shell */
#contentbodybg.seminar-registration-page {
    background: #f5f8fc;
    padding: 18px 0 55px;
}

#contentbodybg.seminar-registration-page > .container {
    width: min(calc(100% - 40px), 1180px);
    max-width: 1180px;
    margin: 0 auto;
    padding: 0;
}

/* Page title */
#contentbodybg.seminar-registration-page > .container > h1 {
    margin: 0 0 18px;
    padding: 24px 30px;
    border-radius: 14px;
    background: linear-gradient(110deg, #00172f 0%, #001f43 62%, #0b4f86 100%);
    color: #ffffff;
    box-shadow: 0 10px 28px rgba(0,31,67,.14);
    font-size: clamp(25px, 3vw, 37px);
    font-weight: 700;
    line-height: 1.22;
}

#contentbodybg.seminar-registration-page #hyphen-dark {
    display: none !important;
}

/* Main form card */
#contentbodybg.seminar-registration-page .seminarform {
    margin: 0;
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(0,31,67,.08);
}

#contentbodybg.seminar-registration-page .seminarform > form {
    margin: 0;
    padding: 0;
}

/* Flash message */
#contentbodybg.seminar-registration-page .seminarform > .alert {
    margin: 20px 28px 0;
    border-radius: 9px;
}

/* Normal Bootstrap rows */
#contentbodybg.seminar-registration-page .seminarform form > .row {
    margin-left: 0;
    margin-right: 0;
    padding-left: 28px;
    padding-right: 28px;
}

/* Intro / seminar selection */
#contentbodybg.seminar-registration-page .seminarform form > .row:first-of-type {
    padding-top: 24px;
    padding-bottom: 3px;
}

/* Personal details */
#contentbodybg.seminar-registration-page .seminarform form > .row:nth-of-type(2),
#contentbodybg.seminar-registration-page .seminarform form > .row:nth-of-type(3),
#contentbodybg.seminar-registration-page .seminarform form > .row:nth-of-type(4) {
    padding-top: 0;
    padding-bottom: 0;
}

/* Document section is a real section in the uploaded Blade.
   Treat it as a continuation of the same card, not a separate box. */
#contentbodybg.seminar-registration-page .seminar-form-section {
    margin: 5px 0 0;
    padding: 26px 28px 20px;
    border-top: 1px solid #e7edf3;
    border-bottom: 0;
    background: #ffffff;
}

/* Section heading */
#contentbodybg.seminar-registration-page .seminar-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 22px;
}

#contentbodybg.seminar-registration-page .seminar-section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 10px;
    background: #001f43;
    color: #f4a000;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

#contentbodybg.seminar-registration-page .seminar-section-kicker {
    display: block;
    margin: 0;
    color: #d98d00;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.2;
}

#contentbodybg.seminar-registration-page .seminar-section-heading h2 {
    margin: 3px 0 0;
    color: #001f43;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
}

/* Grid alignment */
#contentbodybg.seminar-registration-page .row {
    display: flex;
    flex-wrap: wrap;
}

#contentbodybg.seminar-registration-page [class*="col-md-"] {
    box-sizing: border-box;
    padding-left: 10px;
    padding-right: 10px;
}

/* Form groups */
#contentbodybg.seminar-registration-page .form-group {
    margin-bottom: 17px;
}

#contentbodybg.seminar-registration-page label {
    display: block;
    margin: 0 0 7px;
    color: #001f43;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

#contentbodybg.seminar-registration-page label[style*="color:red"] {
    margin-bottom: 6px;
    color: #bd2418 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.45;
}

#contentbodybg.seminar-registration-page label small {
    color: #bd2418 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

/* Mandatory-field helper */
#contentbodybg.seminar-registration-page label[style*="color:red"] + p {
    margin: 0 0 17px;
    color: #6b7788;
    font-size: 12px;
    line-height: 1.5;
}

/* Inputs */
#contentbodybg.seminar-registration-page .form-control,
#contentbodybg.seminar-registration-page .form-select,
#contentbodybg.seminar-registration-page .seminar-control {
    display: block;
    width: 100%;
    min-height: 45px;
    box-sizing: border-box;
    padding: 10px 13px;
    border: 1px solid #cfd9e3;
    border-radius: 8px;
    background: #ffffff;
    color: #26364a;
    font-size: 13px;
    line-height: 1.4;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}

#contentbodybg.seminar-registration-page .form-control::placeholder {
    color: #98a3af;
    opacity: 1;
}

#contentbodybg.seminar-registration-page .form-control:focus,
#contentbodybg.seminar-registration-page .form-select:focus,
#contentbodybg.seminar-registration-page .seminar-control:focus {
    border-color: #f4a000;
    outline: none;
    box-shadow: 0 0 0 3px rgba(244,160,0,.12);
}

#contentbodybg.seminar-registration-page #choose_seminar {
    min-height: 47px;
}

/* Radio group */
#contentbodybg.seminar-registration-page input[type="radio"] {
    width: auto;
    min-height: auto;
    margin: 0 5px 0 0;
    vertical-align: middle;
    accent-color: #d98d00;
}

#contentbodybg.seminar-registration-page input[type="radio"] + text {
    vertical-align: middle;
}

#contentbodybg.seminar-registration-page .seminarform strong[style*="color:red"] {
    display: block;
    margin: 8px 0 11px;
    color: #bd2418 !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.55;
}

/* Dynamic staff/student area */
#contentbodybg.seminar-registration-page #rdiv {
    margin-top: 5px;
    padding: 15px 14px 3px;
    border: 1px solid #e4eaf0;
    border-radius: 10px;
    background: #f8fafc;
}

#contentbodybg.seminar-registration-page #rdiv .row {
    margin-left: -10px;
    margin-right: -10px;
}

#contentbodybg.seminar-registration-page #rdiv .form-group {
    margin-bottom: 14px;
}

/* AJAX seminar details */
#contentbodybg.seminar-registration-page #seminar_detail {
    margin: 0 10px 12px;
}

#contentbodybg.seminar-registration-page #seminar_detail:empty {
    display: none;
}

#contentbodybg.seminar-registration-page #seminar_detail .form-group {
    margin-bottom: 15px;
}

#contentbodybg.seminar-registration-page #seminar_detail table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #dfe7ef;
    border-radius: 9px;
    background: #ffffff;
}

#contentbodybg.seminar-registration-page #seminar_detail th {
    padding: 10px 12px;
    background: #001f43;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
}

#contentbodybg.seminar-registration-page #seminar_detail td {
    padding: 10px 12px;
    border-top: 1px solid #e7edf3;
    color: #26364a;
    font-size: 12px;
}

/* Upload section grid */
#contentbodybg.seminar-registration-page .seminar-form-section > .row {
    margin-left: -10px;
    margin-right: -10px;
    padding: 0;
}

#contentbodybg.seminar-registration-page .seminar-form-section label {
    min-height: 19px;
}

/* File controls */
#contentbodybg.seminar-registration-page input[type="file"] {
    display: block;
    width: 100%;
    min-height: 45px;
    box-sizing: border-box;
    padding: 7px 9px;
    border: 1px dashed #c4d0dc;
    border-radius: 8px;
    background: #f8fafc;
    color: #667085;
    font-size: 12px;
    line-height: 1.4;
}

#contentbodybg.seminar-registration-page input[type="file"]:focus {
    border-color: #f4a000;
    outline: none;
    box-shadow: 0 0 0 3px rgba(244,160,0,.10);
}

/* Fee */
#contentbodybg.seminar-registration-page .seminar-fee-control {
    width: 220px;
    max-width: 100%;
    background: #f5f8fb;
    color: #001f43;
    font-size: 18px;
    font-weight: 700;
    text-align: left;
}

/* Payment/action footer */
#contentbodybg.seminar-registration-page .seminar-form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 0;
    padding: 18px 28px 26px;
    border-top: 1px solid #e7edf3;
    background: #ffffff;
}

#contentbodybg.seminar-registration-page .seminar-form-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 43px;
    padding: 10px 19px;
    border: 0;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

#contentbodybg.seminar-registration-page .seminar-reset-btn {
    background: #eef2f6;
    color: #26364a;
    box-shadow: none;
}

#contentbodybg.seminar-registration-page .seminar-reset-btn:hover,
#contentbodybg.seminar-registration-page .seminar-reset-btn:focus {
    background: #e0e7ee;
    color: #001f43;
}

#contentbodybg.seminar-registration-page .seminar-submit-btn {
    background: #001f43;
    color: #ffffff;
    box-shadow: 0 7px 16px rgba(0,31,67,.18);
}

#contentbodybg.seminar-registration-page .seminar-submit-btn:hover,
#contentbodybg.seminar-registration-page .seminar-submit-btn:focus {
    background: #0b4f86;
    color: #ffffff;
    transform: translateY(-1px);
}

#contentbodybg.seminar-registration-page .seminar-submit-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Flash / validation */
#contentbodybg.seminar-registration-page .alert {
    border-radius: 8px;
}

#contentbodybg.seminar-registration-page .has-error .form-control,
#contentbodybg.seminar-registration-page .has-error .form-select {
    border-color: #dc3545;
}

/* Desktop widths matching the Blade's Bootstrap classes */
@media (min-width: 768px) {
    #contentbodybg.seminar-registration-page .col-md-12 {
        width: 100%;
    }

    #contentbodybg.seminar-registration-page .col-md-6 {
        width: 50%;
    }

    #contentbodybg.seminar-registration-page .col-md-4 {
        width: 33.333333%;
    }
}

/* Tablet */
@media (max-width: 991px) {
    #contentbodybg.seminar-registration-page > .container {
        width: calc(100% - 28px);
    }

    #contentbodybg.seminar-registration-page > .container > h1 {
        padding: 22px 24px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    #contentbodybg.seminar-registration-page {
        padding: 10px 0 35px;
    }

    #contentbodybg.seminar-registration-page > .container {
        width: calc(100% - 18px);
    }

    #contentbodybg.seminar-registration-page > .container > h1 {
        margin-bottom: 12px;
        padding: 19px 17px;
        border-radius: 12px;
        font-size: 24px;
        line-height: 1.25;
    }

    #contentbodybg.seminar-registration-page .seminarform {
        border-radius: 12px;
    }

    #contentbodybg.seminar-registration-page .seminarform form > .row {
        padding-left: 15px;
        padding-right: 15px;
    }

    #contentbodybg.seminar-registration-page .seminarform form > .row:first-of-type {
        padding-top: 19px;
    }

    #contentbodybg.seminar-registration-page .seminar-form-section {
        padding: 21px 15px 12px;
    }

    #contentbodybg.seminar-registration-page .seminar-section-heading {
        margin-bottom: 17px;
    }

    #contentbodybg.seminar-registration-page .seminar-section-heading h2 {
        font-size: 18px;
    }

    #contentbodybg.seminar-registration-page .seminar-section-number {
        width: 35px;
        height: 35px;
        flex-basis: 35px;
    }

    #contentbodybg.seminar-registration-page [class*="col-"] {
        padding-left: 6px;
        padding-right: 6px;
    }

    #contentbodybg.seminar-registration-page label {
        font-size: 12px;
    }

    #contentbodybg.seminar-registration-page label[style*="color:red"] {
        font-size: 15px !important;
    }

    #contentbodybg.seminar-registration-page .form-control,
    #contentbodybg.seminar-registration-page .form-select,
    #contentbodybg.seminar-registration-page .seminar-control {
        min-height: 44px;
        font-size: 13px;
    }

    #contentbodybg.seminar-registration-page #seminar_detail {
        margin-left: 6px;
        margin-right: 6px;
    }

    #contentbodybg.seminar-registration-page #rdiv {
        padding: 13px 10px 1px;
    }

    #contentbodybg.seminar-registration-page input[type="file"] {
        min-height: 44px;
        font-size: 11px;
    }

    #contentbodybg.seminar-registration-page .seminar-fee-control {
        width: 100%;
    }

    #contentbodybg.seminar-registration-page .seminar-form-actions {
        flex-direction: column-reverse;
        align-items: stretch;
        padding: 15px;
    }

    #contentbodybg.seminar-registration-page .seminar-form-actions .btn {
        width: 100%;
        min-height: 44px;
    }
}
