/* =========================================================================
   LAYOUT — container toàn site, khối section, lưới

   Nguyên tắc: NỀN section chạy full viewport, NỘI DUNG luôn nằm trong
   .container căn giữa với max-width thống nhất.
   ========================================================================= */

.container {
    width: min(100% - (var(--container-gutter) * 2), var(--container-max));
    margin-inline: auto;
}

/* Biến thể hiếm dùng — chỉ khi thiết kế thật sự cần */
.container--narrow {
    width: min(100% - (var(--container-gutter) * 2), 860px);
    margin-inline: auto;
}

.container--wide {
    width: min(100% - 32px, 1380px);
    margin-inline: auto;
}

/* ---------- Section: nền full-width ---------- */
.section {
    position: relative;
    width: 100%;
}

/* ---------- Panel: khối bo góc nổi trên nền giấy ----------
   Mockup dùng pattern này cho hầu hết section giữa trang. */
.panel {
    position: relative;
    width: min(100% - 40px, var(--panel-max));
    margin-inline: auto;
    background: var(--c-panel);
    border-radius: var(--radius-panel);
    /* Mockup gan nhu khong do bong o khoi section — chi mot vien sang rat nhe */
    box-shadow: 0 1px 2px rgba(83, 56, 38, .035);
}

.panel--warm {
    background: var(--c-panel-warm);
}

.panel--overflow {
    overflow: hidden;
}

.panel + .panel {
    margin-top: 6px;
}

/* ---------- Tiêu đề section ---------- */
.section-head {
    text-align: center;
}

.section-head__title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    font-size: var(--fs-h2);
    font-weight: 700;
    color: var(--c-heading);
}

.section-head__title::before,
.section-head__title::after {
    content: "";
    width: 86px;
    height: 22px;
    flex: none;
    background: url("../icons/brush-stroke.svg") center / contain no-repeat;
    opacity: .9;
}

.section-head__title::after {
    transform: scaleX(-1);
}

.section-head__sub {
    margin-top: 6px;
    font-size: var(--fs-body-sm);
    color: var(--c-muted);
}

/* ---------- Lưới ---------- */
.grid {
    display: grid;
    gap: 30px;
}

.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- Lá trang trí ---------- */
.leaf {
    position: absolute;
    pointer-events: none;
    user-select: none;
    z-index: 2;
}
