/*
 * Shared header (announcement, mega menu), footer and back-to-top button.
 * Everything is prefixed with "site-" so page stylesheets (which define their
 * own .header, .container, .btn, ...) cannot change the shared layout.
 */
/* Self-hosted fonts (latin subset, variable weight). A face is only downloaded when a page uses it. */
@font-face{font-family:Inter;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/inter-latin.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/dm-sans-latin.woff2) format("woff2")}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/manrope-latin.woff2) format("woff2")}
:root{--site-navy:#10233f;--site-blue:#1769e8;--site-ink:#18263d;--site-muted:#68778e;--site-line:#e5eaf1;--site-pale:#edf4ff;--site-font:Inter,"Segoe UI",Arial,sans-serif}
.site-announcement,.site-header,.site-footer,.site-backtop{font-family:var(--site-font);line-height:1.6;letter-spacing:normal;text-align:left}
.site-announcement *,.site-header *,.site-footer *{box-sizing:border-box}
.site-header a,.site-footer a,.site-announcement a{text-decoration:none}
body.site-menu-open{overflow:hidden}
.site-container{width:min(1200px,calc(100% - 48px));margin:auto}

/* Announcement bar */
.site-announcement{padding:7px 0;background:var(--site-navy);color:#eaf1ff;text-align:center;font-size:11px}
.site-announcement a{color:#8fc5ff;font-weight:800;margin-left:8px}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:#fffffffa;backdrop-filter:blur(14px);border-bottom:1px solid var(--site-line);color:var(--site-ink)}
.site-navbar{height:76px;display:flex;align-items:center;gap:25px}
.site-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;color:inherit}
.site-brand img{display:block;width:auto;height:38px}
.site-navlinks{display:flex;align-items:center;gap:2px;margin-left:auto}
.site-navitem{position:static}
.site-navtrigger{padding:12px 8px;display:flex;align-items:center;gap:7px;border:0;border-radius:6px;background:transparent;color:#34445c;font:750 12px/1.4 var(--site-font);cursor:pointer;margin:0}
.site-navtrigger:hover,.site-navtrigger[aria-expanded=true]{background:var(--site-pale);color:var(--site-blue)}
.site-navtrigger.is-current{color:var(--site-blue)}
/* WhatsApp chat widget (footer.php, layout.js) */
.site-chat{position:fixed;right:22px;bottom:22px;z-index:1200;font-family:var(--site-font);line-height:1.5;text-align:left}
.site-chatbtn{display:flex;align-items:center;gap:9px;height:56px;padding:0 20px 0 14px;border:0;border-radius:30px;background:#25d366;color:#fff;font:700 14px var(--site-font);cursor:pointer;box-shadow:0 12px 30px #0b7a3e45;transition:transform .2s,box-shadow .2s}
.site-chatbtn:hover{transform:translateY(-2px);box-shadow:0 16px 36px #0b7a3e55}
.site-chatbtn[aria-expanded=true] .site-chatlabel{display:none}
.site-chatbtn[aria-expanded=true]{padding:0 13px}
.site-chatpanel{position:absolute;right:0;bottom:70px;width:340px;max-height:calc(100vh - 110px);overflow:auto;background:#fff;border:1px solid var(--site-line);border-radius:16px;box-shadow:0 26px 70px #10233f33}
.site-chatpanel[hidden]{display:none}
.site-chathead{display:flex;gap:11px;align-items:flex-start;padding:16px 16px 14px;background:linear-gradient(135deg,#075e54,#128c7e);color:#e7fff6;border-radius:16px 16px 0 0}
.site-chatavatar{flex:0 0 40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center}
.site-chattitle{margin:0;font-size:15px;font-weight:800;color:#fff}
.site-chatsub{margin:2px 0 0;font-size:12.5px;color:#cff5e8}
.site-chatclose{margin-left:auto;border:0;background:transparent;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:0 2px}
.site-chatform{display:grid;gap:10px;padding:16px}
.site-chatform label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#34445c}
.site-chatform input,.site-chatform select,.site-chatform textarea{width:100%;padding:9px 11px;border:1px solid #d3dce8;border-radius:8px;font:400 13.5px var(--site-font);color:var(--site-ink);background:#fff;box-sizing:border-box}
.site-chatform textarea{resize:vertical;min-height:70px}
.site-chatform input:focus,.site-chatform select:focus,.site-chatform textarea:focus{outline:none;border-color:#25d366;box-shadow:0 0 0 3px #25d36626}
.site-chatsend{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px;padding:12px;border:0;border-radius:9px;background:#25d366;color:#fff;font:800 14px var(--site-font);cursor:pointer}
.site-chatsend:hover{background:#1ebe5b}
.site-chaterror{margin:0;font-size:12.5px;color:#c62828}
.site-chaterror[hidden]{display:none}
.site-chatnote{margin:0;font-size:11.5px;color:var(--site-muted)}
.site-chatnote a{color:var(--site-blue);font-weight:700}
body:has(.site-chat) .site-backtop{bottom:92px}
@media(max-width:540px){.site-chat{right:14px;bottom:14px}.site-chatlabel{display:none}.site-chatbtn{width:56px;padding:0;justify-content:center}.site-chatpanel{position:fixed;left:10px;right:10px;bottom:80px;width:auto}}
/* "See it in LaraOffice" application screenshot (app_screenshot() in bootstrap.php) */
.site-shot{padding:72px 0;background:linear-gradient(180deg,#f5f8fc,#fff);font-family:var(--site-font)}
.site-shothead{max-width:720px;margin:0 auto 32px;text-align:center}
.site-shotkicker{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--site-blue)}
.site-shothead h2{margin:10px 0 10px;font-size:clamp(25px,3vw,36px);line-height:1.2;letter-spacing:-1px;color:var(--site-navy)}
.site-shothead p{margin:0;color:var(--site-muted);font-size:15.5px;line-height:1.6}
.site-shotframe{margin:0;border:1px solid var(--site-line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 30px 70px #10233f1f}
.site-shotbar{display:flex;gap:7px;padding:11px 14px;background:#f1f4f9;border-bottom:1px solid var(--site-line)}
.site-shotbar i{width:10px;height:10px;border-radius:50%;background:#d3dbe7}
.site-shotframe img{display:block;width:100%;height:auto}
.site-shotframe figcaption{padding:10px 16px;font-size:12px;color:var(--site-muted);border-top:1px solid var(--site-line);background:#fafbfd}
@media(max-width:640px){.site-shot{padding:52px 0}.site-shotframe{border-radius:10px}}
a.site-navlink{text-decoration:none}a.site-navlink:hover{background:var(--site-pale);color:var(--site-blue)}
.site-chevron{font-size:11px;transition:transform .2s}
.site-navtrigger[aria-expanded=true] .site-chevron{transform:rotate(180deg)}
.site-navactions{display:flex;gap:10px}
.site-btn{min-height:41px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 13px;border:1px solid transparent;border-radius:7px;background:var(--site-blue);color:#fff;font-size:12px;font-weight:750;white-space:nowrap;transition:.2s}
.site-btn:hover{background:#0d4fbd;color:#fff;transform:translateY(-2px)}
.site-menutoggle{display:none;width:42px;height:42px;border:1px solid var(--site-line);border-radius:8px;background:#fff;font-size:22px;color:var(--site-navy);cursor:pointer;padding:0}

/* Wide four-column mega menu */
.site-mega{display:none;position:absolute;top:100%;left:0;right:0;padding:27px 0 25px;background:#fff;border-top:1px solid var(--site-line);border-bottom:1px solid var(--site-line);box-shadow:0 22px 38px #1227491a}
.site-mega.open{display:block;animation:site-menuin .18s ease-out}
@keyframes site-menuin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.site-megagrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}
.site-megacol{min-width:0}
.site-megatitle{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--site-line);font-size:13px;font-weight:850;color:#151f30}
.site-megatitle b{font-size:17px;color:#24364f}
.site-megacol a{display:block;padding:6px 0;color:#40516a;font-size:12px;line-height:1.45}
.site-megacol a:hover,.site-megacol a[aria-current=page]{color:var(--site-blue)}
.site-megafoot{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:21px;padding-top:15px;border-top:1px solid var(--site-line);color:var(--site-muted);font-size:11px}
.site-megafoot a{color:var(--site-blue);font-weight:800}

/* Footer */
.site-footer{background:#0b192e;color:#d0d9e8;padding:55px 0 0}
.site-footergrid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:27px;padding-bottom:40px}

.site-footerbrand p{font-size:12px;line-height:1.6;color:#94a4bb;max-width:240px;margin:16px 0}
.site-footermail{font-size:12px;font-weight:800;color:#8fc5ff}
.site-footertitle{font-size:12px;font-weight:700;margin:4px 0 14px;color:#fff}
.site-footercol a{display:block;font-size:11px;color:#9baac0;margin:9px 0}
.site-footercol a:hover,.site-legal a:hover,.site-footermail:hover{color:#fff}
.site-footerbottom{border-top:1px solid #253750;padding:17px 0;display:flex;justify-content:space-between;gap:15px;color:#8192aa;font-size:10px}
.site-legal{display:flex;gap:16px;flex-wrap:wrap}
.site-legal a{color:inherit}

/* Back to top */
.site-backtop{position:fixed;z-index:50;bottom:20px;right:20px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #dbe5f3;background:#fff;color:var(--site-blue);border-radius:50%;box-shadow:0 7px 22px #1931581f;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s;cursor:pointer;font-size:16px;padding:0}
.site-backtop.visible{opacity:1;pointer-events:auto;transform:none}

@media(prefers-reduced-motion:reduce){.site-mega.open{animation:none}.site-chevron,.site-btn,.site-backtop{transition:none}}
@media(max-width:1120px){.site-navbar{gap:10px}.site-navtrigger{padding:10px 5px;font-size:10px}.site-megagrid{gap:24px}.site-footergrid{grid-template-columns:1.3fr repeat(2,1fr)}}
@media(max-width:850px){
  .site-container{width:min(100% - 36px,700px)}
  .site-navbar{height:70px;justify-content:space-between}
  .site-menutoggle{display:grid;place-items:center}
  .site-navdemo{display:none}
  .site-navlinks{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;overflow-y:auto;background:#fff;padding:12px 20px 35px;flex-direction:column;align-items:stretch;margin:0;gap:2px}
  .site-navlinks.mobileopen{display:flex}
  .site-navitem{border-bottom:1px solid var(--site-line)}
  .site-navtrigger{width:100%;justify-content:space-between;padding:15px 8px;font-size:14px}
  .site-mega{position:static;padding:0 0 16px;border:0;box-shadow:none}
  .site-megagrid{grid-template-columns:1fr 1fr;gap:17px;padding:0 8px}
  .site-megafoot{align-items:flex-start;flex-direction:column;margin-top:16px}
  .site-footergrid{grid-template-columns:repeat(2,1fr)}
  .site-footerbrand{grid-column:1/-1}
}
@media(max-width:540px){.site-container{width:calc(100% - 32px)}.site-announcement{font-size:10px}.site-brand img{height:32px}.site-footergrid{gap:24px 16px}.site-footerbottom{align-items:flex-start;flex-direction:column}.site-legal{gap:12px}}
