/* ==========================================
   APP LAYOUT
========================================== */

*, *::before, *::after{
    box-sizing:border-box;
}

:root{

    --bg:#f5f7fb;

    --card:#ffffff;

    --border:#e5e7eb;

    --primary:#0E6544;

    --primary-hover:#0B5739;

    --secondary:#f47521;

    --text:#111827;

    --muted:#64748b;

    --radius:18px;

    --shadow:
        0 8px 24px rgba(15,23,42,.05);

}

/* Reset */

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

body{

    background:var(--bg);

    font-family:Inter,Arial,sans-serif;

    color:var(--text);

}

/* Layout */

.png-layout{

    display:flex;

    min-height:100vh;

    background:var(--bg);

}

.png-main{

    flex:1;

    min-height:100vh;

    margin-left:300px;

    padding:26px 40px 40px;

    display:flex;

    flex-direction:column;

    gap:32px;

    box-sizing:border-box;

}

/* ==========================================================
   FOOTER
========================================================== */

.png-footer{

    margin-top:auto;

    padding-top:24px;

    border-top:1px solid #E5E7EB;

    display:flex;

    align-items:center;

    justify-content:space-between;

    flex-wrap:wrap;

    gap:12px;

    font-size:13px;

    color:#94A3B8;

}

.png-footer-links{

    display:flex;

    gap:20px;

}

.png-footer-links a{

    color:#64748B;

    text-decoration:none;

    transition:.2s;

}

.png-footer-links a:hover{

    color:#0E6544;

}

/* Header */

.png-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-bottom:10px;

}

.png-header h1{

    font-size:38px;

    font-weight:700;

}

.png-header p{

    margin-top:8px;

    color:var(--muted);

    font-size:15px;

}

/* Sections */

.page-section{

    width:100%;

}
/* ==========================================================
   SEASONAL CALENDAR BANNER
========================================================== */

.png-season-banner{

    align-items:center;

    gap:12px;

    background:linear-gradient(135deg, #F0FDF4, #DCFCE7);

    border:1px solid #86EFAC;

    border-radius:12px;

    padding:14px 16px;

    margin-bottom:16px;

}

.png-season-banner-icon{

    font-size:20px;

    flex-shrink:0;

}

.png-season-banner-text{

    flex:1;

    font-size:14px;

    color:#14532D;

    line-height:1.5;

}

.png-season-banner-dismiss{

    flex-shrink:0;

    background:none;

    border:none;

    font-size:20px;

    line-height:1;

    color:#166534;

    cursor:pointer;

    padding:4px 8px;

}

.png-season-banner-dismiss:hover{

    color:#14532D;

}
