/* ============================================================
   Ministry of Finance — shared stylesheet
   Used by: index.html, estimates.html, expenditure.html
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap');

:root{
  --cyan:#29abe2;          /* govmu bright blue */
  --cyan-dark:#1d9cd3;
  --darkgray:#58595b;      /* EN box / footer */
  --text:#58595b;          /* main gray text */
  --nav-text:#4d4d4d;
  --band:#f7f7f7;          /* header band background */
  --border:#e8e8e8;
  --row-alt:#fafbfc;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{font-size:16px;} /* A+/A- buttons adjust this via js */

body{
  font-family:'Roboto','Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight:400;
  color:var(--text);
  background:#fff;
  display:flex;
  min-height:100vh;
  flex-direction:column;
}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}

.bold{
  font-weight: 500;
}

.back_btn{
    float: right;
    margin-top: 12px;
    background: #1d9cd3;
    border-radius: 10px;
    padding: 2px 15px;
    color: #ffffff;
    margin-bottom: 10px;
}
/* ============ TOP BAR ============ */
.topbar{background:#fff;border-bottom:1px solid var(--border);font-size:.9375rem;}
.topbar-inner{display:flex;align-items:stretch;justify-content:space-between;min-height:58px;}
.topbar-left{display:flex;align-items:center;gap:14px;padding:0 24px;}
.topbar-left a{color:var(--text);letter-spacing:.5px;font-size:.875rem;}
.topbar-left a:hover{color:#000;}

/* Mauritius flag stripes icon */
.flag{display:inline-block;width:30px;}
.flag span{display:block;height:4px;margin:2px 0;border-radius:1px;}
.flag .r{background:#ea2839;}
.flag .b{background:#1a206d;}
.flag .y{background:#ffd500;}
.flag .g{background:#00a551;}

.topbar-right{display:flex;align-items:stretch;}
.topbar-right > *{display:flex;align-items:center;padding:0 26px;border-left:1px solid var(--border);}
.topbar-right .feedback,
.topbar-right .faq{color:var(--cyan);}
.topbar-right .feedback:hover,
.topbar-right .faq:hover{text-decoration:underline;}
.fontsize{gap:34px;}
.fontsize button{background:none;border:0;cursor:pointer;color:#231f20;font-family:inherit;}
.fontsize .bigger{font-size:1.1875rem;}
.fontsize .smaller{font-size:.8125rem;}
.topbar-right .lang{background:var(--darkgray);color:#fff;font-size:.875rem;letter-spacing:.5px;}
.topbar-right .mygov{background:var(--cyan);color:#fff;font-size:.875rem;letter-spacing:.5px;border-left:0;}
.topbar-right .mygov b{margin-left:6px;font-weight:500;}
.topbar-right .mygov:hover{background:var(--cyan-dark);}

/* ============ HEADER BAND (logo + search + nav) ============ */
.header-band{background:var(--band);padding:28px 0 0;}
.header-top{max-width:1860px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.brand{display:flex;align-items:center;gap:26px;}
.brand img{height:45px;width:auto;display:block;}
.brand .sitename{font-size:0.9rem;font-weight:400;letter-spacing:1px;color:var(--text);text-transform:uppercase;}
.sitesearch input{background:transparent;border:0;border-bottom:1px solid transparent;font-size:.9375rem;color:var(--text);text-align:right;outline:none;width:200px;font-family:inherit;}
.sitesearch input::placeholder{color:#8a8a8a;}
.sitesearch input:focus{border-bottom-color:#bbb;}

/* ============ NAV ============ */
.mainnav{position:relative;z-index:50;}
.mainnav .menu{display:flex;justify-content:center;flex-wrap:wrap;column-gap:14px;padding:14px 20px 0;}
.mainnav .menu > li{position:relative;}
.mainnav .menu > li > a{display:block;text-align:center;color:var(--nav-text);font-size:1rem;font-weight:400;letter-spacing:.3px;text-transform:uppercase;padding:6px 14px 0;}
.mainnav .menu > li > a .caret{display:block;font-size:.6875rem;color:#9b9b9b;margin-top:8px;padding-bottom:14px;line-height:1;}
.mainnav .menu > li:hover > a,
.mainnav .menu > li:focus-within > a{color:#000;}
.mainnav .menu > li:hover > a .caret,
.mainnav .menu > li:focus-within > a .caret{color:#000;}

.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;min-width:280px;box-shadow:0 6px 18px rgba(0,0,0,.15);border-top:3px solid var(--cyan);display:none;max-height:70vh;overflow-y:auto;text-align:left;}
.mainnav .menu > li:hover .dropdown,
.mainnav .menu > li:focus-within .dropdown{display:block;}
.dropdown li a{display:block;padding:11px 18px;font-size:.875rem;color:var(--text);border-bottom:1px solid #f2f2f2;white-space:nowrap;}
.dropdown li:last-child a{border-bottom:0;}
.dropdown li a:hover{background:#f4fafd;color:var(--cyan);}

/* Mobile nav */
.navtoggle{display:none;background:none;border:0;color:var(--nav-text);font-size:1.625rem;padding:10px 20px;cursor:pointer;width:100%;text-align:left;}

/* ============ PAGE CONTENT ============ */
main{flex:1;width:100%;}
.page{max-width:1200px;margin:0 auto;padding:28px 24px 70px;}

/* Breadcrumb */
.breadcrumb{font-size:.875rem;color:#8a8a8a;margin-bottom:30px;}
.breadcrumb a{color:var(--cyan);}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb .sep{margin:0 8px;color:#bbb;}
.breadcrumb .current{color:var(--text);}

/* Document table */
.doc-table{width:100%;border-collapse:collapse;box-shadow:0 1px 4px rgba(0,0,0,.08);}
.doc-table caption{caption-side:top;background:var(--cyan);color:#fff;font-size:1.375rem;font-weight:300;letter-spacing:.5px;padding:18px 24px;text-align:center;line-height:1.4;}
.doc-table caption .subtitle{display:block;font-size:1.0625rem;margin-top:4px;}
.doc-table td{border:1px solid #eef0f2;padding:0;position:relative;}
.doc-table tr:nth-child(even) td{background:var(--row-alt);}
.doc-table td a{display:block;padding:14px 96px 14px 22px;font-size:.9375rem;color:var(--text);transition:background .15s,color .15s;}
.doc-table td a:hover{background:#f0f9fd;color:var(--cyan-dark);}

/* PDF / page badges — absolutely positioned so every badge sits at the
   exact same distance from the table's right edge, on every row */
.badge{position:absolute;right:22px;top:50%;transform:translateY(-50%);width:52px;text-align:center;font-size:.6875rem;font-weight:500;letter-spacing:.5px;padding:3px 0;border-radius:3px;pointer-events:none;}
.badge.pdf{background:#fdeeee;color:#c0392b;border:1px solid #f3d4d2;}
.badge.page{background:#eaf6fc;color:var(--cyan-dark);border:1px solid #cfeaf7;}

/* ============ FOOTER ============ */
footer{background:var(--darkgray);color:#fff;font-size:.8125rem;margin-top:auto;}
footer .inner{max-width:1860px;margin:0 auto;padding:18px 24px;text-align:center;letter-spacing:.3px;}

/* ============ RESPONSIVE ============ */
@media (max-width: 1100px){
  .mainnav .menu > li > a{font-size:1.0625rem;padding:6px 8px 0;}
}

@media (max-width: 900px){
  /* top bar: tighter cells */
  .topbar-inner{min-height:48px;}
  .topbar-left{padding:0 14px;gap:10px;}
  .topbar-left a{font-size:.75rem;}
  .topbar-right > *{padding:0 12px;font-size:.75rem;}
  .fontsize{gap:12px;}

  /* header band: stack and center */
  .header-band{padding:18px 0 0;}
  .header-top{padding:0 16px;flex-direction:column;align-items:center;gap:12px;}
  .brand{gap:14px;}
  .sitesearch{width:100%;max-width:320px;}
  .sitesearch input{width:100%;text-align:center;border-bottom-color:#ddd;}

  /* nav: hamburger + accordion */
  .navtoggle{display:block;}
  .mainnav .menu{display:none;flex-direction:column;padding:0;}
  .mainnav .menu.open{display:flex;}
  .mainnav .menu > li > a{text-align:left;padding:12px 20px;font-size:1rem;display:flex;justify-content:space-between;align-items:center;}
  .mainnav .menu > li > a .caret{margin:0;padding:0;}
  .dropdown{position:static;transform:none;box-shadow:none;border-top:0;background:#ededed;min-width:0;max-height:none;}
  .dropdown li a{white-space:normal;padding-left:36px;}
  .mainnav .menu > li.open .dropdown{display:block;}

  /* content */
  .page{padding:20px 14px 20px;}
  .breadcrumb{margin-bottom:20px;}
  .doc-table caption{font-size:1.125rem;padding:14px 16px;}
  .doc-table caption .subtitle{font-size:.9375rem;}
  .doc-table td a{padding:12px 80px 12px 14px;font-size:.875rem;}
  .badge{right:14px;}
}

@media (max-width: 600px){
  /* top bar: split into two stacked rows, cells share the width */
  .topbar-inner{flex-wrap:wrap;min-height:0;}
  .topbar-left{width:100%;justify-content:center;padding:10px 12px;border-bottom:1px solid var(--border);}
  .topbar-right{width:100%;}
  .topbar-right > *{flex:1;justify-content:center;padding:10px 4px;font-size:.6875rem;white-space:nowrap;}
  .fontsize{gap:8px;}
  .topbar-right .mygov b{margin-left:4px;}

  .brand img{height:38px;}
  .brand .sitename{font-size:.8rem;}
}

