/* ============================================================
   BASE LAYOUT (YOURS)
   ============================================================ */
.mod_wrap { 
    display:grid; 
    grid-template-columns:1.1fr 1fr; 
    gap:28px; 
    align-items:flex-start; 
    background:#fff;
}

.mod_wrap h2 { 
    font-size:28px; 
    margin-bottom:8px; 
    color:#0d2740; 
}

.mod_wrap .mod_intro { 
    color:#444; 
    margin-bottom:18px; 
    line-height:1.7; 
}

.mod_wrap .mod_header { 
    display:flex; 
    justify-content:space-between; 
    align-items:center; 
    margin-bottom:20px; 
    gap:12px; 
}

.mod_dropdown select { 
    padding:10px 14px; 
    border-radius:28px; 
    border:1px solid #ddd; 
}

.mod_cards { 
    display:grid; 
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); 
    gap:16px; 
}

.mod_cards .card { 
    background:#fff; 
    padding:16px; 
    border-radius:10px; 
    border:1px solid #eee; 
    box-shadow:0 2px 6px rgba(0,0,0,0.04); 
}

.mod_cards .card h4 { 
    margin:0 0 6px 0; 
    font-size:16px; 
     font-family: 'PT Serif';
    color: black;
}

.mod_cards .card p { 
    margin:4px 0; 
    color:#555; 
    font-size:14px; 
}

.mod_view_more { 
    margin-top:18px; 
    padding:10px 18px; 
    border-radius:24px; 
    background:#fff; 
    border:1px solid #ccc; 
    cursor:pointer; 
}

.hidden-module { 
    display:none; 
}

.mod_content
 {
    padding-left: 50px;
}
.mod_header h3 {
    font-family: 'PT Serif';
    font-size: 19px;
}
.mod_content h2 {
    font-family: 'PT Serif';
    color: #0B7B83;
    padding-top: 20px;
}
/* ============================================================
   CANTERBURY IMAGE PANEL (CLEAN + SAFE FOR GRID)
   ============================================================ */

/* Right image container */
.mod_image {
    display: flex;
    flex-direction: column;
    width: 100%;               /* grid handles width */
    
}

/* The actual image */
.mod_image img {
    width: 100%;
    height: 620px !important;             /* Canterbury height */
    object-fit: cover;
	margin-top: -10px;
    margin-left: 10px;
}

/* Blue underline bar 
.mod_image::after {
    content: "";
    display: block;
    width: 100%;
    height: 6px;
    background: #1e4fff;
    margin-top: 10px;
    border-radius: 3px;*/
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:992px){
    .mod_wrap { 
        grid-template-columns:1fr; 
        padding:20px; 
    } 
    .mod_image{
        order:-1;
        padding-right: 0;
    }
    .mod_image img {
        height: 400px;
    }
}

@media (max-width:600px){ 
    .mod_cards { grid-template-columns:1fr; } 
    .mod_dropdown select{width:100%} 
    .mod_view_more{width:100%} 
}
