.course-page {
    background: #fffaf2;
}
.course-overview {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(240px, 0.6fr);
    gap: 35px;
    align-items: center;
    padding: 30px 35px;
    background: #fffdf8;
    border: 1px solid #e4ccaa;
    border-radius: 12px;
    margin-bottom: 26px;
}
.course-overview p {
    font:
        17px/1.7 Arial,
        sans-serif;
    color: #6f5c49;
    margin: 0 0 23px;
}
.course-overview-art {
    width: 100%;
    height: 215px;
    object-fit: cover;
    border-radius: 9px;
    mix-blend-mode: multiply;
    mask-image: linear-gradient(90deg, transparent, #000 20%);
}
.course-actions {
    display: flex;
    gap: 13px;
    flex-wrap: wrap;
}
.course-facts-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 25px 55px;
    background: #65100f;
    padding: 25px 30px;
    border-radius: 10px;
    color: #f6e7c9;
    margin-bottom: 26px;
}
.course-facts-bar small {
    display: block;
    font-size: 11px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #d7b270;
    margin-bottom: 8px;
}
.course-facts-bar strong {
    font:
        400 24px/1.2 Georgia,
        serif;
}
.course-content-panel {
    padding: 28px 32px;
    border: 1px solid #e8d7bf;
    background: #fffdf9;
    border-radius: 12px;
    margin-bottom: 24px;
}
.course-content-panel h2 {
    font-size: 30px;
    margin: 0 0 20px;
}
.course-content-panel p {
    font-size: 16px;
    line-height: 1.7;
    color: #705e4d;
}
.course-content-panel p + h2 {
    margin-top: 25px;
}
.course-topic-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 14px;
}
.course-topic-grid > li {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    background: #f9f0e3;
    padding: 18px;
    border-radius: 7px;
    min-width: 0;
}
.course-topic-grid > li > span {
    color: #b6873b;
    font:
        23px Georgia,
        serif;
}
.course-topic-grid p {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
}
.course-benefits {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 14px;
}
.course-benefits li {
    padding: 18px 20px;
    border-left: 2px solid #b6873b;
    background: #f8eedc;
    font-size: 16px;
    line-height: 1.5;
}
.course-resource-strip {
    padding: 30px 35px;
    background: #f2e4cc;
    border-radius: 12px;
}
.course-resource-strip h2 {
    font-size: 32px;
    margin-bottom: 16px;
}
.course-resource-strip p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: #7b6042;
}
.vastu-levels {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.vastu-levels article {
    display: grid;
    grid-template-columns: 95px minmax(0, 1fr);
    gap: 25px;
    padding: 30px;
    background: #fffdf8;
    border: 1px solid #e0c5a0;
    border-radius: 12px;
}
.vastu-levels article > span {
    font:
        65px Georgia,
        serif;
    color: #bb9159;
    padding-top: 10px;
}
.vastu-levels h2 {
    font-size: 32px;
    margin: 10px 0 17px;
}
.vastu-levels p:not(.eyebrow) {
    font-size: 16px;
    line-height: 1.7;
    color: #745e47;
    max-width: 1050px;
}
.vastu-levels .eyebrow {
    font-size: 11px;
    letter-spacing: 2px;
    margin: 0;
}
.course-date-note {
    font-size: 14px;
    line-height: 1.5;
    color: #8b6a3b;
    border: 1px solid #dec4a0;
    background: #fcf6eb;
    border-radius: 7px;
    padding: 14px 20px;
    margin: 0 0 24px;
}
.course-date-note strong {
    color: #65100f;
}
.notes-modal .modal-content {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid #d2b07e;
}
.notes-modal-heading {
    position: relative;
    background: linear-gradient(135deg, #65100f, #3b1714);
    padding: 25px;
    color: #f5e5c9;
}
.notes-modal-heading h2 {
    font-size: 31px;
    color: inherit;
    margin: 0 0 10px;
}
.notes-modal-heading p {
    font-size: 13px;
    color: #d7b270;
    margin: 0;
}
.notes-modal-heading .btn-close {
    position: absolute;
    right: 16px;
    top: 16px;
    filter: invert(1);
}
.notes-modal .modal-body {
    padding: 25px;
}
.notes-modal .modal-body > p {
    font-size: 14px;
    line-height: 1.5;
    color: #80694e;
}
.notes-modal label {
    display: block;
    font-size: 14px;
    margin: 17px 0 8px;
}
.notes-modal .form-control,
.notes-modal .form-select {
    font-size: 15px;
    min-height: 46px;
    border-color: #dac2a0;
    box-shadow: none;
}
.notes-phone {
    display: grid;
    grid-template-columns: 45% minmax(0, 1fr);
    gap: 10px;
}
.notes-consent {
    display: flex !important;
    align-items: flex-start;
    gap: 9px;
    font-size: 12px !important;
    line-height: 1.5 !important;
}
.notes-consent input {
    margin-top: 3px;
    flex-shrink: 0;
}
.notes-result {
    color: #65100f !important;
    margin: 15px 0 0 !important;
}
.notes-modal .modal-footer {
    padding: 18px 25px;
    background: #f7eddf;
}
.notes-modal .modal-footer .btn {
    width: 100%;
}
.course-grid > a {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 100px;
    padding: 18px;
    color: #65100f;
    border: 1px solid #e2cbae;
    border-radius: 8px;
    background: #fffaf2;
    font-size: 18px;
}
.course-grid > a:hover {
    background: #f4e4cb;
}
@media (max-width: 991px) {
    .course-topic-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .course-overview {
        grid-template-columns: 1.25fr 0.75fr;
        padding: 25px;
        gap: 25px;
    }
    .course-grid > a {
        font-size: 16px;
    }
}
@media (max-width: 767px) {
    .course-overview {
        grid-template-columns: 1fr;
        padding: 23px;
        gap: 15px;
    }
    .course-overview-art {
        height: 150px;
        max-width: 400px;
        margin: auto;
    }
    .course-overview p {
        font-size: 16px;
    }
    .course-content-panel {
        padding: 22px;
    }
    .course-content-panel h2 {
        font-size: 27px;
    }
    .course-topic-grid,
    .course-benefits {
        grid-template-columns: 1fr;
    }
    .course-facts-bar {
        padding: 23px;
        gap: 20px 35px;
    }
    .course-facts-bar strong {
        font-size: 21px;
    }
    .course-resource-strip {
        padding: 24px;
    }
    .course-resource-strip h2 {
        font-size: 28px;
    }
    .vastu-levels article {
        grid-template-columns: 50px minmax(0, 1fr);
        padding: 23px;
        gap: 17px;
    }
    .vastu-levels article > span {
        font-size: 39px;
    }
    .vastu-levels h2 {
        font-size: 28px;
    }
    .course-actions .btn {
        font-size: 13px;
    }
    .course-grid > a {
        min-height: 72px;
        padding: 12px;
        font-size: 14px;
    }
    .notes-phone {
        grid-template-columns: 42% minmax(0, 1fr);
    }
}
/* Full curriculum, comfortable reading, and a consistent course page rhythm. */
.course-overview {
    border-top: 3px solid #b6873b;
    background: linear-gradient(125deg, #fffdfa, #f8efdf);
}
.course-overview > div > p + p {
    margin-top: 17px;
}
.course-content-panel {
    box-shadow: 0 8px 24px #79533108;
}
.complete-syllabus {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.complete-syllabus > li {
    padding: 22px 24px;
    background: #faf2e6;
    border: 1px solid #eadac3;
    border-radius: 9px;
}
.complete-syllabus > li > div {
    min-width: 0;
}
.complete-syllabus p {
    font-size: 16px;
    line-height: 1.6;
}
.complete-syllabus ul {
    padding-left: 18px;
    margin: 14px 0 0;
}
.complete-syllabus ul > li {
    display: list-item;
    list-style: disc;
    padding: 0;
    margin: 7px 0;
    background: none;
    border: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #78624a;
}
.complete-syllabus > li > span {
    font-size: 27px;
    color: #ac7f42;
}
.course-full-list {
    padding-left: 23px;
    margin: 0;
    columns: 2;
    column-gap: 42px;
}
.course-full-list li {
    break-inside: avoid;
    font:
        16px/1.7 Arial,
        sans-serif;
    color: #6f5944;
    margin: 0 0 15px;
    padding-left: 7px;
}
.course-facts-bar p {
    font-size: 12px;
    color: #d7b270;
    margin: 9px 0 0;
}
.course-video-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 25px 0;
}
.course-video-grid .ratio {
    border-radius: 9px;
    overflow: hidden;
    background: #3b1714;
}
.course-fee-notes {
    background: #f7eddf;
    border-left: 3px solid #b6873b;
}
.course-fee-notes h2 {
    font-size: 25px;
}
.course-fee-notes p {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 13px;
}
@media (max-width: 991px) {
    .course-video-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .complete-syllabus > li {
        padding: 20px;
    }
    .course-full-list {
        column-gap: 30px;
    }
}
@media (max-width: 767px) {
    .complete-syllabus {
        grid-template-columns: 1fr;
    }
    .course-full-list {
        columns: 1;
    }
    .course-video-grid {
        grid-template-columns: 1fr;
    }
    .course-content-panel {
        padding: 23px;
    }
    .complete-syllabus p {
        font-size: 15px;
    }
    .complete-syllabus ul > li {
        font-size: 14px;
    }
    .course-overview-art {
        height: 165px;
    }
    .course-full-list li {
        font-size: 15px;
    }
}
