:root{
    --sage:#5E7A65;
    --cream:#F8F4EC;
    --beige:#E8DCCB;
    --terracotta:#C97C5D;
    --brown:#3E3128;
    --white:#ffffff;
    --shadow:0 8px 30px rgba(0,0,0,.08);
}

body{
    background:var(--cream);
    color:var(--brown);
    font-family:'Poppins', sans-serif;
    line-height:1.7;
}

main{
    min-height:70vh;
}

h1,h2,h3,h4,h5,h6{
    font-family:'Playfair Display', serif;
    font-weight:700;
    color:var(--brown);
    margin-bottom:1rem;
}

h1{
    font-size:3rem;
}

h2{
    font-size:2.2rem;
}

p{
    color:var(--brown);
}

a{
    color:var(--sage);
    text-decoration:none;
    transition:.2s ease;
}

a:hover{
    color:var(--terracotta);
}

.navbar{
    background:var(--sage);
    padding:1rem 0;
}

.navbar-brand{
    color:var(--white) !important;
    font-size:1.8rem;
    font-family:'Playfair Display', serif;
    font-weight:700;
}

.nav-link{
    color:var(--white) !important;
    font-weight:500;
    margin-left:1rem;
    transition:.2s;
}

.nav-link:hover{
    color:var(--beige) !important;
}

.nav-link.active{
    color:var(--beige) !important;
    border-bottom:2px solid var(--beige);
}

.navbar-toggler{
    border:none;
}

.navbar-toggler:focus{
    box-shadow:none;
}

.btn{
    border-radius:12px;
    padding:.75rem 1.5rem;
    font-weight:500;
    transition:.2s ease;
}

.btn-primary{
    background:var(--sage);
    border:none;
}

.btn-primary:hover{
    background:#4c6453;
    transform:translateY(-2px);
}

.btn-secondary{
    background:var(--terracotta);
    border:none;
}

.btn-secondary:hover{
    background:#b86c4d;
}

.card{
    border:none;
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.25s ease;
    background:var(--white);
}

.card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.card-body{
    padding:2rem;
}

.card img{
    height:230px;
    object-fit:cover;
}

.form-control,
.form-select{
    border-radius:12px;
    padding:.8rem;
    border:1px solid #ddd;
}

.form-control:focus,
.form-select:focus{
    border-color:var(--sage);
    box-shadow:0 0 0 .2rem rgba(94,122,101,.2);
}

.table{
    background:var(--white);
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow);
}

.table thead{
    background:var(--sage);
    color:var(--white);
}

.alert{
    border:none;
    border-radius:15px;
}

.badge{
    border-radius:20px;
    padding:.55rem .9rem;
}

section{
    margin:5rem 0;
}

footer{
    background:var(--beige) !important;
    color:var(--brown);
    margin-top:100px;
}

footer h5{
    color:var(--brown);
}

footer a{
    color:var(--brown);
    text-decoration:none;
}

footer a:hover{
    color:var(--terracotta);
}

.hero-home{
    background:
        linear-gradient(rgba(0,0,0,.62), rgba(0,0,0,.62)),
        url('/images/hero/hero-photo.jpg') center/cover no-repeat;
    min-height:420px;
    display:flex;
    align-items:center;
}

.hero-home h1,
.hero-home p{
    color:#ffffff !important;
    text-shadow:0 2px 10px rgba(0,0,0,.45);
}

.hero-home p{
    max-width:760px;
}

.navbar-toggler{
    border:1px solid rgba(255,255,255,.35);
    padding:.45rem .7rem;
}

.navbar-toggler-icon{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-toggler:focus{
    box-shadow:0 0 0 .2rem rgba(255,255,255,.15);
}
.form-check {
    background: var(--white);
    border: 1px solid var(--beige);
    border-radius: 12px;
    padding: .65rem .9rem;
    margin-bottom: .6rem;
    display: flex;
    align-items: center;
    gap: .6rem;
}

.form-check-input {
    margin-top: 0 !important;
    flex-shrink: 0;
}

.form-check-label {
    margin-bottom: 0;
    color: var(--brown);
    font-weight: 500;
}

fieldset {
    margin-top: 1rem;
}

fieldset legend,
.col-form-label {
    font-weight: 600;
    color: var(--brown);
    margin-bottom: .8rem;
}
