#!/usr/bin/env bash
set -Eeuo pipefail

APP="${CGHG_APP:-/home/cghggujarat/laravel_apps/cghg_portal}"
PREVIEW="${CGHG_PREVIEW:-/home/cghggujarat/public_html/new/portalarea-laravel-preview}"
OLD="${CGHG_OLD_WEBSITE:-/home/cghggujarat/public_html/website}"
PHP82="/opt/cpanel/ea-php82/root/usr/bin/php"
[ -x "$PHP82" ] || PHP82="$(command -v php)"
OWNER="cghggujarat:cghggujarat"
STAMP="$(date +%Y%m%d-%H%M%S)"
BACKUP="$APP/_migration_backups/website-tricolor-v5-$STAMP"

fail(){ echo "ERROR: $*" >&2; exit 1; }
say(){ printf '\n===== %s =====\n' "$1"; }

[ -d "$APP" ] || fail "Laravel app missing: $APP"
[ -f "$APP/artisan" ] || fail "artisan missing"
[ -f "$APP/resources/views/website/layout.blade.php" ] || fail "website layout missing"
[ -f "$APP/resources/views/website/home.blade.php" ] || fail "website home missing"
[ -f "$APP/resources/views/website/partials/leadership-grid.blade.php" ] || fail "leadership partial missing"

cd "$APP"
mkdir -p "$BACKUP"
cp -a resources/views/website/layout.blade.php "$BACKUP/layout.blade.php.before"
cp -a resources/views/website/home.blade.php "$BACKUP/home.blade.php.before"
cp -a resources/views/website/partials/leadership-grid.blade.php "$BACKUP/leadership-grid.blade.php.before"

cat > "$BACKUP/ROLLBACK.sh" <<ROLLBACK
#!/usr/bin/env bash
set -e
APP="$APP"
BACKUP="$BACKUP"
cp -af "\$BACKUP/layout.blade.php.before" "\$APP/resources/views/website/layout.blade.php"
cp -af "\$BACKUP/home.blade.php.before" "\$APP/resources/views/website/home.blade.php"
cp -af "\$BACKUP/leadership-grid.blade.php.before" "\$APP/resources/views/website/partials/leadership-grid.blade.php"
chown -R cghggujarat:cghggujarat "\$APP/resources/views/website" 2>/dev/null || true
cd "\$APP"
runuser -u cghggujarat -- env HOME=/home/cghggujarat "$PHP82" artisan optimize:clear >/dev/null 2>&1 || true
echo "ROLLBACK COMPLETE"
ROLLBACK
chmod 750 "$BACKUP/ROLLBACK.sh"

rollback_on_error(){
  code=$?
  echo
  echo "V5 PATCH FAILED - restoring previous website files..."
  bash "$BACKUP/ROLLBACK.sh" || true
  exit "$code"
}
trap rollback_on_error ERR

say "1/7 Backup created"
echo "$BACKUP"

say "2/7 Copying original old-website assets"
mkdir -p "$APP/public/assets/website" "$PREVIEW/assets/website"
copy_asset(){
  src="$1"; dst="$2"
  if [ -s "$OLD/$src" ]; then
    /bin/cp -af "$OLD/$src" "$APP/public/assets/website/$dst"
    /bin/cp -af "$OLD/$src" "$PREVIEW/assets/website/$dst"
    echo "COPIED: $src -> $dst"
  else
    echo "SKIP (not found): $OLD/$src"
  fi
}
copy_asset "logo.png" "logo.png"
copy_asset "amit_shahjpg.jpg" "amit-shah.jpg"
copy_asset "cm.png" "bhupendra-patel.png"
copy_asset "harsh sangvi.png" "harsh-sanghavi.png"
copy_asset "KAMLESHBHAI.jpg" "kamlesh-patel.jpg"
copy_asset "sanjiv.jpg" "sanjiv-kumar.jpg"
copy_asset "ips.jpg" "sp-rajkumar.jpg"
for f in logo3_v1CEOOffice.jpg digiLocker_Small.jpg HomeCEO_15_7_2016.jpg bannerindiagovin.gif logo_statueofunity.png ek-ped-maa-ke-naam.jpg swatchh_bharat.jpg digital-india.jpg; do copy_asset "$f" "$f"; done
chown -R "$OWNER" "$APP/public/assets/website" "$PREVIEW/assets/website" 2>/dev/null || true
find "$APP/public/assets/website" "$PREVIEW/assets/website" -type d -exec chmod 755 {} \; 2>/dev/null || true
find "$APP/public/assets/website" "$PREVIEW/assets/website" -type f -exec chmod 644 {} \; 2>/dev/null || true

say "3/7 Installing WHITE + SAFFRON + GREEN UI"
cat > resources/views/website/layout.blade.php <<'BLADE'
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#138808"><meta name="robots" content="index,follow">
<title>@yield('title','Commandant General Home Guards Gujarat')</title>
<meta name="description" content="@yield('meta_description','Commandant General Home Guards Gujarat digital portal.')">
<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Anek+Gujarati:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<style>
:root{--o:#ff8c24;--od:#dc6800;--os:#fff4e8;--g:#138808;--gd:#0b6530;--gs:#eef9f1;--w:#fff;--paper:#fbfcfa;--ink:#202820;--muted:#667067;--line:#e2e8e1;--shadow:0 18px 48px rgba(40,70,42,.10);--sm:0 10px 28px rgba(40,70,42,.07);--max:1260px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Anek Gujarati","Nirmala UI",system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.guj,.gujarati{font-family:"Anek Gujarati",Inter,sans-serif}.tri{height:7px;background:linear-gradient(90deg,#ff9933 0 33.333%,#fff 33.333% 66.666%,#138808 66.666%);box-shadow:0 1px 0 #ddd}.utility{background:#fff;border-bottom:1px solid var(--line);font-size:12px;color:#566057}.utility .container{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:16px}.utility-left,.utility-right{display:flex;align-items:center;gap:12px}.gov{font-weight:800}.sub{color:#7a847b}.flag{width:34px;height:22px;border-radius:3px;overflow:hidden;display:grid;grid-template-rows:1fr 1fr 1fr;position:relative;box-shadow:0 0 0 1px #d7ddd7}.flag i:nth-child(1){background:#ff9933}.flag i:nth-child(2){background:#fff}.flag i:nth-child(3){background:#138808}.flag:after{content:"";position:absolute;width:7px;height:7px;border:1.5px solid #244a86;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 8px 28px rgba(40,70,42,.06)}.brand-row{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand-logo{width:64px;height:64px;padding:4px;border-radius:15px;background:#fff;border:1px solid #e0e6df;box-shadow:var(--sm);overflow:hidden;display:grid;place-items:center;position:relative}.brand-logo:before{content:"";position:absolute;inset:0;border-top:4px solid var(--o);border-bottom:4px solid var(--g)}.brand-logo img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1}.brand-fallback{display:none;position:relative;z-index:1;font-weight:900;color:var(--gd)}.brand-copy strong{display:block;font-family:"Anek Gujarati",Inter,sans-serif;font-size:21px;line-height:1.18;font-weight:800}.brand-copy span{display:block;font-size:12px;color:#707a71;margin-top:5px}.main-nav{display:flex;align-items:center;gap:3px}.main-nav a{padding:10px 11px;border-radius:11px;font-size:13px;font-weight:750;color:#455047;transition:.18s}.main-nav a:hover,.main-nav a.active{background:var(--gs);color:var(--gd)}.login-btn{background:linear-gradient(135deg,var(--g),var(--gd))!important;color:#fff!important;padding:11px 17px!important;box-shadow:0 10px 24px rgba(19,136,8,.18)}.nav-toggle{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--gd);font-size:22px;cursor:pointer}main{min-height:58vh}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 4% 15%,rgba(255,153,51,.18),transparent 28%),radial-gradient(circle at 95% 78%,rgba(19,136,8,.13),transparent 29%),linear-gradient(135deg,#fff8ef 0%,#fff 48%,#f2faf3 100%);padding:76px 0 72px;border-bottom:1px solid var(--line)}.hero:before{content:"";position:absolute;left:0;top:0;width:145px;height:8px;background:var(--o)}.hero:after{content:"";position:absolute;right:0;bottom:0;width:145px;height:8px;background:var(--g)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;background:#fff;border:1px solid #eadfd4;border-radius:999px;color:var(--od);font-size:11px;font-weight:850;letter-spacing:.10em;text-transform:uppercase;box-shadow:var(--sm)}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--g)}.hero h1{font-size:clamp(42px,5.2vw,68px);line-height:1.03;letter-spacing:-.045em;margin:18px 0 16px}.hero h1 .guj{display:block;margin-top:12px;font-size:.58em;line-height:1.35;letter-spacing:0;color:var(--gd);font-weight:800}.intro-en{font-size:17px;color:#4d584f;max-width:790px;margin:0}.intro-gu{font-family:"Anek Gujarati",Inter,sans-serif;font-size:16px;color:#48534a;max-width:820px;margin:13px 0 0;font-weight:600}.download-label{margin:24px 0 10px;font-size:13px;color:#687269;font-weight:700}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.btn{min-height:48px;padding:0 20px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:13px;font-weight:800;border:1px solid transparent;transition:.18s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,#ffa044,var(--o));color:#2a1d0c;box-shadow:0 13px 30px rgba(255,140,36,.23)}.btn-green{background:linear-gradient(135deg,var(--g),var(--gd));color:#fff;box-shadow:0 13px 30px rgba(19,136,8,.17)}.btn-outline{background:#fff;border-color:#dce4dc;color:var(--gd)}.hero-card{background:#fff;border:1px solid #e4e9e2;border-radius:28px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#ff9933 0 33.33%,#fff 33.33% 66.66%,#138808 66.66%)}.hero-card-label{color:#687169;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.hero-logo-wrap{height:255px;display:grid;place-items:center;margin:10px 0 6px;background:linear-gradient(145deg,#fffaf3,#fff,#f2faf3);border-radius:22px}.hero-logo{width:min(90%,240px);height:220px;object-fit:contain;filter:drop-shadow(0 12px 19px rgba(44,75,45,.12))}.logo-fallback{display:none;width:150px;height:150px;border-radius:50%;place-items:center;border:7px solid #f2f4f1;background:#fff;color:var(--gd);font-size:34px;font-weight:900}.hero-card .mini{font-size:12px;color:#6a756c;border-top:1px solid var(--line);padding-top:15px}
.section{padding:72px 0}.section.white{background:#fff;border-top:1px solid #f0f2ef;border-bottom:1px solid #f0f2ef}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:30px}.section-head h2{margin:4px 0 0;font-size:clamp(29px,3vw,43px);line-height:1.12;letter-spacing:-.03em}.section-head p{max-width:520px;margin:0;color:var(--muted)}.section-kicker{font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--od)}.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mission-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--sm);position:relative;overflow:hidden}.mission-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--g)}.mission-card:nth-child(odd):before{background:var(--o)}.mission-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--gs);color:var(--gd);font-size:12px;font-weight:900}.mission-card:nth-child(odd) .mission-icon{background:var(--os);color:var(--od)}.mission-card h3{font-size:17px;margin:17px 0 8px}.mission-card p{margin:0;color:var(--muted);font-size:13px}.leaders-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.leader-card{background:#fff;border:1px solid var(--line);border-radius:21px;overflow:hidden;box-shadow:var(--sm)}.leader-photo{height:285px;background:linear-gradient(145deg,var(--os),#fff,var(--gs));display:grid;place-items:center;position:relative;overflow:hidden}.leader-photo img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2}.leader-fallback{position:absolute;z-index:1;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);color:var(--gd);font-weight:900}.leader-body{padding:20px;border-top:4px solid var(--g)}.leader-card:nth-child(odd) .leader-body{border-top-color:var(--o)}.leader-body h3{margin:0 0 7px;font-family:"Anek Gujarati",Inter,sans-serif;font-size:19px;line-height:1.35}.leader-body p{margin:0;color:var(--muted);font-family:"Anek Gujarati",Inter,sans-serif;font-size:14px;font-weight:600}.access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.access-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--sm);transition:.2s;position:relative;overflow:hidden}.access-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.access-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--o) 0 50%,var(--g) 50%)}.access-card .num{font-size:10px;font-weight:850;letter-spacing:.12em;color:var(--od)}.access-card h3{font-size:21px;margin:10px 0 8px}.access-card p{margin:0;color:var(--muted);font-size:14px}.access-card .arrow{display:inline-block;margin-top:18px;color:var(--gd);font-size:13px;font-weight:850}
.page-hero{padding:52px 0;background:linear-gradient(100deg,rgba(255,153,51,.11),transparent 37%),linear-gradient(280deg,rgba(19,136,8,.10),transparent 39%),#fff;border-bottom:1px solid var(--line);position:relative}.page-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--o) 0 33%,#fff 33% 66%,var(--g) 66%)}.crumb{font-size:12px;color:var(--gd);font-weight:750;margin-bottom:10px}.page-hero h1{margin:0;font-size:clamp(34px,4vw,52px);line-height:1.12;letter-spacing:-.03em}.page-hero p{margin:10px 0 0;color:#687169}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.content-card,.side-card,.contact-card,.app-panel{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--sm)}.content-card{padding:30px}.content-card h2{margin:0 0 14px;font-size:28px}.content-card h3{margin:30px 0 10px;font-size:20px}.content-card p,.content-card li{color:#5f6a61}.side-card{padding:24px;position:sticky;top:120px;border-top:5px solid var(--g)}.side-card h3{margin:0 0 9px}.side-card p{color:var(--muted);font-size:14px}.side-links{display:grid;gap:8px;margin-top:18px}.side-links a{padding:11px 13px;border-radius:11px;background:var(--gs);font-size:13px;font-weight:750;color:var(--gd)}.manual-list{display:grid;gap:10px}.manual-item{border:1px solid var(--line);border-radius:15px;padding:17px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff}.manual-item h3{margin:0;font-size:16px}.manual-item p{margin:5px 0 0;font-size:13px}.policy-section{padding:4px 0 22px;border-bottom:1px solid var(--line)}.policy-section:last-child{border-bottom:0}.policy-note{padding:17px;border-radius:14px;background:var(--os);border-left:4px solid var(--o);color:#5a4939}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.contact-card{padding:27px;border-top:5px solid var(--o)}.contact-card:nth-child(even){border-top-color:var(--g)}.contact-card .label{font-size:10px;text-transform:uppercase;font-weight:850;letter-spacing:.13em;color:var(--od)}.contact-card h3{margin:11px 0 7px;font-size:19px}.contact-card p{margin:0;color:var(--muted)}.app-panel{padding:26px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;background:linear-gradient(105deg,#fff7ec,#fff 48%,#f0faf2)}.app-panel h3{margin:3px 0 7px;font-size:25px}.app-panel p{margin:0;color:var(--muted)}.partner-band{background:#fff;border-top:1px solid var(--line);padding:25px 0}.partners{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;align-items:center}.partner{height:62px;border:1px solid #edf0ec;border-radius:12px;background:#fff;display:grid;place-items:center;padding:8px}.partner img{max-height:45px;max-width:100%;object-fit:contain}.site-footer{background:linear-gradient(130deg,#0b6530,#138808);color:#fff;border-top:6px solid var(--o)}.footer-grid{padding:44px 0 34px;display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:45px}.footer-brand{display:flex;align-items:center;gap:13px}.footer-logo{width:58px;height:58px;border-radius:13px;background:#fff;padding:4px;display:grid;place-items:center}.footer-logo img{width:100%;height:100%;object-fit:contain}.footer-brand strong{display:block;font-size:18px}.footer-brand span{display:block;color:rgba(255,255,255,.72);font-size:12px}.footer-copy{max-width:430px;color:rgba(255,255,255,.78);font-size:13px}.footer-title{font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#ffd0a0;margin-bottom:13px}.footer-links{display:grid;gap:8px}.footer-links a{color:rgba(255,255,255,.88);font-size:13px}.footer-bottom{border-top:1px solid rgba(255,255,255,.20);padding:17px 0 22px;display:flex;justify-content:space-between;gap:18px;color:rgba(255,255,255,.78);font-size:11px}.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s,transform .55s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1080px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:20px;right:20px;top:96px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.hero-grid{grid-template-columns:1fr;gap:34px}.hero-card{max-width:520px}.mission-grid,.leaders-grid{grid-template-columns:repeat(2,1fr)}.partners{grid-template-columns:repeat(4,1fr)}.content-grid{grid-template-columns:1fr}.side-card{position:relative;top:auto}}
@media(max-width:720px){.container{width:min(calc(100% - 26px),var(--max))}.utility-right{display:none}.sub{display:none}.brand-row{min-height:78px}.brand-logo{width:53px;height:53px}.brand-copy strong{font-size:16px}.brand-copy span{font-size:10px}.main-nav{top:82px}.hero{padding:56px 0}.hero h1{font-size:clamp(38px,11vw,52px)}.intro-en,.intro-gu{font-size:15px}.hero-logo-wrap{height:205px}.hero-logo{height:180px}.section{padding:56px 0}.section-head{display:block}.section-head p{margin-top:12px}.mission-grid,.leaders-grid,.access-grid,.contact-grid{grid-template-columns:1fr}.leader-photo{height:330px}.app-panel{grid-template-columns:1fr}.partners{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr;gap:27px}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}.content-card{padding:22px}.page-hero{padding:42px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
</style>
@stack('head')
</head>
<body>
<div class="tri"></div>
<div class="utility"><div class="container"><div class="utility-left"><span class="flag"><i></i><i></i><i></i></span><span class="gov">Government of Gujarat</span><span class="sub">Home Guards Digital Portal</span></div><div class="utility-right"><span>For authorised departmental use</span><a href="mailto:support@gujarathomeguard.gov.in">support@gujarathomeguard.gov.in</a></div></div></div>
<header class="site-header"><div class="container brand-row">
<a href="{{ route('website.home') }}" class="brand"><span class="brand-logo"><img src="{{ asset('assets/website/logo.png') }}" alt="Home Guards Gujarat Logo" onerror="this.style.display='none';this.nextElementSibling.style.display='block'"><span class="brand-fallback">HG</span></span><span class="brand-copy"><strong>કમાન્ડન્ટ જનરલ હોમગાર્ડઝ ગુજરાત</strong><span>Commandant General Home Guards Gujarat</span></span></a>
<button class="nav-toggle" type="button" aria-label="Open navigation" aria-expanded="false">☰</button>
<nav class="main-nav"><a class="{{ request()->routeIs('website.home') ? 'active' : '' }}" href="{{ route('website.home') }}">Home</a><a class="{{ request()->routeIs('website.about') ? 'active' : '' }}" href="{{ route('website.about') }}">About</a><a class="{{ request()->routeIs('website.leadership') ? 'active' : '' }}" href="{{ route('website.leadership') }}">Leadership</a><a class="{{ request()->routeIs('website.manuals') ? 'active' : '' }}" href="{{ route('website.manuals') }}">Manuals</a><a class="{{ request()->routeIs('website.software') ? 'active' : '' }}" href="{{ route('website.software') }}">Software</a><a class="{{ request()->routeIs('website.contact') ? 'active' : '' }}" href="{{ route('website.contact') }}">Contact</a><a class="login-btn" href="{{ route('login') }}">Officer Login →</a></nav>
</div></header>
<main>@yield('content')</main>
<div class="partner-band"><div class="container partners">@foreach([['logo3_v1CEOOffice.jpg','Public Service'],['digiLocker_Small.jpg','DigiLocker'],['HomeCEO_15_7_2016.jpg','Citizen Services'],['bannerindiagovin.gif','India.gov.in'],['logo_statueofunity.png','Statue of Unity'],['ek-ped-maa-ke-naam.jpg','Ek Ped Maa Ke Naam'],['swatchh_bharat.jpg','Swachh Bharat'],['digital-india.jpg','Digital India']] as $p)<div class="partner"><img src="{{ asset('assets/website/'.$p[0]) }}" alt="{{ $p[1] }}" loading="lazy" onerror="this.parentElement.style.display='none'"></div>@endforeach</div></div>
<footer class="site-footer"><div class="container"><div class="footer-grid"><div><div class="footer-brand"><div class="footer-logo"><img src="{{ asset('assets/website/logo.png') }}" alt="Home Guards Gujarat"></div><div><strong>Home Guards Gujarat</strong><span>Commandant General · Gujarat</span></div></div><p class="footer-copy">Official public information, resources, policy documents and secure officer access for Home Guards Gujarat.</p></div><div><div class="footer-title">Quick Links</div><div class="footer-links"><a href="{{ route('website.about') }}">About Us</a><a href="{{ route('website.leadership') }}">Leadership</a><a href="{{ route('website.manuals') }}">Manuals & Guides</a><a href="{{ route('website.contact') }}">Contact Us</a><a href="{{ route('login') }}">Officer Login</a></div></div><div><div class="footer-title">Policies</div><div class="footer-links"><a href="{{ route('website.privacy') }}">Privacy Policy</a><a href="{{ route('website.terms') }}">Terms & Conditions</a><a href="{{ route('website.data-deletion') }}">Data Deletion Policy</a></div></div></div><div class="footer-bottom"><span>© 2025 Gujarat Home Guard Department · Designed for Official Use</span><span>Contact: support@gujarathomeguard.gov.in · Helpline: +91-12345-67890</span></div></div></footer>
<script>(()=>{const b=document.querySelector('.nav-toggle'),n=document.querySelector('.main-nav');if(b&&n){b.addEventListener('click',()=>{const o=n.classList.toggle('open');b.setAttribute('aria-expanded',o?'true':'false')});n.querySelectorAll('a').forEach(a=>a.addEventListener('click',()=>n.classList.remove('open')))}const es=document.querySelectorAll('.reveal');if(!('IntersectionObserver'in window)){es.forEach(e=>e.classList.add('visible'));return}const io=new IntersectionObserver(xs=>xs.forEach(x=>{if(x.isIntersecting){x.target.classList.add('visible');io.unobserve(x.target)}}),{threshold:.08});es.forEach(e=>io.observe(e))})();</script>
@stack('scripts')
</body></html>
BLADE

say "4/7 Restoring OLD WEBSITE data placement on Home"
cat > resources/views/website/home.blade.php <<'BLADE'
@extends('website.layout')
@section('title','Commandant General Home Guards Gujarat')
@section('meta_description','Home Guards Gujarat public information, mission, leadership, resources and secure officer access.')
@section('content')
<section class="hero"><div class="container hero-grid"><div><span class="eyebrow">Home Guards Gujarat</span><h1>Welcome <span class="guj">સ્વાગત છે</span></h1><p class="intro-en">The Home Guards organization in Gujarat plays a vital role in maintaining peace, security, and assisting in disaster management. Our dedicated volunteers work alongside law enforcement to ensure community safety and support during emergencies.</p><p class="intro-gu">ગુજરાતમાં હોમગાર્ડઝ સંસ્થા શાંતિ, સુરક્ષા અને આપત્તિ વ્યવસ્થાપનમાં મહત્વપૂર્ણ ભૂમિકા ભજવે છે. અમારા સમર્પિત સ્વયંસેવકો કાયદાના અમલીકરણ સાથે મળીને સામુદાયિક સુરક્ષા અને કટોકટી દરમિયાન મદદ પૂરી પાડવા માટે કાર્યરત છે.</p><div class="download-label">Download our App from here:</div><div class="hero-actions"><a class="btn btn-primary" href="{{ file_exists(public_path('assets/website/cghg.apk')) ? asset('assets/website/cghg.apk') : 'https://cghggujarat.in/website/cghg.apk' }}">Download APK ↓</a><a class="btn btn-green" href="{{ route('login') }}">Officer Login →</a><a class="btn btn-outline" href="{{ route('website.about') }}">About Organisation</a></div></div><aside class="hero-card reveal"><div class="hero-card-label">Commandant General Home Guards Gujarat</div><div class="hero-logo-wrap"><img class="hero-logo" src="{{ asset('assets/website/logo.png') }}" alt="Home Guards Gujarat Logo" onerror="this.style.display='none';this.nextElementSibling.style.display='grid'"><div class="logo-fallback">HG</div></div><div class="mini">Official Gujarat Home Guards public information and secure departmental access.</div></aside></div></section>
<section class="section white"><div class="container"><div class="section-head"><div><div class="section-kicker">Our Mission</div><h2 class="guj">અમારું મિશન</h2></div><p>Core mission areas displayed on the existing Home Guards Gujarat public website.</p></div><div class="mission-grid">@foreach([['01','Community Safety & Security','Supporting community safety and security.'],['02','Disaster Management Support','Supporting response during disaster and emergency situations.'],['03','Public Order Maintenance','Assisting authorised agencies in maintaining public order.'],['04','Emergency Response','Supporting urgent public-safety response requirements.'],['05','Volunteer Training Programs','Improving readiness through structured volunteer training.'],['06','Law Enforcement Assistance','Supporting law-enforcement agencies within authorised duties.']] as $item)<article class="mission-card reveal"><div class="mission-icon">{{ $item[0] }}</div><h3>{{ $item[1] }}</h3><p>{{ $item[2] }}</p></article>@endforeach</div></div></section>
<section class="section"><div class="container"><div class="section-head"><div><div class="section-kicker">Leadership</div><h2>Department Leadership</h2></div><p>Leadership information carried forward in the same order as the existing public website.</p></div>@include('website.partials.leadership-grid')</div></section>
<section class="section white"><div class="container"><div class="section-head"><div><div class="section-kicker">Public Information</div><h2>Information & Resources</h2></div><p>The same primary information links shown after leadership on the existing public website.</p></div><div class="access-grid"><a class="access-card reveal" href="{{ route('website.about') }}"><div class="num">01 · ORGANISATION</div><h3>About Us</h3><p>Learn about our organization.</p><span class="arrow">Open →</span></a><a class="access-card reveal" href="{{ route('website.contact') }}"><div class="num">02 · CONTACT</div><h3>Contact Us</h3><p>Get in touch with us.</p><span class="arrow">Open →</span></a><a class="access-card reveal" href="{{ route('website.manuals') }}"><div class="num">03 · RESOURCES</div><h3>Manuals & Guides</h3><p>Download resources.</p><span class="arrow">Open →</span></a></div></div></section>
@endsection
BLADE

say "5/7 Restoring old website leadership assets/order"
cat > resources/views/website/partials/leadership-grid.blade.php <<'BLADE'
@php
$leaders=[
['image'=>'amit-shah.jpg','name'=>'શ્રી અમિત શાહ','role'=>'માનનીય કેન્દ્રીય ગૃહ અને સહકારિતા મંત્રી','fallback'=>'AS'],
['image'=>'bhupendra-patel.png','name'=>'શ્રી ભુપેન્દ્ર પટેલ','role'=>'માનનીય મુખ્યમંત્રીશ્રી, ગુજરાત રાજ્ય','fallback'=>'BP'],
['image'=>'harsh-sanghavi.png','name'=>'શ્રી હર્ષ સંઘવી','role'=>'માનનીય નાયબ મુખ્યમંત્રીશ્રી ગૃહ વિભાગ','fallback'=>'HS'],
['image'=>'kamlesh-patel.jpg','name'=>'શ્રી કમલેશભાઈ પટેલ','role'=>'માનનીય રાજ્યકક્ષાના મંત્રીશ્રી, ગૃહ રક્ષક દળ','fallback'=>'KP'],
['image'=>'sanjiv-kumar.jpg','name'=>'શ્રી સંજીવ કુમાર (આઈ.એ.એસ.)','role'=>'અગ્ર સચિવશ્રી (ગૃહ વિભાગ) I/C','fallback'=>'SK'],
['image'=>'sp-rajkumar.jpg','name'=>'ડૉ. એસ. પી. રાજકુમાર (આઇ. પી. એસ.)','role'=>'કમાન્ડન્ટ જનરલશ્રી, હોમગાર્ડઝ','fallback'=>'SPR'],
];
@endphp
<div class="leaders-grid">@foreach($leaders as $leader)<article class="leader-card reveal"><div class="leader-photo"><span class="leader-fallback">{{ $leader['fallback'] }}</span><img src="{{ asset('assets/website/'.$leader['image']) }}" alt="{{ $leader['name'] }}" loading="lazy" onerror="this.style.display='none'"></div><div class="leader-body"><h3>{{ $leader['name'] }}</h3><p>{{ $leader['role'] }}</p></div></article>@endforeach</div>
BLADE

say "6/7 Ownership + Laravel validation"
chown -R "$OWNER" resources/views/website "$APP/public/assets/website" 2>/dev/null || true
chmod 644 resources/views/website/layout.blade.php resources/views/website/home.blade.php resources/views/website/partials/leadership-grid.blade.php
"$PHP82" -l routes/web.php
grep -q 'Anek+Gujarati' resources/views/website/layout.blade.php
grep -q -- '--o:#ff8c24' resources/views/website/layout.blade.php
grep -q -- '--g:#138808' resources/views/website/layout.blade.php
runuser -u cghggujarat -- env HOME=/home/cghggujarat "$PHP82" artisan optimize:clear
runuser -u cghggujarat -- env HOME=/home/cghggujarat "$PHP82" artisan view:cache

say "7/7 Verification"
echo "ANEK_GUJARATI=OK"
echo "WHITE_ORANGE_GREEN_THEME=OK"
echo "OLD_HOME_DATA_ORDER=WELCOME_MISSION_LEADERSHIP_LINKS"
echo "EXISTING_OFFICER_LOGIN=UNCHANGED"
if [ -s "$PREVIEW/assets/website/logo.png" ]; then echo "HOME_GUARD_LOGO=OK"; ls -lh "$PREVIEW/assets/website/logo.png"; else echo "HOME_GUARD_LOGO=NOT_FOUND_IN_OLD_FOLDER"; fi
echo "PREVIEW=https://cghggujarat.in/new/portalarea-laravel-preview/website"
echo "BACKUP=$BACKUP"
echo "ROLLBACK=bash $BACKUP/ROLLBACK.sh"
echo "CGHG WEBSITE TRICOLOR LAYOUT V5 INSTALLED"
