/* ==========================================================
   Real English – style bổ sung cho các block CMS
   ========================================================== */

.re-school__name { font-size: .95rem; font-weight: 700; color: var(--re-navy); margin: 0; }
.re-logo__img { height: 44px; width: auto; }
.re-card { height: 100%; width: 100%; }

/* Template layout */
.re-tpl-narrow main .container { max-width: 900px; }
.re-narrow { max-width: 900px; }
.re-tpl-landing .re-section { padding: 3.5rem 0; }

/* Tiêu đề trang khi không có hero */
.re-page-head { background: var(--re-bg-alt); padding: 2rem 0 1.75rem; border-bottom: 1px solid var(--re-border); }
.re-page-head h1 { color: var(--re-navy); font-weight: 800; font-size: clamp(1.5rem, 3vw, 2.1rem); margin: 0; }
.re-breadcrumb { font-size: .8rem; margin-bottom: .6rem; }
.re-breadcrumb a { color: var(--re-muted); }
.re-breadcrumb a:hover { color: var(--re-red); }

/* Block chung */
.re-block__title { color: var(--re-navy); font-weight: 800; font-size: 1.4rem; margin-bottom: 1rem; }
.re-block__image { width: 100%; border-radius: 10px; box-shadow: var(--re-shadow); }

/* Nội dung soạn thảo (rich text) */
.re-prose { color: var(--re-text); line-height: 1.75; font-size: 1rem; }
.re-prose h2, .re-prose h3, .re-prose h4 { color: var(--re-navy); font-weight: 700; margin: 1.6em 0 .6em; }
.re-prose h2 { font-size: 1.35rem; }
.re-prose h3 { font-size: 1.15rem; }
.re-prose img { height: auto; border-radius: 8px; margin: 1rem 0; }
.re-prose a { color: var(--re-red); text-decoration: underline; }
.re-prose blockquote { border-left: 4px solid var(--re-red); padding: .25rem 1rem; color: var(--re-muted); margin: 1.25rem 0; }
.re-prose > *:first-child { margin-top: 0; }

/* Features */
.re-feature { display: block; width: 100%; background: #fff; border: 1px solid var(--re-border); border-radius: 10px; padding: 1.5rem; color: var(--re-text); box-shadow: var(--re-shadow); transition: transform .25s ease, box-shadow .25s ease; }
a.re-feature:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(20, 39, 92, .14); color: var(--re-text); }
.re-feature__icon { font-size: 2rem; color: var(--re-red); display: block; margin-bottom: .75rem; }
.re-feature__title { font-size: 1.05rem; font-weight: 700; color: var(--re-navy); margin-bottom: .4rem; }
.re-feature__text { font-size: .88rem; color: var(--re-muted); margin: 0; }

/* CTA */
.re-cta { padding: 2.25rem 0; }
.re-cta__box { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; justify-content: space-between; background: var(--re-navy); color: #fff; border-radius: 12px; padding: 2rem 2.25rem; }
.re-cta__title { font-weight: 800; font-size: 1.4rem; margin-bottom: .35rem; }
.re-cta__desc { color: #dfe5f3; margin: 0; }

/* FAQ */
.re-faq .accordion-button { font-weight: 600; color: var(--re-navy); }
.re-faq .accordion-button:not(.collapsed) { background: var(--re-bg-alt); box-shadow: none; }
.re-faq .accordion-button:focus { box-shadow: none; }

/* Pagination */
.re-pagination { margin-top: 2rem; display: flex; justify-content: center; }
.re-pagination .page-link { color: var(--re-navy); }
.re-pagination .active > .page-link { background: var(--re-navy); border-color: var(--re-navy); color: #fff; }

/* Trang chi tiết */
.re-entry__meta { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: center; margin: .75rem 0 0; font-size: .85rem; color: var(--re-muted); }
.re-entry__meta .re-pill { position: static; }
.re-entry__container { max-width: 860px; }
.re-entry__cover { width: 100%; max-height: 460px; object-fit: cover; border-radius: 10px; margin-bottom: 1.5rem; }
.re-entry__lead { font-size: 1.1rem; font-weight: 500; color: var(--re-navy); }

/* Footer bar */
.re-footer-bar { background: var(--re-navy-dark); color: #c9d2ea; padding: 2rem 0 1.25rem; font-size: .85rem; }
.re-footer-bar__name { color: #fff; font-weight: 700; margin-bottom: .5rem; }
.re-footer-bar__contact, .re-footer-bar__menu { list-style: none; padding: 0; margin: 0; }
.re-footer-bar__contact li { margin-bottom: .3rem; }
.re-footer-bar__menu { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.re-footer-bar a { color: #c9d2ea; }
.re-footer-bar a:hover { color: #fff; }
.re-footer-bar__social { display: flex; gap: .9rem; font-size: 1.25rem; }
.re-footer-bar__copy { border-top: 1px solid rgba(255, 255, 255, .1); margin: 1.5rem 0 0; padding-top: 1rem; font-size: .78rem; color: #8f9bbd; }

/* Thanh xem trước & nút sửa nhanh cho quản trị viên */
.re-preview-bar { background: #fff3cd; color: #664d03; text-align: center; font-size: .85rem; padding: .5rem 1rem; }
.re-admin-edit { position: fixed; z-index: 2000; right: 1rem; bottom: 1rem; background: var(--re-navy); color: #fff; padding: .55rem 1rem; border-radius: 999px; font-size: .8rem; font-weight: 600; box-shadow: 0 6px 20px rgba(0, 0, 0, .25); }
.re-admin-edit:hover { background: var(--re-red); color: #fff; }
