/* style_rachana.css
   Consolidated & deduped styles for rachana page
   Put this file in /css/style_rachana.css and link from your PHP page.
*/

/* Base resets & layout helpers */
*,
*::before,
*::after { box-sizing: border-box; }

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* hide horizontal scroll */
    -webkit-overflow-scrolling: touch;
    background: #f8fafc;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

/* Header / page top */
.ps-header {
    background: linear-gradient(90deg, #0d6efd, #4c82ff);
    padding: 25px 0;
    text-align: center;
    color: #fff;
}

/* Card / info common */
.info-card {
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .05);
}

/* Titles */
.title { font-weight: 700; color: #0d6efd; }

/* Carousel image */
.carousel-item img {
    height: 360px;
    width: 100%;
    object-fit: cover;
    border-radius: 12px;
    display: block;
    background: #e9ecef;
}

/* Current slide description */
.current-desc {
    margin-top: 12px;
    color: #333;
    font-size: 1rem;
    text-align: center;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    white-space: normal;
    word-break: break-word;
    min-height: 1.5em;
}

/* Minister / member cards */
.minister-card {
    border-radius: 12px;
    padding: .6rem;
    background: #fff;
    transition: transform .18s ease, box-shadow .18s ease;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
    border: 1px solid rgba(13, 110, 253, 0.04);
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}
.minister-card:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}
.minister-photo-wrap {
    width: 110px;
    height: 110px;
    border-radius: 18%;
    overflow: hidden;
    display: inline-block;
    background: #f1f3f5;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
    border: 3px solid #fff;
}
.minister-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.minister-name {
    margin-top: .6rem;
    font-weight: 600;
    color: #0d3d7a;
    line-height: 1.1;
    text-align: center;
    font-size: .95rem;
}
.minister-designation {
    margin-top: .25rem;
    color: #4a5568;
    font-size: .82rem;
    text-align: center;
}

/* Responsive grid for ministers */
.ministers-responsive > div {
    flex: 0 0 50%;
    max-width: 50%;
    display: flex;
    padding: 0 .25rem;
    box-sizing: border-box;
}
@media (min-width: 768px) {
    .ministers-responsive > div { flex: 0 0 33.333%; max-width: 33.333%; }
}
@media (min-width: 1200px) {
    .ministers-responsive > div { flex: 0 0 16.666%; max-width: 16.666%; }
}

/* small tweaks */
.info-card.p-3 { padding: 1rem; }
.ministers-responsive .text-center { padding: .35rem 0; }
@media (max-width:576px) {
    .minister-photo-wrap { width: 90px; height: 90px; }
    .minister-name { font-size: .92rem; }
}

/* Card grid general (ps-cards) */
.ps-cards {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
}
@media (min-width: 768px) {
    .ps-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1200px) {
    .ps-cards { grid-template-columns: repeat(3, 1fr); }
}

/* Card look */
.ps-card {
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border-radius: 12px;
    padding: 1.1rem;
    box-shadow: 0 8px 22px rgba(12, 35, 64, 0.06);
    border: 1px solid rgba(15, 45, 85, 0.04);
    transition: transform .18s ease, box-shadow .18s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.ps-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(12, 35, 64, 0.08);
}
/* Card header */
.ps-card .title { display: flex; align-items: center; gap: .6rem; margin-bottom: .6rem; }
.ps-card .title .dot {
    width: 46px; height: 46px; border-radius: 10px;
    background: linear-gradient(135deg, #0d6efd, #4c82ff);
    display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700;
    box-shadow: 0 6px 18px rgba(12, 100, 255, 0.12);
    flex: 0 0 46px;
}
.ps-card h6 { margin: 0; font-size: 1.02rem; font-weight: 700; }

/* Body text */
.ps-card p, .ps-card ul, .ps-card li {
    color: #3b4756; font-size: .95rem; line-height: 1.45;
}
.ps-card ul { padding-left: 1.05rem; margin: .45rem 0; }

/* Muted footer / divider */
.ps-card .muted { margin-top: auto; font-size: .85rem; color: #6c757d; }
.ps-divider {
    height: 1px; background: linear-gradient(90deg, transparent, #e9eef8, transparent);
    margin: .8rem 0; border-radius: 1px;
}

/* Small responsive fixes */
.container, .info-card, .ps-cards, .ministers-responsive>div { max-width: 100%; word-wrap: break-word; }
.ps-card p, .ps-card ul, .minister-name, .minister-designation { word-break: break-word; overflow-wrap: break-word; }

/* Misc cosmetic */
body::-webkit-scrollbar { width:12px; height:12px; }
