/* Three-card nursery gallery. Load AFTER site.css. */
.bs-trio { padding: 60px 0; background: #ecfbfd; }
.bs-trio h2 { margin: 0 0 12px; }
.bs-trio-pages { margin: 28px 0 20px; }
.bs-trio .bs-page { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.bs-trio .bs-page[hidden],.bs-trio-controls[hidden] { display: none !important; }
.bs-trio .bs-photo { margin: 0; overflow: hidden; border-radius: 18px; background: #fff; color: #202a3b; }
.bs-trio .bs-photo a { display: block; }
.bs-trio .bs-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.bs-trio figcaption { padding: 18px; font-weight: 600; }
.bs-trio-controls { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; justify-content: center; margin-bottom: 26px; }
.bs-trio-controls button { min-height: 44px; border: 1px solid #087f8c; border-radius: 10px; padding: 10px 16px; background: #fff; color: #202a3b; font: inherit; cursor: pointer; }
.bs-trio-controls button:hover { background: #daf5f8; }
.bs-trio button:focus-visible,.bs-trio a:focus-visible { outline: 3px solid #c6008c; outline-offset: 3px; }
.bs-trio-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media(max-width:700px) { .bs-trio { padding: 40px 0; } .bs-trio .bs-page { grid-template-columns: 1fr; gap: 18px; } }
/* Parent reviews */
.bs-reviews {
    padding: 60px 0;
    background: #fff;
}

.bs-reviews h2 {
    margin: 0 0 12px;
}

.bs-reviews-intro {
    margin-bottom: 28px;
}

.bs-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: 28px;
}

.bs-review-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: 0;
    padding: 28px;
    border: 1px solid #dceef0;
    border-top: 4px solid #c6008c;
    border-radius: 18px;
    background: #ecfbfd;
    color: #202a3b;
}

.bs-review-card blockquote {
    margin: 0 0 24px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
}

.bs-review-card blockquote p {
    margin: 0;
    font-size: 19px;
    line-height: 1.6;
}

.bs-review-card figcaption strong,
.bs-review-card figcaption span {
    display: block;
}

.bs-review-card figcaption span {
    margin-top: 5px;
    font-size: 13px;
    color: #536170;
}

@media (max-width: 700px) {
    .bs-reviews {
        padding: 40px 0;
    }

    .bs-review-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

/* Daily routine */
.bs-routine {
    padding: 60px 0;
    background: #fff;
    color: #202a3b;
}

.bs-routine h2 {
    margin: 0 0 15px;
}

.bs-routine-intro {
    max-width: 680px;
    margin-bottom: 28px;
}

.bs-routine-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.bs-routine-card {
    padding: 26px 23px;
    border-radius: 17px;
    border-top: 4px solid #09b8c9;
    background: #ecfbfd;
}

.bs-routine-card:nth-child(2) {
    background: #fff0f8;
    border-color: #c6008c;
}

.bs-routine-card:nth-child(3) {
    background: #fff8e2;
    border-color: #e9b72b;
}

.bs-routine-card:nth-child(4) {
    background: #fff0e5;
    border-color: #ed822c;
}

.bs-routine-card:nth-child(5) {
    background: #eff9e9;
    border-color: #69ad45;
}

.bs-routine-card:nth-child(6) {
    background: #eef2ff;
    border-color: #6689ed;
}

.bs-routine-symbol {
    display: flex;
    align-items: center;
    height: 28px;
    margin-bottom: 18px;
    color: #087f8c;
}

.bs-routine-symbol svg {
    width: 28px;
    height: 28px;
}

.bs-routine-card:nth-child(2) .bs-routine-symbol {
    color: #bc0087;
}

.bs-routine-card:nth-child(3) .bs-routine-symbol {
    color: #896400;
}

.bs-routine-card:nth-child(4) .bs-routine-symbol {
    color: #a65113;
}

.bs-routine-card:nth-child(5) .bs-routine-symbol {
    color: #3e7824;
}

.bs-routine-card:nth-child(6) .bs-routine-symbol {
    color: #4164bf;
}

.bs-routine-card h3 {
    margin: 0 0 12px;
    font-size: 21px;
    line-height: 1.3;
}

.bs-routine-card p {
    margin: 0;
    color: #4b5967;
    line-height: 1.65;
}

.bs-routine-note {
    margin: 24px 0;
    padding: 18px 20px;
    border-radius: 12px;
    background: #ecfbfd;
    color: #354959;
}

@media (max-width: 900px) {
    .bs-routine-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .bs-routine {
        padding: 40px 0;
    }

    .bs-routine-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}