/* Public site frame: header, navigation, footer and form pages.
   Matches the live ERP front end (cream header, two logos, Call Us + Login, underline nav, dark footer).
   The home page content brings its own section styles (.cm-page). */

body.public{background:#f3f1ea}

/* ================= HEADER ================= */
.hd{position:sticky;top:0;z-index:60;background:rgba(250,247,240,.92);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid rgba(31,77,67,.1);transition:box-shadow .3s,background .3s}
.hd.compact{background:rgba(250,247,240,.97);box-shadow:0 10px 30px -18px rgba(22,58,50,.35)}
.hd-in{max-width:1280px;margin:0 auto;padding:0 40px;height:88px;display:flex;align-items:center;gap:28px;transition:height .3s}
.hd.compact .hd-in{height:70px}
.hd-brand{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.hd-brand img{height:58px;width:auto;border-radius:10px;display:block;transition:height .3s}
.hd-brand .hd-logo2{mix-blend-mode:multiply;border-radius:0}
.hd-div{width:1px;height:42px;background:rgba(31,77,67,.2);margin:0 14px;transition:height .3s}
.hd.compact .hd-brand img{height:46px}
.hd.compact .hd-div{height:32px}

.hd-nav{display:flex;align-items:center;gap:2px;margin:0 0 0 auto}
.hd-nav a{position:relative;padding:9px 14px;border-radius:999px;font-family:var(--sans);font-weight:500;font-size:15px;color:#2b3a35;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.hd-nav a:hover{background:rgba(31,77,67,.07);color:#1f4d43}
.hd-nav a.on{color:#1f4d43;font-weight:700}
.hd-nav a.on::after{content:"";position:absolute;left:50%;bottom:1px;width:18px;height:2px;margin-left:-9px;border-radius:2px;background:#c8743a}

.hd-act{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}
.hd-phone{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;margin-right:4px;border-radius:999px;color:#1f4d43;text-decoration:none;transition:background .2s}
.hd-phone:hover{background:rgba(31,77,67,.06);color:#1f4d43}
.hd-phone-ic{width:38px;height:38px;border-radius:50%;background:#f6e3d3;color:#c8743a;display:flex;align-items:center;justify-content:center}
.hd-phone-ic .ic{width:16px;height:16px}
.hd-phone-t{display:flex;flex-direction:column;font-weight:700;font-size:14.5px;line-height:1.15;font-variant-numeric:tabular-nums}
.hd-phone-t small{font-weight:500;font-size:11.5px;color:#5a6862;letter-spacing:.2px}
.hd-login{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:10px;border:1.5px solid rgba(31,77,67,.25);color:#1f4d43;font-weight:700;font-size:14px;text-decoration:none;transition:border-color .2s,background .2s}
.hd-login:hover{border-color:#1f4d43;background:#fff;color:#1f4d43}
.hd-apply{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:10px;background:#c8743a;color:#fff!important;font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 10px 22px -10px rgba(200,116,58,.85);transition:background .2s,transform .2s}
.hd-apply svg{width:15px;height:15px;transition:transform .2s}
.hd-apply:hover{background:#b0612b;transform:translateY(-1px)}
.hd-apply:hover svg{transform:translateX(3px)}

.hd-burger{display:none;width:44px;height:44px;border:0;border-radius:10px;background:transparent;cursor:pointer;position:relative}
.hd-burger:hover{background:rgba(31,77,67,.07)}
.hd-burger span{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:#1f4d43;transition:transform .25s,opacity .2s,top .25s}
.hd-burger span:nth-child(1){top:15px}
.hd-burger span:nth-child(2){top:21px}
.hd-burger span:nth-child(3){top:27px}
.hd-burger[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.hd-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hd-burger[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}

.hd-drawer{border-top:1px solid rgba(31,77,67,.1);background:#faf7f0;padding:10px 20px 22px;max-height:calc(100vh - 70px);overflow-y:auto;animation:hdIn .22s ease}
.hd-drawer[hidden]{display:none}
@keyframes hdIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.hd-drawer nav a{display:flex;align-items:center;justify-content:space-between;padding:15px 4px;border-bottom:1px solid rgba(31,77,67,.08);font-size:17px;font-weight:600;color:#1d2b26;text-decoration:none}
.hd-drawer nav a svg{width:18px;height:18px;color:#a3b1ab}
.hd-drawer nav a.on{color:#c8743a}
.hd-drawer-act{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.hd-drawer-act a{justify-content:center;height:48px}
.hd-drawer-call{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:12px;border-radius:10px;background:#f6e3d3;color:#1f4d43;font-weight:700;font-size:14px;text-decoration:none}
.hd-drawer-call .ic{width:16px;height:16px;color:#c8743a}

@media(max-width:1240px){
  .hd-in{padding:0 28px;gap:18px}
  .hd-phone-t{display:none}
  .hd-phone{padding:0;margin:0}
  .hd-nav a{padding:9px 11px;font-size:14.5px}
}
@media(max-width:1060px){
  .hd-nav,.hd-login{display:none}
  .hd-burger{display:block}
}
@media(max-width:600px){
  .hd-in{height:72px;padding:0 14px 0 16px;gap:8px}
  .hd.compact .hd-in{height:62px}
  .hd-brand img{height:46px}
  .hd.compact .hd-brand img{height:40px}
  .hd-div{height:32px;margin:0 10px}
  .hd-act .hd-apply{display:none}
  .hd-act{gap:4px}
}
@media(min-width:1061px){.hd-drawer{display:none!important}}

/* ================= FOOTER ================= */
.ft{position:relative;overflow:hidden;background:#163a32;color:#b9cec5;font-family:var(--sans);border-top:3px solid #c8743a}
.ft::before{content:"";position:absolute;right:-180px;top:-220px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(200,116,58,.16),transparent 65%);pointer-events:none}
.ft::after{content:"";position:absolute;left:-120px;bottom:-160px;width:380px;height:380px;border-radius:50%;border:56px solid rgba(255,255,255,.025);pointer-events:none}
.ft-wrap{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:72px 48px 56px;display:grid;grid-template-columns:1.3fr .7fr .85fr 1.5fr;gap:44px}
.ft-logos{display:inline-flex;align-items:center;gap:14px;background:#faf7f0;border-radius:16px;padding:10px 14px;box-shadow:0 18px 40px -20px rgba(0,0,0,.5)}
.ft-logos img{height:52px;width:auto;border-radius:8px;display:block}
.ft-logos img + img{mix-blend-mode:multiply;border-radius:0;padding-left:14px;border-left:1px solid rgba(31,77,67,.2)}
.ft-tag{font-family:var(--serif);font-size:28px;line-height:1.15;color:#fff;margin:26px 0 10px}
.ft-tag i{color:#f2b98c}
.ft-about{font-size:14.5px;line-height:1.7;color:#a9c1b7;max-width:340px;margin:0}
.ft-actions{display:flex;align-items:center;gap:10px;margin-top:24px}
.ft-btn{display:inline-flex;align-items:center;gap:8px;background:#c8743a;color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:12px 20px;border-radius:10px;box-shadow:0 10px 22px -10px rgba(200,116,58,.8);transition:background .2s,transform .2s}
.ft-btn svg{width:15px;height:15px;transition:transform .2s}
.ft-btn:hover{background:#b0612b;color:#fff;transform:translateY(-1px)}
.ft-btn:hover svg{transform:translateX(3px)}
.ft-round{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:1px solid rgba(255,255,255,.18);transition:background .2s,border-color .2s}
.ft-round svg{width:18px;height:18px}
.ft-round:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35);color:#fff}
.ft-round.wa:hover{background:#25d366;border-color:#25d366}
.ft-col{display:flex;flex-direction:column;gap:12px;padding-top:6px}
.ft h4{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#f2b98c;margin:0 0 8px}
.ft-col a{color:#dbe8e1;text-decoration:none;font-size:15px;width:fit-content;background:linear-gradient(#f2b98c,#f2b98c) left bottom/0 1px no-repeat;transition:color .2s,background-size .25s}
.ft-col a:hover{color:#fff;background-size:100% 1px}
.ft-centres{display:grid;grid-template-columns:1fr;gap:14px;align-content:start}
.ft-centre{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:8px;min-width:0}
.ft-city{font-size:11.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#f2b98c}
.ft-centre b{font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.2;color:#fff;margin-bottom:4px}
.ft-line{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:#b9cec5;text-decoration:none;min-width:0}
.ft-line span{overflow-wrap:break-word;min-width:0}
.ft-line .ic{width:15px;height:15px;flex:0 0 15px;margin-top:2px;color:#8fb1a4}
a.ft-line:hover{color:#fff}
.ft-bottom{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.14)}
.ft-bottom-in{max-width:1240px;margin:0 auto;padding:20px 48px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;color:#8fb1a4}
.ft-mini{display:flex;gap:22px}
.ft-mini a{color:#b9cec5;text-decoration:none}
.ft-mini a:hover{color:#fff}
.to-top{position:fixed;right:24px;bottom:24px;width:42px;height:42px;border-radius:50%;background:#c8743a;color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s;z-index:40;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.to-top svg{width:20px;height:20px}
.to-top.show{opacity:1;visibility:visible}

/* ================= FLOATING CONTACT + WHATSAPP ================= */
.fab{position:fixed;right:28px;bottom:140px;z-index:9998;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:var(--sans)}
.fab-btn{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;color:#fff;box-shadow:0 10px 26px -6px rgba(0,0,0,.3);transition:transform .2s,box-shadow .2s,background .2s}
.fab-btn:hover{transform:translateY(-2px)}
.fab-btn:focus-visible{outline:3px solid rgba(200,116,58,.55);outline-offset:3px}
.fab-btn svg{width:24px;height:24px;flex:0 0 auto}
.fab-btn .fab-i-close{display:none;width:22px;height:22px}
.fab-btn[aria-expanded="true"] .fab-i-open{display:none}
.fab-btn[aria-expanded="true"] .fab-i-close{display:block}
.fab-btn .fab-i-open{display:flex}
.fab-wa{width:58px;height:58px;border-radius:50%;background:#25d366;box-shadow:0 8px 24px rgba(37,211,102,.45)}
.fab-wa .fab-i-open svg{width:30px;height:30px}
.fab-wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:fabPulse 2.2s infinite}
.fab-wa[aria-expanded="true"]::before{display:none}
@keyframes fabPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.55);opacity:0}}
.fab-panel{position:absolute;right:0;bottom:calc(100% + 12px);width:320px;max-height:min(72vh,560px);overflow-y:auto;background:#fffdf7;border-radius:18px;box-shadow:0 24px 60px -12px rgba(22,58,50,.35),0 0 0 1px rgba(31,77,67,.06);padding:8px 8px 10px;animation:fabIn .2s ease}
.fab-panel[hidden]{display:none}
@keyframes fabIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fab-head{background:#1f4d43;color:#cfe3da;border-radius:12px;padding:14px 16px;margin-bottom:6px}
.fab-head b{display:block;font-family:var(--serif);font-weight:400;font-size:21px;color:#fff;line-height:1.2}
.fab-head span{font-size:12.5px}
.fab-wa-menu .fab-head{background:#128c4a}
.fab-centre{padding:12px 10px 8px;border-bottom:1px solid #e2ddd0}
.fab-centre:last-of-type{border-bottom:0}
.fab-city{display:block;font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:#c8743a}
.fab-name{display:block;font-family:var(--serif);font-weight:400;font-size:17px;color:#1f4d43;margin:2px 0 6px}
.fab-row{display:flex;gap:10px;align-items:flex-start;padding:6px 6px;border-radius:8px;font-size:13.5px;line-height:1.45;color:#1d2b26;text-decoration:none}
.fab-row .ic{width:16px;height:16px;flex:0 0 16px;margin-top:2px;color:#1f4d43}
.fab-row span{min-width:0;overflow-wrap:break-word}
a.fab-row:hover{background:#e3ebe4}
.fab-more{display:block;text-align:center;margin:8px 4px 0;padding:10px;border-radius:10px;background:#f3f1ea;color:#1f4d43;font-weight:700;font-size:13.5px;text-decoration:none}
.fab-more:hover{background:#e3ebe4;color:#1f4d43}
.fab-wa-opt{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:12px;color:#1f4d43;text-decoration:none}
.fab-wa-opt:hover{background:#eefaf2;color:#1f4d43}
.fab-wa-opt b{display:block;font-size:15px}
.fab-wa-opt small{display:block;font-size:12px;color:#6b7c76}
.fab-wa-dot{width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center}
.fab-wa-dot svg{width:21px;height:21px}
@media(max-width:767px){
  .fab{right:16px;bottom:96px;gap:10px}
      .fab-wa{width:54px;height:54px}
  .fab-panel{width:calc(100vw - 32px);max-width:340px}
}

/* ================= SIDE TAB: CONTACT US ================= */
.side-tab{position:fixed;right:0;top:50%;z-index:9997;transform:translateY(-50%);border:0;cursor:pointer;
  background:#1f4d43;color:#fff;padding:18px 11px;border-radius:12px 0 0 12px;box-shadow:-8px 10px 26px -10px rgba(22,58,50,.55);
  font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:1.2px;text-transform:uppercase;transition:padding .2s,background .2s}
.side-tab span{display:block;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}
.side-tab::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:#c8743a}
.side-tab:hover{background:#163a32;padding-right:15px}
.side-tab:focus-visible{outline:3px solid rgba(200,116,58,.6);outline-offset:2px}
.side-tab[aria-expanded="true"]{opacity:0;pointer-events:none}
.side-backdrop{position:fixed;inset:0;z-index:9998;background:rgba(22,58,50,.45);opacity:0;transition:opacity .25s}
.side-backdrop.in{opacity:1}
.side-backdrop[hidden],.side-panel[hidden]{display:none}
.side-panel{position:fixed;top:0;right:0;bottom:0;z-index:9999;width:420px;max-width:100%;background:#fffdf7;display:flex;flex-direction:column;
  box-shadow:-30px 0 60px -20px rgba(22,58,50,.45);transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.7,.2,1)}
.side-panel.in{transform:none}
.sp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:26px 26px 20px;background:#1f4d43;color:#cfe3da;position:relative;overflow:hidden}
.sp-head::after{content:"";position:absolute;right:-50px;top:-60px;width:170px;height:170px;border-radius:50%;border:30px solid rgba(242,185,140,.14)}
.sp-kicker{font-size:11.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#f2b98c}
.sp-head h2{color:#fff;font-size:30px;margin:4px 0 0}
.sp-close{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.sp-close:hover{background:rgba(255,255,255,.1)}
.sp-close svg{width:18px;height:18px}
.sp-body{flex:1;overflow-y:auto;padding:22px 26px 28px}
.sp-intro{color:#5a6862;font-size:14.5px;margin:0 0 16px}
.sp-form .field{margin-bottom:14px}
.sp-error{background:#f8e1dc;color:#7d2a1d;border-radius:10px;padding:10px 14px;font-size:13.5px;font-weight:500;margin-bottom:12px}
.sp-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;height:50px;border:0;border-radius:12px;background:#c8743a;color:#fff;
  font:700 15px var(--sans);cursor:pointer;box-shadow:0 12px 24px -12px rgba(200,116,58,.9);transition:background .2s}
.sp-submit svg{width:16px;height:16px}
.sp-submit:hover{background:#b0612b}
.sp-submit.busy{opacity:.7;cursor:progress}
.sp-done{text-align:center;padding:18px 6px 6px}
.sp-tick{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:#dcefe2;color:#2e7d4f;display:flex;align-items:center;justify-content:center;animation:fabIn .3s ease}
.sp-tick svg{width:30px;height:30px}
.sp-done h3{font-size:26px;margin:0 0 6px}
.sp-done p{color:#5a6862;margin:0 0 14px}
.sp-again{background:none;border:0;color:#1f4d43;font:700 14px var(--sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.sp-centres{margin-top:24px;border-top:1px solid #e2ddd0;padding-top:8px}
.sp-centre{padding:12px 0 6px;border-bottom:1px solid #e2ddd0}
.sp-centre:last-child{border-bottom:0}
@media(max-width:767px){
  .side-tab{padding:14px 9px;font-size:12px}
  .side-panel{width:100%}
}

/* QR image (when set in Site settings) */
.cm-qr img.qr{width:150px;height:150px;border-radius:14px;border:8px solid #fff;box-shadow:0 0 0 1.5px var(--line)}

/* ================= PUBLIC FORMS (apply / login / complain / contact) ================= */
.auth-wrap{min-height:60vh;display:flex;align-items:flex-start;justify-content:center;padding:56px 16px 80px}
.auth-card{width:100%;max-width:440px;background:var(--cream);border-radius:22px;padding:34px;box-shadow:var(--shadow)}
.auth-card.wide{max-width:680px}
.auth-card h1{font-size:32px;margin-bottom:6px}
.auth-card .lead{color:var(--muted);margin-bottom:24px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.apply-more{border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:16px;background:#fff}
.apply-more summary{cursor:pointer;font-weight:700;color:var(--forest)}
.apply-more[open] summary{margin-bottom:12px}
.contact-grid{max-width:1180px;margin:0 auto;padding:48px 24px 80px;display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-card{background:var(--cream);border-radius:22px;padding:30px}
.contact-card .city{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--terra)}
.contact-card h2{margin:6px 0 16px}
.contact-row{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.contact-row .ri{width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center}
.contact-row .ri .ic{width:17px;height:17px}
.contact-row.wa .ri{background:#25d366}
.contact-row b{display:block}
.contact-row small{color:var(--muted)}
.page-hero{text-align:center;padding:52px 16px 0}
.page-hero h1{font-size:clamp(30px,4vw,44px);margin:6px 0 8px}
.page-hero p{color:var(--muted);max-width:620px;margin:0 auto}
.kicker{font-size:12.5px;font-weight:700;color:var(--terra);letter-spacing:2px;text-transform:uppercase}

/* ================= RESPONSIVE ================= */
@media(max-width:991px){
  .ft-wrap{grid-template-columns:1fr 1fr;gap:40px 32px;padding:56px 32px 44px}
  .ft-brand,.ft-centres{grid-column:1 / -1}
  .ft-centres{grid-template-columns:1fr 1fr}
  .ft-bottom-in{padding:20px 32px}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .auth-card{padding:26px 20px}
  .to-top{bottom:90px}
  .ft-wrap{padding:48px 16px 36px}
  .ft-centres{grid-template-columns:1fr}
  .ft-bottom-in{flex-direction:column;align-items:flex-start;padding:20px 16px 96px}
  .ft-tag{font-size:24px}
  .ft-logos img{height:44px}
}
