/* Reorganized from wwwroot/css/village.css. */
.village-page {
    padding: 0 0 clamp(3rem, 5vw, 5rem);
    background: #fff;
    color: #172033;
}

.village-page-khmer {
    font-family: 'Khmer OS Metal Chrieng', Hanuman, Inter, Arial, sans-serif;
}

.village-word-page {
    width: 100%;
    min-height: auto;
    margin: 0 0 1.25rem;
    padding: clamp(1rem, 2vw, 1rem) 0;
    border: 0;
    background: #fff;
    box-shadow: none;
    font-family: Inter, Arial, sans-serif;
}

.village-word-header {
    
    margin: 0 0 clamp(1.25rem, 2vw, 1.75rem);
    text-align: center;
}

    .village-word-header h1 {
        margin: 0 0 1rem;
        color: var(--fr-purple, #672290);
        font-family: Inter, Arial, sans-serif;
        font-size: clamp(2.25rem, 4vw, 2.7rem);
        font-weight: 800;
        line-height: 1.20;
        letter-spacing: 0;
    }

.village-page-khmer .village-word-header h1,
.village-page-khmer .village-word-section h2 {
    font-family: Moul, Hanuman, serif;
    font-weight: 400;
}

.village-page-khmer .village-word-header h1 {
    max-width: 1120px;
    margin-inline: auto;
    font-size: 2rem;
    line-height: 1.8;
}

.village-francophonie-word {
    color: transparent;
    background: linear-gradient(90deg, #ffcd00 0 18%, #56b947 18% 38%, #672290 38% 58%, #ef3340 58% 78%, #00a3e0 78% 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.village-document-subtitle,
.village-document-place {
    margin: 0;
    color: #172033;
    font-family: inherit;
    font-size: clamp(1.05rem, 1.65vw, 1.25rem);
    font-weight: 800;
    line-height: 1.45;
}

.village-document-place {
    margin-top: .35rem;
    color: #4e6173;
    font-size: 1rem;
    font-weight: 700;
}

.village-word-header::after {
    content: "";
    display: block;
    width: 180px;
    height: 4px;
    margin: 1.25rem auto 0;
    background: linear-gradient(90deg, #ffcd00 0 20%, #56b947 20% 40%, #672290 40% 60%, #ef3340 60% 80%, #00a3e0 80% 100%);
}

.village-word-intro p {
    
    margin-inline: 0;
    margin: 0;
    color: #35435a;
    font-size: 1.03rem;
    line-height: 2;
    text-align: justify;
}

.village-word-section {
    
    margin-inline: 0;
    margin-top: 1.45rem;
}

    .village-word-section h2 {
        display: flex;
        align-items: center;
        gap: .25rem;
        margin: 0 0 .6rem;
        color: #672290;
        font-size: clamp(1.3rem, 2vw, 1.65rem);
        font-weight: 800;
        line-height: 1.55;
        text-decoration: none;
    }

.village-page-khmer .village-word-intro p,
.village-page-khmer .village-word-section li,
.village-page-khmer .village-word-lead,
.village-page-khmer .village-word-closing p {
    font-family: 'Khmer OS Metal Chrieng', Hanuman, serif;
    font-weight: 400;
    text-align: start;
}

.village-page-khmer .village-word-intro strong,
.village-page-khmer .village-word-section strong,
.village-page-khmer .village-word-lead strong,
.village-page-khmer .village-word-closing strong {
    font-family: 'Khmer OS Metal Chrieng', Hanuman, serif;
    font-weight: 700;
}

.village-word-section h2 span {
    text-decoration: none;
}

.village-word-section ul {
    margin: 0;
    padding-left: 1.4rem;
}

.village-word-section li {
    margin: .45rem 0;
    padding-left: .18rem;
    color: #35435a;
    font-size: 1rem;
    line-height: 2;
}

.village-word-section li::marker {
    color: #111;
    font-size: .8rem;
}

.village-word-section strong {
    color: #172033;
    font-weight: 800;
}

.village-word-expect li strong {
    color: #0066FF;
}

.village-word-lead {
    margin: 0 0 .8rem;
    color: #35435a;
    font-size: 1.03rem;
    line-height: 1.75;
    text-align: justify;
}

.village-word-closing {
    width: min(90%, 900px);
    margin: 2.4rem auto 0;
    text-align: center;
}

.village-word-closing p {
    margin: 0;
    color: #00802b;
    font-size: 1.08rem;
    font-style: italic;
    font-weight: 800;
    line-height: 1.5;
}

.village-word-floorplan-page {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 1rem;
}

.village-word-floorplan {
    width: 100%;
    margin: 0 auto;
    background: #e5e5e5;
}

.village-word-floorplan img {
    display: block;
    width: 100%;
    height: auto;
}
