:root{--navy:#06346c;--navy2:#0b4f93;--blue:#086bc1;--red:#ad0f2f;--ink:#163052;--muted:#64748b;--cream:#fbf8f1;--line:#dbe2ea;--white:#fff;--shadow:0 12px 28px rgba(16,48,85,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Noto Sans Tamil",sans-serif;color:#18273b;background:#f7f8fa}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.topbar-blue{min-height:40px;background:#06346c;color:#fff;padding:6px 3vw;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:13px}.topbar-location,.topbar-actions{display:flex;align-items:center;gap:12px}.topbar-location i{height:18px;width:1px;background:rgba(255,255,255,.35)}.social-dot{width:24px;height:24px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:900}.lang-pill{padding:7px 12px;border-radius:4px;font-weight:800}.lang-pill.active{background:#fff;color:#a3172b}.top-search{font-size:25px;padding-left:4px}.site-header-blue{min-height:102px;background:#fff;display:flex;align-items:center;gap:24px;padding:8px 3vw;border-bottom:1px solid #d8e1eb;position:sticky;top:0;z-index:50;box-shadow:0 3px 15px rgba(3,48,101,.07)}.brand-blue{display:flex;align-items:center;gap:15px;min-width:420px}.brand-blue img{width:86px;height:86px;object-fit:contain;border-radius:50%}.brand-blue h1{margin:0;color:#07366d;font-family:Georgia,serif;font-size:38px;line-height:1;letter-spacing:.4px}.brand-blue strong{display:block;color:#143d70;font-size:14px;margin-top:7px}.brand-blue small{display:block;color:#18375d;font-size:12px;font-weight:800;margin-top:3px}.nav-blue{margin-left:auto;display:flex;align-items:stretch;gap:4px}.nav-blue a{min-width:82px;padding:18px 10px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#14355e;font-size:13px;font-weight:800;white-space:nowrap;border-bottom:3px solid transparent}.nav-blue a:hover,.nav-blue a.active{color:#b1132f;border-bottom-color:#b1132f}.nav-ico{font-size:23px;color:#0b3d75}.menu-btn-blue{display:none;margin-left:auto;border:0;background:transparent;color:var(--navy);font-size:30px}
.home-blue{background:#f7f7f5}.hero-blue{position:relative;min-height:420px;overflow:hidden;background:#dfeaf5}.hero-blue-image{position:absolute;inset:0}.hero-blue-image img{width:100%;height:100%;object-fit:cover;object-position:center 37%}.hero-blue-fade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 25%,rgba(255,255,255,.35) 50%,rgba(255,255,255,.04) 75%),linear-gradient(0deg,rgba(5,51,107,.04),rgba(5,51,107,.02))}.hero-blue-copy{position:relative;z-index:2;width:62%;padding:55px 3vw 120px}.hero-blue-copy h2{font-family:Georgia,"Noto Serif Tamil",serif;color:#aa152c;font-size:44px;margin:0 0 8px}.hero-blue-copy h3{color:#0c3f7b;font-size:29px;margin:0 0 18px}.hero-blue-copy p{max-width:560px;line-height:1.8;font-size:16px;color:#20334d;font-weight:600}.blue-btn{display:inline-flex;gap:15px;align-items:center;background:#063b77;color:#fff;padding:13px 20px;border-radius:8px;font-weight:800;box-shadow:0 4px 12px rgba(6,59,119,.25)}.blue-btn span{font-size:23px}.hero-notices{position:absolute;right:3vw;top:20px;width:335px;background:rgba(255,255,255,.97);border-radius:10px;overflow:hidden;z-index:3;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.9)}.notice-title{background:linear-gradient(90deg,#b31536,#c30934);color:#fff;padding:13px 16px;font-weight:900;font-size:16px}.notice-list{padding:0 13px}.notice-row{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #dde4ec;align-items:start}.notice-date{border:1px solid #dce3ec;border-radius:8px;text-align:center;padding:8px 3px;color:#9d1230;background:#fff}.notice-date b{font-size:18px;display:block}.notice-date small{font-size:11px;color:#485d78}.notice-row strong{display:block;color:#17365d;font-size:13px;line-height:1.4}.notice-row em{display:block;font-style:normal;color:#41668d;font-size:11px;margin-top:5px}.notice-more{margin:10px 14px 14px;border:1px solid #b8c4d1;border-radius:8px;padding:9px 12px;display:block;text-align:center;color:#143d70;font-weight:800;font-size:12px}.quick-blue{position:relative;z-index:5;width:71%;margin:-75px 0 14px 2.2vw;display:grid;grid-template-columns:repeat(8,1fr);background:#fff;border:1px solid #d6dee7;border-radius:10px;overflow:hidden;box-shadow:0 7px 20px rgba(5,47,96,.12)}.quick-blue a{min-height:91px;padding:11px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border-right:1px solid #dce3eb;border-bottom:1px solid #dce3eb;color:#183b68}.quick-blue a:hover{background:#f0f6fb}.quick-ico{font-size:27px;color:#ad1731;line-height:1}.quick-blue a:nth-child(even) .quick-ico{color:#0d3f79}.quick-blue strong{font-size:11px;line-height:1.3}.content-blue-grid{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:18px;padding:0 3vw 22px}.content-blue-left{display:grid;grid-template-columns:1fr 1fr;gap:18px}.blue-panel,.side-card{background:#fff;border:1px solid #dce3eb;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px rgba(14,54,95,.06)}.blue-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-bottom:1px solid #e2e8f0}.blue-panel-head h3{margin:0;color:#ad1231;font-size:18px}.blue-panel-head a{color:#0a4d92;font-size:11px;font-weight:800}.lead-news{display:grid;grid-template-columns:48% 1fr;gap:13px;padding:12px}.lead-news img{width:100%;height:190px;object-fit:cover;border-radius:6px}.lead-news h4{margin:6px 0 10px;color:#0c3f7c;font-size:16px;line-height:1.45}.lead-news p{font-size:13px;line-height:1.65;color:#45566d;margin:0 0 13px}.lead-news small{font-size:11px;color:#60718a}.mosaic-gallery{padding:11px;display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:90px 90px;gap:7px}.mosaic-gallery img{width:100%;height:100%;object-fit:cover;border-radius:5px}.mosaic-gallery .g1{grid-row:1/3}.mosaic-gallery .g2{grid-column:2}.mosaic-gallery .g3{grid-column:3}.mosaic-gallery .g4{grid-column:2}.mosaic-gallery .g5{grid-column:3}.content-blue-right{display:flex;flex-direction:column;gap:16px}.side-card h3{margin:0;background:#073c78;color:#fff;padding:11px 14px;font-size:15px}.today-card{text-align:center}.today-date{padding:18px 10px 6px;font-size:16px;line-height:1.6;color:#23364f;font-weight:700}.today-card p{font-family:Georgia,serif;font-size:14px;color:#4b5563;padding:0 16px 17px;margin:5px}.weather-card h3{background:#0b77ba}.weather-body{display:grid;grid-template-columns:55px 70px 1fr;align-items:center;gap:8px;padding:20px 15px}.weather-body>span{font-size:43px}.weather-body>strong{font-size:31px;color:#27384e}.weather-body div b{display:block;color:#334b69;font-size:12px}.weather-body div small{display:block;margin-top:6px;color:#6a7b8f;font-size:10px}.weather-card>a{display:block;text-align:right;padding:0 16px 14px;color:#0a58a1;font-size:11px;font-weight:800}.mini-news-card a{padding:12px 14px;display:block;border-bottom:1px solid #e3e8ef}.mini-news-card a strong{display:block;color:#143d70;font-size:12px;line-height:1.4}.mini-news-card a small{display:block;color:#6c7b8e;margin-top:4px}.mini-news-card p{padding:12px 14px;color:#64748b;font-size:12px}.stats-blue{background:#063b77;color:#fff;display:grid;grid-template-columns:repeat(6,1fr);padding:14px 2vw}.stats-blue>div{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px;border-right:1px solid rgba(255,255,255,.2)}.stats-blue>div:last-child{border-right:0}.stats-blue span{font-size:34px}.stats-blue p{margin:0;font-size:11px;line-height:1.35}.stats-blue b{display:block;font-size:20px;margin-top:3px}.footer-blue{background:#09284d;color:#dbe6f2;padding:32px 3vw;display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:30px}.footer-blue h4{color:#fff;margin:0 0 12px}.footer-blue a,.footer-blue p{display:block;color:#c2d1df;font-size:12px;margin:8px 0}.footer-blue-brand{display:flex;gap:14px}.footer-blue-brand img{width:88px;height:88px;object-fit:contain;border-radius:50%;background:#fff}.footer-blue-brand strong{font-size:25px;color:#fff;display:block}.footer-blue-brand span{color:#f4c15f;font-weight:900;display:block;margin-top:3px}.footer-blue-brand p{line-height:1.6}.footer-blue-bottom{background:#041b35;color:#9fb2c7;padding:11px 3vw;display:flex;justify-content:space-between;font-size:11px}
/* Shared content pages */.page-wrap{padding:32px 4vw 55px;min-height:65vh}.page-hero{background:linear-gradient(135deg,#eaf4ff,#fff);padding:34px;border-radius:14px;margin-bottom:24px;border:1px solid #dce7f2}.page-hero h2{font-size:32px;color:var(--navy);margin:0 0 8px}.searchbar{display:flex;gap:10px;margin:20px 0 26px}.searchbar input{flex:1;padding:14px;border:1px solid #cbd6e2;border-radius:9px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card,.directory-card,.search-result,.panel{background:#fff;border-radius:11px;box-shadow:var(--shadow);border:1px solid #e0e7ef}.card{overflow:hidden}.card img{width:100%;height:220px;object-fit:cover}.card-body{padding:18px}.card h4{font-size:20px;margin:7px 0 10px;color:var(--navy)}.chip{font-size:11px;background:#e9f2fb;color:#0b5397;padding:5px 8px;border-radius:999px;font-weight:800;display:inline-block}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.gallery-grid.large{grid-template-columns:repeat(4,1fr)}.gallery-grid figure{margin:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.gallery-grid img{width:100%;height:170px;object-fit:cover}.gallery-grid figcaption{padding:10px;font-size:13px}.directory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.directory-card{display:flex;gap:18px;padding:20px}.directory-card img{width:110px;height:110px;object-fit:contain;border-radius:12px}.search-result{padding:20px;margin-bottom:14px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:#0a4b8f;color:#fff;padding:11px 18px;font-weight:800;cursor:pointer}
/* Admin remains usable */.admin-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{background:#07386d;color:#fff;padding:22px}.sidebar h2{margin-top:0}.sidebar a{display:block;padding:11px 12px;border-radius:8px;margin:6px 0}.sidebar a:hover{background:#0b579e}.admin-main{padding:28px;background:#f2f5f8}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metric{background:#fff;border-radius:12px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column}.metric strong{font-size:30px;color:var(--navy)}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;margin-top:22px}th,td{padding:12px;border-bottom:1px solid #e5eaf0;text-align:left}form.panel,.admin-help{padding:22px;margin-bottom:22px}.field{margin-bottom:14px}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field textarea,.field select,form select{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:8px}.field textarea{min-height:120px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.actions{display:flex;gap:10px}.danger{background:#b42318}.success{background:#177245}.success-note{background:#def7e7;padding:12px;border-radius:8px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#062c58,#0b5aa2)}.login-card{background:#fff;padding:32px;border-radius:16px;width:min(420px,92vw);box-shadow:var(--shadow)}

/* V6 header action button */
.header-add-btn{margin-left:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 16px;border-radius:13px;background:linear-gradient(135deg,#b31332 0%,#d32142 55%,#a30d29 100%);color:#fff!important;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:0 8px 20px rgba(177,19,50,.24);border:1px solid rgba(133,8,34,.18);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.header-add-btn:hover,.header-add-btn.active{transform:translateY(-2px);box-shadow:0 11px 25px rgba(177,19,50,.32);filter:saturate(1.08);color:#fff!important}
.header-add-plus{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#b31332;font-size:21px;line-height:1;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.header-add-label{line-height:1.1}
@media(max-width:1180px){.header-add-btn{padding:9px 12px}.header-add-label{display:none}.brand-blue{min-width:330px}.brand-blue h1{font-size:31px}.brand-blue img{width:70px;height:70px}.nav-blue a{min-width:68px;padding:16px 7px;font-size:12px}.hero-blue-copy{width:63%}.quick-blue{width:70%;grid-template-columns:repeat(4,1fr)}.content-blue-left{grid-template-columns:1fr}.lead-news{grid-template-columns:220px 1fr}.footer-blue{grid-template-columns:1.3fr 1fr 1fr}.footer-blue>div:last-child{grid-column:2/4}}
@media(max-width:920px){.header-add-btn{margin-left:0;margin-right:6px;order:2}.menu-btn-blue{order:3}.topbar-blue{font-size:11px}.topbar-location span:last-child{display:none}.site-header-blue{min-height:84px}.brand-blue{min-width:auto}.brand-blue img{width:63px;height:63px}.brand-blue h1{font-size:28px}.brand-blue strong{font-size:12px}.brand-blue small{font-size:10px}.menu-btn-blue{display:block}.nav-blue{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;padding:14px 3vw;box-shadow:var(--shadow);flex-wrap:wrap}.nav-blue.show{display:flex}.nav-blue a{min-width:100px;flex:1}.hero-blue{min-height:500px}.hero-blue-copy{width:68%;padding-bottom:135px}.hero-notices{right:2vw;width:300px}.quick-blue{width:64%;margin-top:-100px;grid-template-columns:repeat(4,1fr)}.content-blue-grid{grid-template-columns:1fr}.content-blue-right{display:grid;grid-template-columns:1fr 1fr}.mini-news-card{grid-column:1/3}.stats-blue{grid-template-columns:repeat(3,1fr)}.footer-blue{grid-template-columns:1fr 1fr}.footer-blue>div:last-child{grid-column:auto}}
@media(max-width:680px){.header-add-btn{min-height:40px;padding:7px 10px;border-radius:11px}.header-add-plus{width:22px;height:22px;font-size:18px}.topbar-blue{padding:6px 3vw}.topbar-location{display:none}.topbar-actions{width:100%;justify-content:flex-end}.site-header-blue{padding:8px 3vw}.brand-blue img{width:55px;height:55px}.brand-blue h1{font-size:24px}.brand-blue strong{display:none}.brand-blue small{font-size:9px}.hero-blue{min-height:auto;padding-bottom:0;background:#eaf2f9}.hero-blue-image{position:relative;height:265px}.hero-blue-fade{background:linear-gradient(0deg,#eef5fb 0%,rgba(255,255,255,0) 55%)}.hero-blue-copy{width:100%;padding:18px 5vw 24px;background:#eef5fb}.hero-blue-copy h2{font-size:32px}.hero-blue-copy h3{font-size:23px}.hero-blue-copy p{font-size:14px}.hero-notices{position:relative;top:auto;right:auto;width:auto;margin:0 4vw 16px}.quick-blue{width:auto;margin:0 4vw 16px;grid-template-columns:repeat(2,1fr)}.quick-blue a{min-height:80px}.content-blue-grid{padding:0 4vw 18px}.content-blue-left{grid-template-columns:1fr}.lead-news{grid-template-columns:1fr}.lead-news img{height:190px}.mosaic-gallery{grid-template-columns:1fr 1fr;grid-template-rows:130px 130px}.mosaic-gallery .g1{grid-row:auto}.mosaic-gallery .g2,.mosaic-gallery .g3,.mosaic-gallery .g4,.mosaic-gallery .g5{grid-column:auto}.content-blue-right{grid-template-columns:1fr}.mini-news-card{grid-column:auto}.stats-blue{grid-template-columns:1fr 1fr}.stats-blue>div{justify-content:flex-start}.footer-blue{grid-template-columns:1fr}.footer-blue-bottom{flex-direction:column;gap:5px}.grid-3,.gallery-grid,.gallery-grid.large,.form-grid{grid-template-columns:1fr}.admin-shell{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}.directory-grid{grid-template-columns:1fr}.directory-card{flex-direction:column}.page-hero h2{font-size:27px}}

/* V5 shared public-page layout */
.nav-blue a.active{color:#b5122a;border-bottom:3px solid #b5122a}
.empty-state,.success-box{max-width:1180px;margin:20px auto;padding:22px;border-radius:12px;background:#fff;border:1px solid #dbe4ee;color:#17365d}
.success-box{border-left:5px solid #167c4a}
.narrow-page{max-width:900px;margin:0 auto}
.public-form{padding:24px;margin:20px 0 40px}.public-form .field{margin-bottom:16px}.public-form label{display:block;font-weight:700;margin-bottom:7px;color:#0a376c}.public-form input,.public-form select,.public-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cdd8e5;border-radius:8px;font:inherit}.public-form textarea{min-height:150px}


/* V7 modern shared navigation buttons */
.nav-blue{gap:8px;align-items:center}
.nav-blue a{
  position:relative;
  min-width:82px;
  min-height:62px;
  padding:9px 12px 8px;
  border:1px solid #d7e3ef;
  border-radius:12px;
  background:linear-gradient(180deg,#ffffff 0%,#f5f9fd 100%);
  box-shadow:0 4px 12px rgba(6,52,108,.08);
  color:#113b6e;
  border-bottom:1px solid #d7e3ef;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,color .18s ease,background .18s ease;
}
.nav-blue a .nav-ico{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:8px;
  background:#edf4fb;
  color:#0a4b8f;
  font-size:18px;
  line-height:1;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.nav-blue a:hover{
  transform:translateY(-2px);
  color:#0a4b8f;
  border-color:#9fc4e8;
  background:#fff;
  box-shadow:0 8px 18px rgba(6,52,108,.14);
}
.nav-blue a:hover .nav-ico{transform:scale(1.05);background:#dcecff}
.nav-blue a.active{
  color:#fff!important;
  border-color:#0a4b8f;
  border-bottom-color:#0a4b8f;
  background:linear-gradient(135deg,#06346c 0%,#0a5aa5 100%);
  box-shadow:0 9px 20px rgba(6,52,108,.24);
}
.nav-blue a.active .nav-ico{background:rgba(255,255,255,.16);color:#fff}
.nav-blue a.active::after{
  content:"";
  position:absolute;
  left:50%;bottom:-7px;
  width:12px;height:12px;
  background:#0a4b8f;
  transform:translateX(-50%) rotate(45deg);
  border-radius:2px;
}
.nav-blue a.nav-home.active{background:linear-gradient(135deg,#a80f2c 0%,#c91b3b 100%);border-color:#a80f2c}
.nav-blue a.nav-home.active::after{background:#b31332}

@media(max-width:1380px){
  .site-header-blue{gap:14px;padding-left:2vw;padding-right:2vw}
  .brand-blue{min-width:330px}
  .brand-blue h1{font-size:31px}
  .brand-blue img{width:70px;height:70px}
  .nav-blue{gap:5px}
  .nav-blue a{min-width:68px;min-height:58px;padding:8px 7px;font-size:11px;border-radius:10px}
  .nav-blue a .nav-ico{width:24px;height:24px;font-size:15px}
}
@media(max-width:1080px){
  .menu-btn-blue{display:block}
  .nav-blue{display:none;position:absolute;top:100%;left:2vw;right:2vw;background:#fff;padding:14px;border-radius:0 0 14px 14px;box-shadow:0 14px 30px rgba(6,52,108,.18);grid-template-columns:repeat(4,1fr);z-index:100}
  .nav-blue.show{display:grid}
  .nav-blue a{min-width:0;width:100%;min-height:68px}
  .nav-blue a.active::after{display:none}
}
@media(max-width:680px){
  .nav-blue{left:3vw;right:3vw;grid-template-columns:repeat(2,1fr);gap:8px}
  .nav-blue a{font-size:12px;min-height:64px}
}

/* V8 advanced community submission wizard */
.submit-wizard-page{max-width:1180px;margin:0 auto;padding:24px 3vw 56px}
.submit-hero{background:linear-gradient(135deg,#073b78 0%,#0e69ae 100%);color:#fff;border-radius:20px;padding:34px 34px 30px;box-shadow:0 14px 34px rgba(6,52,108,.18);margin-bottom:22px;position:relative;overflow:hidden}
.submit-hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-70px;top:-90px;background:rgba(255,255,255,.08)}
.submit-kicker{display:inline-block;background:#fff;color:#a70f2d;font-weight:900;padding:7px 10px;border-radius:999px;font-size:11px;letter-spacing:.7px}
.submit-hero h2{font-family:Georgia,"Noto Serif Tamil",serif;font-size:34px;margin:14px 0 8px}.submit-hero p{max-width:780px;line-height:1.75;margin:0;color:#eaf4ff}
.submission-wizard{display:grid;gap:18px}.wizard-card{background:#fff;border:1px solid #dbe4ef;border-radius:16px;padding:22px;box-shadow:0 6px 20px rgba(6,52,108,.07)}
.wizard-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.wizard-heading>span{width:34px;height:34px;border-radius:10px;background:#073d79;color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 5px 14px rgba(7,61,121,.2)}.wizard-heading h3{margin:0;color:#123b6b;font-size:19px}.wizard-heading p{margin:4px 0 0;color:#718198;font-size:12px}
.submission-types{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.submission-type{appearance:none;border:1px solid #d9e4ef;border-radius:13px;background:linear-gradient(180deg,#fff,#f7fbff);padding:15px 8px;min-height:92px;cursor:pointer;color:#173b66;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font:inherit;transition:.18s ease}.submission-type span{font-size:29px}.submission-type strong{font-size:12px;line-height:1.25}.submission-type:hover{transform:translateY(-2px);border-color:#91bde5;box-shadow:0 8px 18px rgba(6,52,108,.12)}.submission-type.selected{background:linear-gradient(135deg,#06346c,#0b67b3);border-color:#06346c;color:#fff;box-shadow:0 10px 22px rgba(6,52,108,.2)}
.wizard-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wizard-grid .span-2{grid-column:1/3}.submission-wizard .field{margin:0}.submission-wizard .field label{display:block;color:#173c6d;font-weight:800;font-size:13px;margin-bottom:7px}.submission-wizard input,.submission-wizard textarea,.submission-wizard select{width:100%;border:1px solid #cbd9e7;border-radius:10px;background:#fbfdff;padding:12px 13px;font:inherit;color:#1c2f46;outline:none;transition:border-color .15s,box-shadow .15s}.submission-wizard input:focus,.submission-wizard textarea:focus,.submission-wizard select:focus{border-color:#5aa0d8;box-shadow:0 0 0 3px rgba(62,139,202,.12);background:#fff}.submission-wizard textarea{min-height:130px;resize:vertical}.dynamic-fields{display:none;border-top:1px dashed #d9e3ec;margin-top:18px;padding-top:18px}.dynamic-fields.is-visible{display:block}
.upload-dropzone{border:2px dashed #9bb9d6;background:#f6fbff;border-radius:16px;min-height:205px;padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#476584;transition:.18s}.upload-dropzone.dragover{background:#eaf5ff;border-color:#0b67b3;transform:scale(1.005)}.upload-icon{font-size:40px;margin-bottom:6px}.upload-dropzone strong{color:#123d70;font-size:16px}.upload-dropzone>span{font-size:11px;color:#8b99a9;margin:7px 0}.choose-images-btn{border:0;border-radius:10px;background:#073d79;color:#fff;font-weight:900;padding:11px 17px;cursor:pointer;box-shadow:0 5px 14px rgba(7,61,121,.18)}.upload-dropzone small{margin-top:10px;color:#718198}.image-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.image-preview-card{position:relative;border:1px solid #d9e4ee;border-radius:13px;overflow:hidden;background:#fff}.image-preview-card img{width:100%;height:145px;object-fit:cover}.image-preview-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px}.cover-radio{font-size:11px;color:#17416f;font-weight:800}.remove-preview{border:0;background:#ffe9ed;color:#9d1530;border-radius:8px;width:29px;height:29px;cursor:pointer;font-weight:900}.cover-badge{position:absolute;left:8px;top:8px;background:#b21130;color:#fff;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;display:none}.image-preview-card.is-cover .cover-badge{display:block}
.privacy-check{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:13px;border-radius:10px;background:#f4f8fc;color:#51657e;font-size:12px;line-height:1.55}.privacy-check input{width:auto;margin-top:3px}.submit-final-bar{position:sticky;bottom:10px;z-index:20;background:rgba(255,255,255,.97);border:1px solid #d9e4ef;border-radius:15px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 12px 28px rgba(7,48,92,.16);backdrop-filter:blur(8px)}.submit-final-bar strong{display:block;color:#123d70}.submit-final-bar small{display:block;color:#6f7f92;margin-top:3px}.submit-big-btn{border:0;border-radius:11px;background:linear-gradient(135deg,#ab102f,#ce1c3c);color:#fff;padding:13px 20px;font-weight:900;font:inherit;cursor:pointer;white-space:nowrap;box-shadow:0 7px 18px rgba(177,19,50,.22)}.submit-error{background:#fff0f2;color:#8f1730;border-left:5px solid #b31332;padding:15px 17px;border-radius:10px;margin-bottom:16px}.submission-success-card{background:#fff;border:1px solid #d8e7dd;border-radius:18px;padding:42px 28px;text-align:center;box-shadow:0 8px 24px rgba(20,100,59,.08)}.success-mark{margin:0 auto 13px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#dff5e8;color:#177245;font-size:32px;font-weight:900}.submission-success-card h3{color:#154b32;font-size:24px}.submission-success-card p{max-width:660px;margin:0 auto 20px;line-height:1.7;color:#567061}
/* Admin V8 submissions */
.admin-title-row{display:flex;align-items:center;justify-content:space-between}.admin-title-row h1{margin-bottom:3px}.admin-title-row p{color:#66768a}.submission-admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.submission-admin-stats a{background:#fff;border:1px solid #dbe4ee;border-radius:12px;padding:17px;display:flex;align-items:end;justify-content:space-between}.submission-admin-stats strong{font-size:28px;color:#083e78}.submission-admin-stats span{color:#65768b;font-weight:700}.admin-submission-detail{background:#fff;border:1px solid #dce5ee;border-radius:15px;padding:22px;margin-bottom:22px}.submission-detail-top{display:flex;justify-content:space-between;gap:16px}.submission-detail-top h2{margin:8px 0 4px;color:#123d70}.submission-detail-top p{margin:0;color:#77869a}.submission-status{display:inline-block;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;text-transform:uppercase}.submission-status.pending{background:#fff2c7;color:#7e5b00}.submission-status.approved{background:#def6e7;color:#17643b}.submission-status.rejected{background:#fde4e8;color:#9a1730}.submission-contact-box{display:flex;gap:14px;flex-wrap:wrap;background:#f4f8fc;border-radius:10px;padding:12px 14px;margin:16px 0}.submission-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.submission-meta-grid>div{border:1px solid #e0e8f0;border-radius:10px;padding:11px}.submission-meta-grid small{display:block;color:#79889a;margin-bottom:5px}.submission-meta-grid strong{color:#173e6d}.submission-body-admin{border-top:1px solid #e2e8ef;padding-top:12px;line-height:1.65}.admin-image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.admin-image-grid figure{margin:0;border:1px solid #dce5ee;border-radius:10px;overflow:hidden}.admin-image-grid img{width:100%;height:150px;object-fit:cover}.admin-image-grid figcaption{padding:7px;font-size:11px;font-weight:800;color:#355474}.admin-review-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.admin-review-actions form{margin:0}.btn.secondary{background:#e8eef5;color:#193d67}.submission-list-panel{padding:0;overflow:hidden}.submission-list-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e2e8ef}.submission-list-head h2{margin:0}.admin-table-wrap{overflow:auto}.submission-list-panel table{margin:0;border-radius:0}.submission-list-panel td small{display:block;color:#8795a7;margin-top:3px}.table-view-btn{font-weight:800;color:#0a579c;white-space:nowrap}
@media(max-width:980px){.submission-types{grid-template-columns:repeat(4,1fr)}.image-preview-grid,.admin-image-grid{grid-template-columns:repeat(3,1fr)}.submission-meta-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.submit-wizard-page{padding:14px 4vw 40px}.submit-hero{padding:25px 20px;border-radius:15px}.submit-hero h2{font-size:27px}.wizard-card{padding:16px}.submission-types{grid-template-columns:repeat(3,1fr);gap:8px}.submission-type{min-height:84px;padding:10px 5px}.submission-type span{font-size:25px}.wizard-grid{grid-template-columns:1fr}.wizard-grid .span-2{grid-column:auto}.image-preview-grid{grid-template-columns:repeat(2,1fr)}.image-preview-card img{height:120px}.submit-final-bar{bottom:6px;align-items:stretch;flex-direction:column}.submit-big-btn{width:100%}.submission-admin-stats{grid-template-columns:1fr}.submission-meta-grid{grid-template-columns:1fr}.admin-image-grid{grid-template-columns:repeat(2,1fr)}.submission-detail-top{flex-direction:column}}

/* V9 shared header motto + More dropdown */
.brand-motto-ta{display:block;color:#143d70;font-size:13px;margin-top:7px;line-height:1.4;font-weight:900;white-space:nowrap}
.nav-more{position:relative;display:flex;align-self:stretch}
.nav-more-toggle{font:inherit;cursor:pointer;position:relative;min-width:82px;min-height:62px;padding:9px 12px 8px;border:1px solid #d7e3ef;border-radius:12px;background:linear-gradient(180deg,#fff 0%,#f5f9fd 100%);box-shadow:0 4px 12px rgba(6,52,108,.08);color:#113b6e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:800;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,color .18s ease,background .18s ease}
.nav-more-toggle .nav-ico{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#edf4fb;color:#0a4b8f;font-size:18px;line-height:1;transition:.18s ease}
.nav-more-toggle:hover{transform:translateY(-2px);color:#0a4b8f;border-color:#9fc4e8;background:#fff;box-shadow:0 8px 18px rgba(6,52,108,.14)}
.nav-more.active .nav-more-toggle,.nav-more.open .nav-more-toggle{color:#fff;background:linear-gradient(135deg,#06346c 0%,#0a5aa5 100%);border-color:#0a4b8f;box-shadow:0 9px 20px rgba(6,52,108,.24)}
.nav-more.active .nav-more-toggle .nav-ico,.nav-more.open .nav-more-toggle .nav-ico{background:rgba(255,255,255,.16);color:#fff}
.drop-arrow{font-size:11px;margin-left:2px}
.nav-more-menu{display:none;position:absolute;top:calc(100% + 10px);right:0;width:310px;padding:10px;background:#fff;border:1px solid #d7e3ef;border-radius:14px;box-shadow:0 18px 45px rgba(6,52,108,.22);z-index:300;grid-template-columns:1fr 1fr;gap:7px}
.nav-more.open .nav-more-menu{display:grid}
.nav-more-menu:before{content:"";position:absolute;right:30px;top:-7px;width:14px;height:14px;background:#fff;border-left:1px solid #d7e3ef;border-top:1px solid #d7e3ef;transform:rotate(45deg)}
.nav-blue .nav-more-menu a{position:relative;z-index:1;min-width:0!important;min-height:52px!important;padding:9px 10px!important;border:1px solid #e1e9f2!important;border-radius:10px!important;background:#f8fbfe!important;box-shadow:none!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;color:#173d6d!important;font-size:12px!important;font-weight:800!important;white-space:normal!important;transform:none!important}
.nav-blue .nav-more-menu a:after{display:none!important}
.nav-blue .nav-more-menu a>span{font-size:19px;flex:0 0 24px;text-align:center}
.nav-blue .nav-more-menu a>strong{font-size:12px;line-height:1.25}
.nav-blue .nav-more-menu a:hover{background:#eaf4fd!important;border-color:#9fc4e8!important;color:#083f79!important}
.nav-blue .nav-more-menu a.nav-more-submit{grid-column:1/3;background:linear-gradient(135deg,#ad102f,#ce1c3c)!important;color:#fff!important;border-color:#ad102f!important;justify-content:center!important}
.nav-blue .nav-more-menu a.nav-more-submit:hover{background:linear-gradient(135deg,#9d0c29,#bc1435)!important;color:#fff!important}
@media(min-width:1081px){.nav-more:hover .nav-more-menu{display:grid}.nav-more:hover .nav-more-toggle{color:#fff;background:linear-gradient(135deg,#06346c 0%,#0a5aa5 100%);border-color:#0a4b8f}.nav-more:hover .nav-more-toggle .nav-ico{background:rgba(255,255,255,.16);color:#fff}}
@media(max-width:1380px){.brand-motto-ta{font-size:11px}.nav-more-toggle{min-width:68px;min-height:58px;padding:8px 7px;font-size:11px;border-radius:10px}.nav-more-toggle .nav-ico{width:24px;height:24px;font-size:15px}}
@media(max-width:1080px){.nav-more{display:block;position:relative;width:100%;align-self:auto}.nav-more-toggle{width:100%;min-width:0;min-height:68px}.nav-more-menu{position:static;width:100%;margin-top:8px;box-shadow:none;border-radius:11px;grid-template-columns:repeat(2,1fr);grid-column:1/-1}.nav-more-menu:before{display:none}.nav-blue .nav-more-menu a.nav-more-submit{grid-column:1/3}.nav-blue.show .nav-more{display:block}}
@media(max-width:680px){.brand-blue>div{min-width:0}.brand-motto-ta{font-size:9px;white-space:normal;max-width:205px;margin-top:4px}.brand-blue small{display:none}.nav-more-toggle{font-size:12px;min-height:64px}.nav-more-menu{grid-template-columns:1fr}.nav-blue .nav-more-menu a.nav-more-submit{grid-column:auto}.nav-blue .nav-more-menu a{min-height:48px!important}}

/* V12 full-screen image lightbox */
main img:not([data-no-lightbox]){
  cursor:zoom-in;
  transition:transform .22s ease, filter .22s ease, box-shadow .22s ease;
}
main img:not([data-no-lightbox]):hover{
  filter:brightness(.96);
}
.kokuvil-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(2,12,25,.92);
  backdrop-filter:blur(5px);
}
.kokuvil-lightbox.open{display:flex}
.kokuvil-lightbox-stage{
  position:relative;
  width:min(94vw,1500px);
  height:min(90vh,1000px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.kokuvil-lightbox-img{
  display:block;
  max-width:100%;
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  background:#fff;
  box-shadow:0 22px 70px rgba(0,0,0,.45);
  cursor:default;
}
.kokuvil-lightbox-close,
.kokuvil-lightbox-prev,
.kokuvil-lightbox-next{
  position:absolute;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(7,38,75,.78);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  transition:background .18s ease, transform .18s ease;
}
.kokuvil-lightbox-close:hover,
.kokuvil-lightbox-prev:hover,
.kokuvil-lightbox-next:hover{background:#0a5aa5;transform:scale(1.04)}
.kokuvil-lightbox-close{
  top:0;
  right:0;
  width:46px;
  height:46px;
  border-radius:50%;
  font-size:27px;
  line-height:1;
}
.kokuvil-lightbox-prev,.kokuvil-lightbox-next{
  top:50%;
  width:48px;
  height:64px;
  border-radius:12px;
  transform:translateY(-50%);
  font-size:31px;
}
.kokuvil-lightbox-prev:hover,.kokuvil-lightbox-next:hover{transform:translateY(-50%) scale(1.04)}
.kokuvil-lightbox-prev{left:0}.kokuvil-lightbox-next{right:0}
.kokuvil-lightbox-caption{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  max-width:78%;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  color:#fff;
  text-align:center;
  font-size:13px;
  line-height:1.35;
}
.kokuvil-lightbox-counter{
  position:absolute;
  top:7px;
  left:50%;
  transform:translateX(-50%);
  color:#fff;
  background:rgba(0,0,0,.45);
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}
body.lightbox-open{overflow:hidden}
@media(max-width:680px){
  .kokuvil-lightbox{padding:10px}
  .kokuvil-lightbox-stage{width:100%;height:94vh}
  .kokuvil-lightbox-img{max-height:82vh;border-radius:7px}
  .kokuvil-lightbox-close{top:4px;right:4px;width:42px;height:42px}
  .kokuvil-lightbox-prev,.kokuvil-lightbox-next{width:42px;height:58px;background:rgba(7,38,75,.7)}
  .kokuvil-lightbox-prev{left:3px}.kokuvil-lightbox-next{right:3px}
  .kokuvil-lightbox-caption{bottom:6px;max-width:90%;font-size:11px}
}

/* V13 Gallery albums / folders */
.album-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:22px;margin:26px 0 34px}.album-card{display:block;background:#fff;border:1px solid #dce7f6;border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(25,67,120,.08);transition:.2s transform,.2s box-shadow}.album-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(25,67,120,.14)}.album-cover{position:relative;aspect-ratio:4/3;background:#eef4fb;overflow:hidden}.album-cover img{width:100%;height:100%;object-fit:cover;display:block}.album-count{position:absolute;right:12px;bottom:12px;background:rgba(7,45,91,.9);color:#fff;padding:7px 10px;border-radius:999px;font-size:.86rem;font-weight:700}.album-info{padding:16px 17px 18px}.album-info h3{margin:0 0 7px;color:#123f73;font-size:1.05rem}.album-info p{min-height:1.2em;margin:0 0 12px;color:#6b7788}.album-info span{font-weight:800;color:#1769aa}.album-back{display:inline-block;margin-bottom:10px;color:#0b5fa5;font-weight:800;text-decoration:none}.legacy-gallery{margin-top:34px}.legacy-gallery>h3{color:#123f73}.admin-album-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:22px}.admin-album-card{background:#fff;border:1px solid #dde5ef;border-radius:14px;overflow:hidden;display:grid;grid-template-columns:120px 1fr;box-shadow:0 5px 18px rgba(0,0,0,.05)}.admin-album-card img{width:120px;height:120px;object-fit:cover}.admin-album-card>div{padding:12px}.admin-album-card h3{margin:0 0 6px}.admin-album-card p{margin:0 0 10px;color:#687586}.admin-message{padding:12px 14px;border-radius:10px;margin:12px 0}.admin-message.success{background:#eaf8ef;color:#176b37}.admin-message.error{background:#fff0f0;color:#9d2424}

/* V14 colourful gallery — exactly 3 album folders per row on desktop */
.gallery-page-hero{
  position:relative;overflow:hidden;display:flex;align-items:center;gap:22px;
  margin-bottom:28px;padding:28px 30px!important;border:0!important;
  background:linear-gradient(120deg,#063d7c 0%,#0879bf 58%,#10a8b7 100%)!important;
  color:#fff!important;border-radius:22px!important;
  box-shadow:0 14px 36px rgba(6,61,124,.18)
}
.gallery-page-hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-50px;top:-75px;background:rgba(255,214,68,.22)}
.gallery-heading-icon{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 74px;width:74px;height:74px;border-radius:20px;background:linear-gradient(145deg,#ffd85c,#ff9c37);font-size:34px;box-shadow:0 10px 24px rgba(0,0,0,.16)}
.gallery-page-hero>div:last-child{position:relative;z-index:1}
.gallery-eyebrow{display:inline-block;margin-bottom:3px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#ffe37b}
.gallery-page-hero h2{margin:0 0 5px!important;color:#fff!important;font-size:clamp(25px,3vw,38px)!important}
.gallery-page-hero p{margin:0!important;color:#eaf8ff!important;max-width:780px;line-height:1.55}

.album-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;margin:26px 0 38px!important
}
.album-card{
  position:relative;display:block;background:#fff;border:0!important;border-radius:20px!important;
  overflow:hidden;text-decoration:none;color:inherit;
  box-shadow:0 10px 30px rgba(25,67,120,.12)!important;
  transition:transform .22s ease,box-shadow .22s ease
}
.album-card:nth-child(6n+1){border-bottom:5px solid #0879bf!important}
.album-card:nth-child(6n+2){border-bottom:5px solid #e44868!important}
.album-card:nth-child(6n+3){border-bottom:5px solid #e6a11c!important}
.album-card:nth-child(6n+4){border-bottom:5px solid #19a477!important}
.album-card:nth-child(6n+5){border-bottom:5px solid #7859c8!important}
.album-card:nth-child(6n+6){border-bottom:5px solid #e56b32!important}
.album-card:hover{transform:translateY(-7px)!important;box-shadow:0 18px 42px rgba(25,67,120,.2)!important}
.album-cover{position:relative;aspect-ratio:16/10!important;background:linear-gradient(135deg,#eaf4ff,#f9fbff);overflow:hidden}
.album-cover:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(3,31,63,.58));pointer-events:none}
.album-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.album-card:hover .album-cover img{transform:scale(1.055)}
.album-count{z-index:2;right:12px!important;bottom:12px!important;background:#fff!important;color:#073e78!important;padding:7px 11px!important;border-radius:999px!important;font-size:.82rem!important;font-weight:900!important;box-shadow:0 4px 14px rgba(0,0,0,.14)}
.album-info{padding:17px 18px 19px!important;background:linear-gradient(180deg,#fff,#f9fcff)}
.album-info h3{margin:0 0 7px!important;color:#0b477e!important;font-size:1.08rem!important;line-height:1.35}
.album-info p{min-height:1.2em;margin:0 0 12px!important;color:#718095!important;font-size:.9rem}
.album-info span{display:inline-flex;align-items:center;gap:5px;font-weight:900!important;color:#0871b5!important;font-size:.9rem}
.legacy-gallery{padding-top:6px}.legacy-gallery>h3{padding:12px 16px;border-left:5px solid #e6a11c;background:#fff8e7;border-radius:0 12px 12px 0;color:#123f73!important}

@media(max-width:900px){
  .album-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
}
@media(max-width:580px){
  .gallery-page-hero{padding:20px 18px!important;gap:13px;border-radius:16px!important}
  .gallery-heading-icon{flex-basis:54px;width:54px;height:54px;border-radius:15px;font-size:25px}
  .gallery-page-hero p{font-size:13px}
  .album-grid{grid-template-columns:1fr!important;gap:17px!important}
  .album-cover{aspect-ratio:16/9!important}
}

/* V15 Homepage photo albums — latest 6, 3 per row */
.home-gallery-panel .blue-panel-head h3{display:flex;align-items:center;gap:7px}
.home-album-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  padding:16px;
}
.home-album-card{
  display:block;
  min-width:0;
  overflow:hidden;
  border-radius:14px;
  background:#fff;
  border:1px solid #d9e7f4;
  color:inherit;
  text-decoration:none;
  box-shadow:0 5px 16px rgba(18,67,115,.08);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.home-album-card:nth-child(6n+1){border-bottom:4px solid #0879bf}
.home-album-card:nth-child(6n+2){border-bottom:4px solid #e44868}
.home-album-card:nth-child(6n+3){border-bottom:4px solid #e6a11c}
.home-album-card:nth-child(6n+4){border-bottom:4px solid #19a477}
.home-album-card:nth-child(6n+5){border-bottom:4px solid #7859c8}
.home-album-card:nth-child(6n+6){border-bottom:4px solid #e56b32}
.home-album-card:hover{
  transform:translateY(-4px);
  border-color:#a8cbe8;
  box-shadow:0 10px 24px rgba(18,67,115,.16);
}
.home-album-cover{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden;
  background:linear-gradient(135deg,#eaf4ff,#f7fbff);
}
.home-album-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .3s ease;
}
.home-album-card:hover .home-album-cover img{transform:scale(1.05)}
.home-album-count{
  position:absolute;
  right:8px;
  bottom:8px;
  z-index:2;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(4,54,104,.9);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.home-album-info{
  padding:10px 11px 11px;
  background:linear-gradient(180deg,#fff,#f9fcff);
}
.home-album-info strong{
  display:block;
  min-height:2.7em;
  overflow:hidden;
  color:#0d477e;
  font-size:13px;
  line-height:1.35;
}
.home-album-info small{
  display:block;
  margin-top:6px;
  color:#0871b5;
  font-size:11px;
  font-weight:800;
}
.home-album-empty{
  margin:16px;
  padding:24px;
  text-align:center;
  border:2px dashed #cbdceb;
  border-radius:14px;
  background:#f8fbfe;
}
.home-album-empty>span{display:block;font-size:34px}
.home-album-empty p{margin:8px 0;color:#65788d}
.home-album-empty a{color:#0871b5;font-weight:800;text-decoration:none}
@media(max-width:760px){
  .home-album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:12px}
}
@media(max-width:460px){
  .home-album-grid{grid-template-columns:1fr;gap:12px}
  .home-album-info strong{min-height:auto}
}

/* =========================================================
   V16 MODERN SHARED ADMIN PANEL
   ========================================================= */
.admin-body-v16{margin:0;background:#f3f7fb;color:#18324a;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.admin-v16-shell{min-height:100vh;display:flex}
.admin-v16-sidebar{position:fixed;inset:0 auto 0 0;width:250px;z-index:100;background:linear-gradient(180deg,#073d78 0%,#052d5b 72%,#041f41 100%);color:#fff;display:flex;flex-direction:column;box-shadow:8px 0 28px rgba(4,36,74,.11)}
.admin-v16-brand{height:84px;display:flex;align-items:center;gap:11px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.admin-v16-brand img{width:52px;height:52px;object-fit:contain;border-radius:50%;background:#fff;padding:2px}
.admin-v16-brand strong{display:block;font-size:18px;letter-spacing:.06em}.admin-v16-brand small{display:block;color:#bcd7ee;margin-top:2px}
.admin-v16-nav{padding:15px 11px;display:flex;flex-direction:column;gap:5px;overflow:auto}
.admin-v16-nav a{display:flex;align-items:center;gap:11px;min-height:46px;padding:6px 11px;color:#d9ebfa;text-decoration:none;border-radius:11px;font-size:14px;transition:.18s}
.admin-v16-nav a span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.08);font-size:15px}
.admin-v16-nav a:hover{background:rgba(255,255,255,.1);color:#fff}.admin-v16-nav a.active{background:#fff;color:#07417d;box-shadow:0 8px 20px rgba(0,0,0,.14)}.admin-v16-nav a.active span{background:#e6f2fc}
.admin-v16-sidebottom{margin-top:auto;padding:14px 12px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:5px}
.admin-v16-sidebottom a{color:#cfe5f7;text-decoration:none;padding:10px 12px;border-radius:9px}.admin-v16-sidebottom a:hover{background:rgba(255,255,255,.09)}
.admin-v16-work{width:calc(100% - 250px);margin-left:250px;min-height:100vh;display:flex;flex-direction:column}
.admin-v16-topbar{height:72px;position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid #e2ebf3;display:flex;align-items:center;padding:0 25px;gap:14px}
.admin-v16-topbar>div:nth-child(2){flex:1}.admin-v16-topbar strong{display:block;color:#163d65;font-size:15px}.admin-v16-topbar small{display:block;color:#8191a1;font-size:11px;margin-top:2px}
.admin-v16-user{display:flex;align-items:center;gap:8px}.admin-v16-user>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#0876bd,#19a6b3);color:#fff;font-weight:900}.admin-v16-user b{font-size:12px}.admin-menu-btn{display:none;border:0;background:#eaf3fa;width:40px;height:40px;border-radius:10px;color:#07518f;font-size:20px;cursor:pointer}
.admin-v16-main{padding:27px;flex:1;min-width:0}.admin-v16-footer{display:flex;justify-content:space-between;padding:16px 27px;border-top:1px solid #e2ebf3;color:#77899a;font-size:12px}.admin-v16-footer a{color:#0870b2;text-decoration:none}
.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.admin-page-head h1{margin:0;color:#103f70;font-size:clamp(24px,3vw,34px)}.admin-page-head p{margin:5px 0 0;color:#708399}.admin-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-primary-btn,.admin-secondary-btn,.admin-danger-btn,.admin-approve-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 16px;border-radius:10px;border:0;text-decoration:none;font:inherit;font-size:13px;font-weight:800;cursor:pointer;box-sizing:border-box}
.admin-primary-btn{background:linear-gradient(135deg,#0869ad,#0789ba);color:#fff;box-shadow:0 7px 16px rgba(6,102,169,.18)}.admin-primary-btn:hover{filter:brightness(.96);color:#fff}.admin-primary-btn b{background:#fff;color:#0867a9;border-radius:999px;padding:2px 6px}
.admin-secondary-btn{background:#eef4f9;color:#245374;border:1px solid #d5e3ee}.admin-danger-btn{background:#fff0f2;color:#a62239;border:1px solid #f1ccd2}.admin-approve-btn{background:linear-gradient(135deg,#178953,#14ad73);color:#fff;min-height:46px;padding:0 20px}
.admin-card{background:#fff;border:1px solid #e1eaf2;border-radius:17px;padding:20px;margin-bottom:20px;box-shadow:0 7px 25px rgba(18,62,102,.055)}
.admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:17px}.admin-card-head h2,.admin-card-head h3{margin:0;color:#164873}.admin-card-head p{margin:4px 0 0;color:#7c8e9e;font-size:12px}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:20px}.admin-kpi{display:flex;align-items:center;gap:12px;padding:17px;background:#fff;border:1px solid #e1eaf2;border-radius:15px;text-decoration:none;color:inherit;box-shadow:0 5px 20px rgba(17,67,109,.05);transition:.18s}.admin-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(17,67,109,.09)}.admin-kpi>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#e7f4ff,#eafbf7);font-size:20px}.admin-kpi b{display:block;color:#0c4a7c;font-size:22px}.admin-kpi small{color:#7b8d9c}
.admin-v16-grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.admin-count-pill{padding:5px 9px;border-radius:999px;background:#fff1d9;color:#9d6500;font-weight:900}.admin-recent-list{display:grid}.admin-recent-list a{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;padding:11px 2px;border-top:1px solid #edf2f6}.admin-recent-list a:first-child{border-top:0}.admin-recent-list a div{flex:1;min-width:0}.admin-recent-list b{display:block;color:#234968;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-recent-list small{color:#8493a1}.admin-recent-list em{font-style:normal;font-size:10px;text-transform:uppercase;color:#698096}.status-dot{width:9px;height:9px;border-radius:50%;background:#9aa}.status-dot.pending{background:#e9a326}.status-dot.approved{background:#1ba36c}.status-dot.rejected{background:#d8495b}
.admin-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.admin-quick-actions a{padding:13px;background:#f6f9fc;border:1px solid #e1eaf2;border-radius:10px;text-decoration:none;color:#265778;font-weight:700;font-size:12px}.admin-quick-actions a:hover{background:#edf6fc}
.admin-flash{padding:12px 15px;border-radius:11px;margin:0 0 16px;font-weight:700;font-size:13px}.admin-flash.success{background:#eaf8f1;color:#167247;border:1px solid #cfeada}.admin-flash.error{background:#fff0f2;color:#9c273c;border:1px solid #f0ccd3}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.admin-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-editor-form .field{margin-bottom:15px}.admin-editor-form label,.admin-card .field label{display:block;margin-bottom:6px;color:#3b5b75;font-size:12px;font-weight:800}.admin-editor-form input:not([type=checkbox]):not([type=radio]),.admin-editor-form select,.admin-editor-form textarea,.admin-card .field input:not([type=checkbox]):not([type=radio]),.admin-card .field select,.admin-card .field textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #cfdeea;border-radius:10px;background:#fbfdff;color:#213d54;outline:none;font:inherit}.admin-editor-form input:focus,.admin-editor-form select:focus,.admin-editor-form textarea:focus{border-color:#69a8d5;box-shadow:0 0 0 3px rgba(40,136,201,.09)}.admin-editor-form textarea{min-height:115px;resize:vertical}.admin-big-text{min-height:220px!important}.check-label{padding-top:30px}.check-label input{margin-right:6px}
.admin-form-actions{display:flex;gap:9px;align-items:center;margin-top:8px}.admin-media-editor{display:flex;gap:18px;align-items:flex-end}.admin-current-photo{display:flex;align-items:center;gap:10px;margin-bottom:15px}.admin-current-photo img{width:110px;height:80px;object-fit:cover;border-radius:10px;border:1px solid #dbe6ef}.admin-current-photo label{font-size:12px;color:#8c3544}
.admin-modern-table{width:100%;border-collapse:collapse}.admin-modern-table th{background:#f5f9fc;color:#668197;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:11px;border-bottom:1px solid #e1eaf2}.admin-modern-table td{padding:11px;border-bottom:1px solid #edf2f6;vertical-align:middle;font-size:13px}.admin-modern-table tr:last-child td{border-bottom:0}.admin-table-wrap{overflow:auto}.admin-item-title{display:flex;align-items:center;gap:9px;min-width:190px}.admin-item-title img{width:45px;height:45px;object-fit:cover;border-radius:9px}.admin-item-title b{color:#214c6e}.admin-item-title small{display:block;color:#8a99a5;margin-top:2px}.admin-tag{display:inline-block;padding:4px 7px;border-radius:999px;background:#edf5fb;color:#25618b;font-size:10px;font-weight:800;text-transform:uppercase}.admin-row-actions{display:flex;gap:6px;align-items:center}.admin-row-actions a,.admin-row-actions button,.album-actions a,.album-actions button{border:0;background:#eef5fa;color:#22608c;padding:6px 9px;border-radius:7px;text-decoration:none;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.admin-row-actions form,.album-actions form{display:inline;margin:0}.admin-row-actions button,.album-actions button{background:#fff0f2;color:#a72d43}
.admin-filter-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.admin-card-head .admin-filter-row{margin-bottom:0}.admin-filter-row a{padding:6px 9px;border-radius:8px;background:#f1f6fa;color:#4c6c84;text-decoration:none;font-size:11px;font-weight:800}.admin-filter-row a.active{background:#0a6ba9;color:#fff}
.admin-primary-mini{display:inline-block;padding:7px 10px;border-radius:8px;background:#0a72b3!important;color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:800}
.admin-dropzone{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;min-height:135px;margin:6px 0 14px;padding:18px;border:2px dashed #a9c9df!important;border-radius:14px;background:linear-gradient(135deg,#f5fbff,#f7fffc);text-align:center;cursor:pointer}.admin-dropzone:hover{border-color:#4e99c7!important;background:#eff9ff}.admin-dropzone>span{font-size:30px}.admin-dropzone>b{color:#175885;margin-top:5px}.admin-dropzone>small{color:#8295a3;margin-top:4px}.admin-dropzone input{position:absolute;opacity:0;inset:0;width:100%;cursor:pointer}
.admin-upload-preview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:12px 0}.upload-preview-card{position:relative;display:block;border:2px solid transparent;border-radius:11px;overflow:hidden;background:#edf4f8;cursor:pointer}.upload-preview-card.cover{border-color:#e8ae26;box-shadow:0 0 0 3px rgba(232,174,38,.15)}.upload-preview-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.upload-preview-card input{position:absolute;opacity:0}.upload-preview-card span{display:block;padding:5px;text-align:center;font-size:10px;font-weight:800;color:#4f6678}.upload-preview-card.cover span{color:#9b6c00;background:#fff6d9}
.admin-v16-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-v16-album{border:1px solid #dce7ef;border-radius:14px;overflow:hidden;background:#fff}.admin-v16-album .cover{position:relative;aspect-ratio:16/9;overflow:hidden;background:#eef4f8}.admin-v16-album .cover img{width:100%;height:100%;object-fit:cover}.admin-v16-album .cover span{position:absolute;right:8px;bottom:8px;background:rgba(5,57,104,.9);color:#fff;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.admin-v16-album .info{padding:12px}.admin-v16-album h3{margin:0 0 5px;color:#174d77;font-size:14px}.admin-v16-album p{margin:0 0 10px;color:#80909c;font-size:11px}.album-actions{display:flex;gap:5px;flex-wrap:wrap}
.admin-photo-manager{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.admin-photo-manager article{border:2px solid #e2eaf0;border-radius:12px;overflow:hidden;background:#fff}.admin-photo-manager article.is-cover{border-color:#e5aa24;box-shadow:0 0 0 3px rgba(229,170,36,.12)}.photo-wrap{position:relative;aspect-ratio:1;overflow:hidden;background:#eef3f7}.photo-wrap img{width:100%;height:100%;object-fit:cover}.photo-wrap span{position:absolute;left:6px;top:6px;padding:4px 6px;border-radius:6px;background:#f5b927;color:#4d3400;font-size:9px;font-weight:900}.photo-actions{padding:7px}.photo-actions form{display:flex;gap:4px;flex-wrap:wrap}.photo-actions button{border:0;border-radius:6px;padding:5px 7px;background:#edf5fb;color:#205e8a;font-size:10px;font-weight:800;cursor:pointer}.photo-actions button.danger{background:#fff0f2;color:#aa2941}
.admin-v16-substats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important;margin-bottom:20px!important}.admin-v16-substats a{border-radius:13px!important;border:1px solid #e0e9f1!important;box-shadow:none!important}.admin-review-card fieldset{border:0;padding:0;margin:0;min-width:0}.admin-review-card fieldset:disabled{opacity:.72}.admin-lock-note{padding:12px 14px;margin-bottom:16px;border-radius:10px;background:#eaf7f0;color:#236546;font-size:12px}.admin-lock-note a{font-weight:900;color:#11754a}.admin-review-photos{border-top:1px solid #e8eef3;margin-top:20px;padding-top:18px}.admin-review-actions-v16{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #e7edf2;margin-top:20px;padding-top:17px}.admin-review-actions-v16 form{display:flex;gap:7px}.admin-review-actions-v16 button{font-family:inherit}
@media(max-width:1250px){.admin-kpi-grid{grid-template-columns:repeat(3,1fr)}.admin-photo-manager{grid-template-columns:repeat(4,1fr)}.admin-upload-preview{grid-template-columns:repeat(5,1fr)}}
@media(max-width:980px){.admin-v16-sidebar{transform:translateX(-100%);transition:.22s}.admin-v16-sidebar.open{transform:translateX(0)}.admin-v16-work{width:100%;margin-left:0}.admin-menu-btn{display:block}.admin-v16-main{padding:20px}.admin-v16-grid-2{grid-template-columns:1fr}.admin-v16-album-grid{grid-template-columns:repeat(2,1fr)}.admin-photo-manager{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.admin-v16-main{padding:14px}.admin-v16-topbar{padding:0 13px}.admin-v16-user div{display:none}.admin-page-head{flex-direction:column}.admin-form-grid,.admin-form-grid.three,.admin-form-grid.four{grid-template-columns:1fr}.admin-kpi-grid{grid-template-columns:repeat(2,1fr)}.admin-v16-album-grid{grid-template-columns:1fr}.admin-photo-manager{grid-template-columns:repeat(2,1fr)}.admin-upload-preview{grid-template-columns:repeat(3,1fr)}.admin-review-actions-v16{align-items:stretch;flex-direction:column}.admin-review-actions-v16 form{width:100%;flex-wrap:wrap}.admin-review-actions-v16 button,.admin-review-actions-v16 a{flex:1}.admin-v16-footer{flex-direction:column;gap:5px}.admin-quick-actions{grid-template-columns:1fr}.admin-media-editor{display:block}}

/* V16 admin login */
.admin-login-v16{margin:0;min-height:100vh;background:linear-gradient(135deg,#052e5c,#087ab7 58%,#13a89b);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.admin-login-shell{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;max-width:1080px;margin:auto;padding:30px;box-sizing:border-box;gap:50px}
.admin-login-brand{color:#fff;text-align:center}.admin-login-brand img{width:170px;height:170px;object-fit:contain;background:#fff;border-radius:50%;padding:5px;box-shadow:0 20px 50px rgba(0,0,0,.18)}.admin-login-brand h1{font-size:42px;letter-spacing:.12em;margin:15px 0 3px}.admin-login-brand p{margin:0;font-size:17px;color:#d9eff9}.admin-login-brand small{display:block;margin-top:12px;color:#ffe58b;font-weight:800}
.admin-login-card{background:rgba(255,255,255,.98);border-radius:22px;padding:34px;box-shadow:0 25px 70px rgba(0,0,0,.22)}.admin-login-card h2{margin:4px 0;color:#133f68;font-size:29px}.admin-login-card p{color:#7890a2;margin:0 0 22px}.login-kicker{font-size:10px;letter-spacing:.14em;color:#0a84b3;font-weight:900}.admin-login-card .field{margin:14px 0}.admin-login-card label{display:block;margin-bottom:6px;color:#405c73;font-size:12px;font-weight:800}.admin-login-card input{width:100%;box-sizing:border-box;padding:13px;border:1px solid #cfdde7;border-radius:10px;font:inherit;outline:none}.admin-login-card input:focus{border-color:#57a4cf;box-shadow:0 0 0 3px rgba(48,146,197,.1)}.admin-login-card .admin-primary-btn{width:100%;margin-top:6px}.admin-login-back{display:block;text-align:center;margin-top:16px;color:#577991;text-decoration:none;font-size:12px;font-weight:700}
@media(max-width:760px){.admin-login-shell{grid-template-columns:1fr;padding:20px;gap:20px}.admin-login-brand img{width:100px;height:100px}.admin-login-brand h1{font-size:29px}.admin-login-brand p{font-size:13px}.admin-login-card{padding:24px}}

/* V17 destructive submission deletion */
.admin-delete-all-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:42px;padding:0 15px;border:1px solid #bb243d;border-radius:10px;
  background:linear-gradient(135deg,#b91f3b,#8f1730);color:#fff;
  font:inherit;font-size:12px;font-weight:900;cursor:pointer;
  box-shadow:0 6px 15px rgba(159,28,52,.18)
}
.admin-delete-all-btn:hover{filter:brightness(.94)}
.admin-row-actions button.admin-delete-inline{background:#a91e36;color:#fff}
@media(max-width:700px){.admin-delete-all-btn{width:100%}}

/* V18 translation settings */
.admin-setting-help{margin:0;color:#61788c;line-height:1.65;font-size:13px}
.admin-setting-help code{padding:3px 6px;border-radius:6px;background:#eef5fa;color:#175784;font-weight:800}

/* V19 multi-category posts */
.admin-category-checks{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-top:8px
}
.admin-category-chip{
  display:flex!important;
  align-items:center;
  gap:9px;
  min-height:58px;
  margin:0!important;
  padding:9px 10px;
  box-sizing:border-box;
  border:1px solid #d9e6ef;
  border-radius:11px;
  background:#f8fbfd;
  cursor:pointer;
  transition:.16s;
}
.admin-category-chip:hover{border-color:#75add1;background:#f0f9ff}
.admin-category-chip input{width:17px;height:17px;accent-color:#0a73b3}
.admin-category-chip span{min-width:0}
.admin-category-chip b{display:block;color:#224f70;font-size:12px}
.admin-category-chip small{display:block;color:#8192a0;font-size:10px;margin-top:2px}
.admin-category-note,.field-help{display:block;margin:7px 0 0;color:#71879a;font-size:11px;line-height:1.55}
.admin-list-categories{display:flex;gap:4px;flex-wrap:wrap;max-width:280px}

.post-category-badges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px}
.post-category-badges span{
  display:inline-block;
  padding:3px 7px;
  border-radius:999px;
  background:#eaf5fd;
  color:#1a6190;
  font-size:9px;
  font-weight:900
}

.gallery-update-photos{
  margin:38px 0 10px;
  padding:22px;
  border-radius:20px;
  background:linear-gradient(135deg,#f0f8ff,#fff9ed);
  border:1px solid #dfeaf2
}
.gallery-update-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px
}
.gallery-update-head>div>span{font-size:24px}
.gallery-update-head h3{margin:3px 0;color:#104c7c}
.gallery-update-head p{margin:3px 0 0;color:#718393;font-size:12px}
.gallery-update-head>a{
  flex:0 0 auto;
  padding:8px 11px;
  border-radius:9px;
  background:#0b73b3;
  color:#fff;
  text-decoration:none;
  font-size:11px;
  font-weight:900
}
.gallery-news-photo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px
}
.gallery-news-photo-card{
  overflow:hidden;
  border-radius:12px;
  background:#fff;
  border:1px solid #dce7ef;
  text-decoration:none;
  color:inherit;
  box-shadow:0 5px 14px rgba(20,69,107,.06)
}
.gallery-news-photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery-news-photo-card strong{
  display:block;
  padding:9px 10px;
  color:#18517c;
  font-size:11px;
  line-height:1.4
}
@media(max-width:1000px){
  .admin-category-checks{grid-template-columns:repeat(3,1fr)}
  .gallery-news-photo-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .admin-category-checks{grid-template-columns:repeat(2,1fr)}
  .gallery-news-photo-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-update-head{flex-direction:column}
}
@media(max-width:430px){
  .admin-category-checks{grid-template-columns:1fr}
}

/* V20 special Memorial / Birthday / Wedding pages. Shared site header/footer unchanged. */
.memorial-rest-page{max-width:1200px}
.rip-hero{text-align:center;padding:42px 20px 35px;margin-bottom:26px;border-radius:22px;background:linear-gradient(180deg,#f9fafb,#eef1f3);border:1px solid #dce1e5;box-shadow:0 8px 25px rgba(28,42,53,.05)}
.rip-dove{font-size:45px;filter:grayscale(1);margin-bottom:5px}.rip-hero>span{display:block;font-size:10px;letter-spacing:.2em;font-weight:900;color:#777}.rip-hero h2{margin:7px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,4vw,45px);font-weight:500;color:#30363b}.rip-hero p{max-width:720px;margin:auto;color:#697177;line-height:1.75;font-size:13px}.rip-line{display:flex;align-items:center;justify-content:center;gap:10px;max-width:300px;margin:19px auto 0;color:#8c9499}.rip-line i{height:1px;background:#c8ced2;flex:1}
.rip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.rip-card{overflow:hidden;background:#fff;border:1px solid #d9dfe3;border-radius:17px;box-shadow:0 8px 25px rgba(32,46,57,.07);text-align:center}.rip-photo-wrap{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#eceff1,#fafafa);overflow:hidden}.rip-photo-wrap img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.rip-photo-placeholder{height:100%;display:grid;place-items:center;font-size:65px;filter:grayscale(1)}.rip-ribbon{position:absolute;top:12px;left:12px;background:rgba(38,42,45,.86);color:#fff;padding:5px 9px;border-radius:999px;font-size:8px;letter-spacing:.12em;font-weight:900}.rip-card-body{padding:19px 18px 17px}.rip-small{font-size:9px;letter-spacing:.12em;color:#8b9297;font-weight:900}.rip-card h3{font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:500;color:#31383d;margin:7px 0}.rip-dates{display:flex;justify-content:center;gap:7px;color:#747d83;font-size:10px;margin-bottom:11px}.rip-card p{color:#687178;line-height:1.65;font-size:12px;margin:10px 0}.rip-candle-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:15px;filter:grayscale(.8)}.rip-candle-row i{height:1px;width:35px;background:#d8dcdf}.rip-empty{text-align:center;padding:55px;background:#f7f8f9;border-radius:16px;color:#777}.rip-empty span{font-size:42px;filter:grayscale(1)}

.special-life-page{max-width:1200px}.life-hero{display:flex;align-items:center;justify-content:center;gap:20px;text-align:left;padding:34px;margin-bottom:25px;border-radius:22px;border:1px solid #eadfca;box-shadow:0 8px 25px rgba(77,55,26,.06)}.birthday-page .life-hero{background:linear-gradient(135deg,#fff8e9,#fff1f6)}.wedding-page .life-hero{background:linear-gradient(135deg,#fff9f4,#fdf2f3)}.life-hero-icon{font-size:52px}.life-kicker{font-size:9px;letter-spacing:.16em;font-weight:900;color:#a27239}.life-hero h2{font-family:Georgia,"Times New Roman",serif;margin:4px 0;color:#69442d;font-size:clamp(28px,4vw,40px)}.life-hero p{margin:0;max-width:680px;color:#806e61;line-height:1.6;font-size:13px}.special-life-page .grid-3{gap:20px}.life-card{border-radius:17px;overflow:hidden;border:1px solid #eadfd5;box-shadow:0 7px 22px rgba(82,53,31,.07)}.life-card>img{aspect-ratio:4/3;object-fit:cover}.life-card .card-body{text-align:center}.life-card h4{font-family:Georgia,"Times New Roman",serif;font-size:19px;color:#69442d}.life-card .post-category-badges{justify-content:center}
@media(max-width:900px){.rip-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.rip-grid{grid-template-columns:1fr}.rip-hero{padding:30px 15px}.life-hero{padding:24px 18px;flex-direction:column;text-align:center}.life-hero-icon{font-size:43px}}

/* V21 events list + detail */
.event-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.event-summary-card{overflow:hidden;background:#fff;border:1px solid #dce6ee;border-radius:18px;box-shadow:0 8px 24px rgba(20,67,103,.07)}
.event-summary-image{position:relative;aspect-ratio:16/10;background:#eef4f8;overflow:hidden}
.event-summary-image img{width:100%;height:100%;object-fit:cover;display:block}
.event-date-badge{position:absolute;left:12px;bottom:12px;width:52px;height:52px;border-radius:12px;background:rgba(5,67,121,.92);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.event-date-badge b{font-size:18px;line-height:1}.event-date-badge small{font-size:9px;text-transform:uppercase;margin-top:3px}
.event-summary-body{padding:17px}.event-meta-row{display:flex;gap:8px;flex-wrap:wrap;color:#6f8292;font-size:10px;font-weight:800}.event-summary-card h3{margin:8px 0;color:#174e79;font-size:18px;line-height:1.35}.event-location{margin:0 0 9px;color:#557187;font-size:12px}.event-short{margin:0 0 14px;color:#697b88;line-height:1.6;font-size:12px}.event-more-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:9px;background:linear-gradient(135deg,#0b6eae,#128db5);color:#fff;text-decoration:none;font-size:11px;font-weight:900}.event-more-btn:hover{color:#fff;filter:brightness(.96)}
.event-back-link{display:inline-block;margin-bottom:15px;color:#0b6daa;text-decoration:none;font-weight:800;font-size:12px}.event-detail-card{overflow:hidden;background:#fff;border:1px solid #dce6ee;border-radius:20px;box-shadow:0 12px 35px rgba(17,61,96,.08)}.event-detail-hero{max-height:520px;overflow:hidden;background:#edf3f7}.event-detail-hero img{width:100%;max-height:520px;object-fit:cover;display:block}.event-detail-content{padding:clamp(22px,4vw,42px)}.event-detail-kicker{font-size:9px;letter-spacing:.16em;color:#0b79ae;font-weight:900}.event-detail-content h1{margin:6px 0 22px;color:#123f69;font-size:clamp(27px,4vw,42px);line-height:1.22}.event-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px}.event-detail-meta>div{display:flex;align-items:center;gap:10px;padding:13px;border-radius:12px;background:#f5f9fc;border:1px solid #e1eaf1}.event-detail-meta>div>span{font-size:20px}.event-detail-meta p{margin:0}.event-detail-meta small{display:block;color:#8192a0;font-size:9px;text-transform:uppercase}.event-detail-meta b{display:block;margin-top:2px;color:#254f6e;font-size:12px}.event-full-description{color:#455f72;font-size:14px;line-height:1.9;white-space:normal}.event-detail-actions{margin-top:28px;padding-top:20px;border-top:1px solid #e8eef2}.event-back-btn{display:inline-flex;padding:9px 12px;border-radius:9px;background:#eef5fa;color:#225e88;text-decoration:none;font-weight:800;font-size:11px}
@media(max-width:900px){.event-card-grid{grid-template-columns:repeat(2,1fr)}.event-detail-meta{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.event-card-grid{grid-template-columns:1fr}.event-detail-meta{grid-template-columns:1fr}.event-detail-content{padding:20px}}

/* V22 compact 4-column lists + shared pagination */
.grid-4,.category-list-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.category-list-grid .card{min-width:0}.category-list-grid .card>img{width:100%;aspect-ratio:16/10;object-fit:cover}.category-list-grid .card-body{padding:14px}.category-list-grid .card h4{font-size:15px;line-height:1.35;margin:6px 0}.category-list-grid .card p{font-size:11px;line-height:1.55}.category-list-grid .card small{font-size:10px}
.event-card-grid.event-card-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.event-card-grid-4 .event-summary-card h3{font-size:15px}.event-card-grid-4 .event-summary-body{padding:13px}.event-card-grid-4 .event-short{font-size:11px;line-height:1.5}.event-card-grid-4 .event-summary-image{aspect-ratio:16/9}.event-card-grid-4 .event-date-badge{width:46px;height:46px}
.rip-grid.rip-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.rip-grid-4 .rip-card-body{padding:15px}.rip-grid-4 .rip-card h3{font-size:18px}.rip-grid-4 .rip-card p{font-size:11px}
.directory-grid.directory-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.directory-grid-4 .directory-card{min-width:0}
.site-pagination{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin:34px 0 12px}.site-pagination a,.site-pagination>span{min-width:38px;height:38px;box-sizing:border-box;padding:0 10px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d4e2ec;background:#fff;color:#245d85;text-decoration:none;font-size:12px;font-weight:800;box-shadow:0 3px 10px rgba(28,73,107,.05)}.site-pagination a:hover{background:#eef7fd;border-color:#8ab9d7}.site-pagination .active{background:linear-gradient(135deg,#086bad,#1192bb);color:#fff;border-color:#0875b4}.site-pagination .disabled{opacity:.42;cursor:not-allowed}.site-pagination .page-dots{border:0;box-shadow:none;background:transparent;min-width:24px}.site-pagination .page-prev,.site-pagination .page-next{padding:0 13px}
@media(max-width:1100px){.grid-4,.category-list-grid,.event-card-grid.event-card-grid-4,.rip-grid.rip-grid-4,.directory-grid.directory-grid-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.grid-4,.category-list-grid,.event-card-grid.event-card-grid-4,.rip-grid.rip-grid-4,.directory-grid.directory-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grid-4,.category-list-grid,.event-card-grid.event-card-grid-4,.rip-grid.rip-grid-4,.directory-grid.directory-grid-4{grid-template-columns:1fr}.site-pagination .page-prev span,.site-pagination .page-next span{display:none}}

/* V23 homepage compact memorial card under weather */
.home-memorial-card{overflow:hidden}
.home-memorial-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.home-memorial-head h3{margin:0!important}
.home-memorial-head>a{font-size:9px;font-weight:900;color:#6b747b;text-decoration:none}
.home-memorial-list{display:flex;flex-direction:column;gap:8px}
.home-memorial-item{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #e0e4e7;border-radius:11px;background:linear-gradient(135deg,#fafafa,#f3f5f6);text-decoration:none;transition:.15s}
.home-memorial-item:hover{background:#eef1f3;border-color:#cbd2d7}
.home-memorial-photo{flex:0 0 54px;width:54px;height:54px;border-radius:50%;overflow:hidden;background:#e9edef;display:grid;place-items:center;filter:grayscale(.25)}
.home-memorial-photo img{width:100%;height:100%;object-fit:cover;display:block}
.home-memorial-photo span{font-size:23px;filter:grayscale(1)}
.home-memorial-item>div:last-child{min-width:0}
.home-memorial-item small{display:block;color:#8b9297;font-size:7px;letter-spacing:.06em;font-weight:900}
.home-memorial-item strong{display:block;margin:2px 0;color:#39444b;font-family:Georgia,"Times New Roman",serif;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-memorial-item em{display:block;color:#7b848a;font-size:9px;font-style:normal}
.home-memorial-more{display:block;margin-top:9px;padding-top:8px;border-top:1px solid #e3e7e9;color:#606b72;text-decoration:none;font-size:9px;font-weight:900;text-align:right}
.home-memorial-empty{text-align:center;padding:13px 8px;color:#7b858b}.home-memorial-empty span{font-size:25px;filter:grayscale(1)}.home-memorial-empty p{margin:4px 0;font-size:10px}

/* V24 Homepage Achievements + Events: 6 items, 3 per row */
.home-achievement-grid,.home-event-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  padding:16px;
}
.home-achievement-card{
  display:flex;
  min-width:0;
  overflow:hidden;
  border:1px solid #e2e8ef;
  border-bottom:4px solid #d8a31f;
  border-radius:14px;
  background:linear-gradient(135deg,#fffdf7,#fff);
  color:inherit;
  text-decoration:none;
  box-shadow:0 5px 16px rgba(48,63,79,.07);
  transition:transform .2s ease,box-shadow .2s ease;
}
.home-achievement-card:hover{transform:translateY(-3px);box-shadow:0 10px 23px rgba(48,63,79,.12)}
.home-achievement-image{
  flex:0 0 92px;
  width:92px;
  min-height:112px;
  overflow:hidden;
  background:linear-gradient(135deg,#fff0b9,#fff9e5);
  display:grid;
  place-items:center;
}
.home-achievement-image img{width:100%;height:100%;object-fit:cover;display:block}
.home-achievement-image span{font-size:34px}
.home-achievement-info{padding:10px;min-width:0}
.home-achievement-info small{display:block;color:#a67910;font-size:8px;letter-spacing:.08em;font-weight:900}
.home-achievement-info strong{display:block;margin:3px 0;color:#154e79;font-size:12px;line-height:1.35}
.home-achievement-info p{margin:0 0 5px;color:#71808c;font-size:10px;line-height:1.45}
.home-achievement-info em{display:block;color:#96a1aa;font-size:8px;font-style:normal}

.home-event-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #dce7ef;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 16px rgba(20,66,102,.07);
  transition:transform .2s ease,box-shadow .2s ease;
}
.home-event-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(20,66,102,.13)}
.home-event-image{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:linear-gradient(135deg,#eaf4fb,#f8fbfd);
  text-decoration:none;
}
.home-event-image>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .28s ease}
.home-event-card:hover .home-event-image>img{transform:scale(1.04)}
.home-event-image>span{height:100%;display:grid;place-items:center;font-size:38px}
.home-event-date{
  position:absolute;
  left:8px;
  bottom:8px;
  width:43px;
  height:43px;
  border-radius:10px;
  background:rgba(5,67,121,.93);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-style:normal;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
}
.home-event-date strong{font-size:15px;line-height:1}
.home-event-date small{margin-top:2px;font-size:8px;text-transform:uppercase}
.home-event-info{padding:11px}
.home-event-info h4{margin:0 0 6px;font-size:13px;line-height:1.4}
.home-event-info h4 a{color:#174f7a;text-decoration:none}
.home-event-info p{margin:0 0 6px;color:#64798a;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-event-meta{display:flex;gap:6px;flex-wrap:wrap;color:#8493a0;font-size:8px;margin-bottom:8px}
.home-event-more{display:inline-flex;align-items:center;padding:6px 8px;border-radius:7px;background:#0b72b1;color:#fff;text-decoration:none;font-size:9px;font-weight:900}
.home-section-empty{text-align:center;padding:24px;color:#778995}
.home-section-empty span{display:block;font-size:31px}
.home-section-empty p{margin:5px 0;font-size:11px}

@media(max-width:1000px){
  .home-achievement-grid,.home-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .home-achievement-grid,.home-event-grid{grid-template-columns:1fr}
  .home-achievement-image{flex-basis:88px;width:88px}
}

/* V25 fix homepage memorial heading.
   Override generic .side-card h3 so the heading background does not cover only part
   of the memorial flex header. */
.home-memorial-card .home-memorial-head{
  margin:0;
  min-height:42px;
  padding:0 12px 0 14px;
  box-sizing:border-box;
  background:linear-gradient(135deg,#4d5359,#737b81);
  border-bottom:1px solid #d8dde1;
}
.home-memorial-card .home-memorial-head h3{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1.35;
  border:0!important;
}
.home-memorial-card .home-memorial-head>a{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:0 8px;
  border-radius:7px;
  background:rgba(255,255,255,.14);
  color:#fff!important;
  font-size:9px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.home-memorial-card .home-memorial-list{padding:10px 10px 0}
.home-memorial-card .home-memorial-more{margin:9px 10px 10px}
.home-memorial-card .home-memorial-empty{margin:10px}

/* V26 submit double-send protection + sending animation */
.submit-big-btn{position:relative;overflow:hidden}
.submit-big-btn:disabled{cursor:not-allowed;opacity:.88}
.submit-btn-loading{display:none;align-items:center;gap:9px}
.submit-big-btn.is-sending .submit-btn-normal{display:none}
.submit-big-btn.is-sending .submit-btn-loading{display:flex}
.submit-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:submitSpin .75s linear infinite}
@keyframes submitSpin{to{transform:rotate(360deg)}}
.submission-wizard.is-submitting{pointer-events:none;user-select:none}

.submission-sending-overlay{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  padding:20px;box-sizing:border-box;
  background:rgba(4,31,62,.68);
  backdrop-filter:blur(7px);
  opacity:0;visibility:hidden;transition:.2s;
}
.submission-sending-overlay.show{opacity:1;visibility:visible}
.sending-modal{
  width:min(440px,100%);
  padding:31px 27px;
  border-radius:22px;
  background:#fff;
  text-align:center;
  box-shadow:0 30px 90px rgba(0,0,0,.3);
  transform:translateY(12px) scale(.98);
  transition:.22s;
}
.submission-sending-overlay.show .sending-modal{transform:none}
.sending-animation{height:62px;display:flex;justify-content:center;align-items:center;gap:7px}
.sending-animation span{width:13px;height:13px;border-radius:50%;background:#0b76b6;animation:sendingBounce 1.1s infinite ease-in-out}
.sending-animation span:nth-child(2){animation-delay:.14s;background:#14a997}
.sending-animation span:nth-child(3){animation-delay:.28s;background:#e6ad26}
@keyframes sendingBounce{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-15px);opacity:1}}
.sending-modal h3{margin:7px 0;color:#124975;font-size:22px}
.sending-modal p{margin:0;color:#687f91;font-size:13px}
.sending-modal small{display:block;margin-top:10px;color:#8b99a5;font-size:10px}
.sending-progress{height:8px;margin:20px 0 0;border-radius:999px;overflow:hidden;background:#e8f0f5}
.sending-progress i{display:block;width:8%;height:100%;border-radius:999px;background:linear-gradient(90deg,#0873b4,#13aa9c,#e7af29);transition:width .3s ease}

.submission-success-v26{position:relative;overflow:hidden;text-align:center;padding:40px 28px!important}
.submission-success-v26:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-95px;top:-100px;background:rgba(22,165,104,.07)}
.success-ring{width:86px;height:86px;margin:0 auto 13px;border-radius:50%;display:grid;place-items:center;background:#e8f8f0;box-shadow:0 0 0 9px rgba(25,166,104,.07);animation:successPop .5s ease-out}
.submission-success-v26 .success-mark{margin:0!important;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#199a61,#20bd7b);color:#fff;font-size:29px}
@keyframes successPop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
.success-kicker{display:block;margin-top:16px;color:#159461;font-size:9px;letter-spacing:.15em;font-weight:900}
.submission-success-v26 h3{max-width:650px;margin:7px auto!important}
.submission-success-v26>p{max-width:650px;margin:0 auto 17px!important;line-height:1.7}
.submission-receipt{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:10px;background:#f2f7fa;border:1px solid #dce7ee;color:#60798c}
.submission-receipt span{font-size:10px}.submission-receipt strong{color:#164e78;font-size:14px}
.success-steps{max-width:440px;margin:27px auto 22px;display:flex;align-items:center;justify-content:center}
.success-steps>div{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:75px;color:#93a0aa}
.success-steps>div span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#edf1f4;font-size:11px;font-weight:900}
.success-steps>div b{font-size:9px}
.success-steps>div.done{color:#188f5e}.success-steps>div.done span{background:#1da36c;color:#fff}
.success-steps>div.active{color:#0b72ad}.success-steps>div.active span{background:#e5f4fd;color:#0871ad;box-shadow:0 0 0 5px rgba(8,113,173,.08)}
.success-steps>i{height:2px;flex:1;background:#dce5eb;margin-bottom:18px}
.success-home-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:10px;background:linear-gradient(135deg,#086cad,#0a8bb8);color:#fff!important;text-decoration:none;font-size:12px;font-weight:900}
@media(max-width:520px){.sending-modal{padding:26px 18px}.submission-success-v26{padding:30px 16px!important}.success-steps>div{min-width:58px}.success-steps>div b{font-size:8px}}

/* V27 public submit CSRF/session recovery */
.submit-error-v27{display:flex;align-items:flex-start;gap:10px}
.submit-error-v27>span{font-size:20px}
.submit-error-v27 strong{display:block}
.submit-error-v27 a{display:inline-flex;margin-top:7px;padding:6px 9px;border-radius:7px;background:#fff;color:#9b273c;text-decoration:none;font-size:10px;font-weight:900;border:1px solid rgba(155,39,60,.18)}

/* V28 homepage news stack */
.home-news-v28 .home-lead-link{color:inherit;text-decoration:none}
.home-news-v28 .home-lead-link:hover h4{color:#0b6eaa}
.home-news-kicker{display:inline-block;margin-top:3px;color:#b51d36;font-size:9px;font-weight:900;letter-spacing:.08em}
.home-news-five{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #e6edf3}
.home-news-mini{display:grid;grid-template-columns:58px 1fr 18px;align-items:center;gap:9px;padding:9px 12px;border-bottom:1px solid #edf2f6;color:inherit;text-decoration:none;background:#fff}
.home-news-mini:last-child{border-bottom:0}.home-news-mini:hover{background:#f7fbfe}
.home-news-mini-thumb{width:58px;height:44px;border-radius:7px;overflow:hidden;background:#edf4f8;display:grid;place-items:center}
.home-news-mini-thumb img{width:100%;height:100%;object-fit:cover}.home-news-mini-thumb span{font-size:20px}
.home-news-mini strong{display:block;color:#174e79;font-size:11px;line-height:1.35}.home-news-mini small{display:block;color:#8a99a5;font-size:8px;margin-top:3px}.home-news-mini>b{color:#0a72b0;font-size:18px}

/* V28 post details */
.post-card-image-link{display:block}.post-card-title-link{color:inherit;text-decoration:none}.post-card-title-link:hover{color:#0b6faa}.post-card-more{display:inline-flex;margin-top:9px;color:#0b72b0;text-decoration:none;font-size:10px;font-weight:900}
.post-detail-page{max-width:1050px}.post-back-link{display:inline-block;margin-bottom:14px;color:#0b6dab;text-decoration:none;font-size:12px;font-weight:800}
.post-detail-card{overflow:hidden;background:#fff;border:1px solid #dce6ee;border-radius:20px;box-shadow:0 12px 34px rgba(18,62,97,.08)}
.post-detail-image{max-height:600px;background:#eef3f7;overflow:hidden}.post-detail-image img{display:block;width:100%;max-height:600px;object-fit:cover}
.post-detail-content{padding:clamp(22px,4vw,44px)}.post-detail-cats{display:flex;gap:6px;flex-wrap:wrap}.post-detail-cats a{padding:5px 8px;border-radius:999px;background:#eaf5fc;color:#1a628f;text-decoration:none;font-size:9px;font-weight:900}
.post-detail-content h1{margin:12px 0 7px;color:#123f69;font-size:clamp(27px,4vw,43px);line-height:1.25}.post-detail-date{color:#7c8d99;font-size:11px;margin-bottom:25px}
.post-rich-content{color:#344f63;font-size:15px;line-height:1.9;overflow-wrap:anywhere}.post-rich-content p{margin:0 0 1.15em}.post-rich-content h2{color:#134e7c;font-size:25px;margin:1.2em 0 .5em}.post-rich-content h3{color:#1b5b86;font-size:20px;margin:1.1em 0 .45em}.post-rich-content blockquote{margin:18px 0;padding:12px 16px;border-left:4px solid #0c78b5;background:#f4f9fc;color:#4b6577}.post-rich-content ul,.post-rich-content ol{padding-left:24px}.post-detail-bottom{margin-top:28px;padding-top:18px;border-top:1px solid #e7edf2}.post-detail-bottom a{color:#0b6fae;text-decoration:none;font-weight:800;font-size:11px}

/* V28 admin rich text editor */
.rich-editor{border:1px solid #cfdeea;border-radius:12px;overflow:hidden;background:#fff}
.rich-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:8px;background:#f3f8fb;border-bottom:1px solid #dce7ef}
.rich-toolbar button,.rich-color{min-height:31px;padding:0 9px;border:1px solid #d3e1eb;border-radius:7px;background:#fff;color:#315a77;font:inherit;font-size:11px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.rich-toolbar button:hover{background:#eaf5fb}.rich-color input{width:24px;height:22px;padding:0;border:0;background:transparent;cursor:pointer}
.rich-surface{min-height:260px;padding:14px;outline:none;color:#233f53;font-size:14px;line-height:1.7}.rich-surface:focus{box-shadow:inset 0 0 0 2px rgba(46,139,196,.08)}
.rich-surface h2{font-size:23px;color:#144f7b}.rich-surface h3{font-size:19px;color:#1d5c86}.rich-hidden{display:none!important}
@media(max-width:700px){.home-news-mini{grid-template-columns:52px 1fr 14px}.home-news-mini-thumb{width:52px;height:42px}.rich-surface{min-height:200px}}

/* V30 clickable bilingual motto beside logo */
.brand-blue .brand-motto-link{
  display:block;
  width:max-content;
  max-width:100%;
  margin-top:1px;
  color:inherit;
  text-decoration:none;
}
.brand-blue .brand-motto-link .brand-motto-ta,
.brand-blue .brand-motto-link small{display:block}
.brand-blue .brand-motto-link:hover .brand-motto-ta{color:#b51d36}
.brand-blue .brand-motto-link:hover small{color:#0b6fae}

/* V31 visitor analytics */
.analytics-range{display:flex;align-items:center;gap:8px}.analytics-range label{font-size:11px;font-weight:800;color:#678095}.analytics-range select{padding:9px 12px;border:1px solid #d2e0ea;border-radius:9px;background:#fff;color:#244e6c}
.analytics-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.analytics-kpis>div{display:flex;align-items:center;gap:12px;padding:18px;background:#fff;border:1px solid #e0e9f1;border-radius:15px;box-shadow:0 6px 20px rgba(20,62,99,.05)}.analytics-kpis span{font-size:25px}.analytics-kpis strong{display:block;color:#0d4b7c;font-size:25px}.analytics-kpis small{display:block;color:#7f919f;font-size:10px}
.traffic-bars{display:grid;gap:8px}.traffic-row{display:grid;grid-template-columns:54px 1fr 36px 70px;align-items:center;gap:8px;font-size:10px}.traffic-row>span{color:#688094}.traffic-row>div{height:9px;border-radius:999px;background:#eaf1f6;overflow:hidden}.traffic-row i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0872b3,#13a99a)}.traffic-row b{color:#164f79;text-align:right}.traffic-row small{color:#8796a2;text-align:right}
.analytics-split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.analytics-split h3{margin:0 0 9px;color:#315a78;font-size:12px}.mini-stat,.referrer-list>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf2f5;font-size:11px}.mini-stat span,.referrer-list span{color:#667f91;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-stat b,.referrer-list b{color:#174e78}
.recent-visitor-list{max-height:460px;overflow:auto}.recent-visitor-list>div{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #edf2f5}.visitor-device{width:28px;text-align:center}.recent-visitor-list>div>div{flex:1;min-width:0}.recent-visitor-list b{display:block;color:#25506f;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-visitor-list small{display:block;color:#8796a2;font-size:9px;margin-top:2px}.recent-visitor-list em{font-style:normal;color:#8999a6;font-size:9px;white-space:nowrap}
.analytics-empty{padding:24px;text-align:center;color:#8798a4;font-size:11px}.analytics-privacy-note{margin-top:5px;padding:13px 15px;border-radius:11px;background:#eef6fb;color:#49697f;font-size:11px;border:1px solid #d8e8f2}
.admin-modern-table a{color:#0b6fae;text-decoration:none;font-weight:700}
@media(max-width:900px){.analytics-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.analytics-kpis{grid-template-columns:1fr}.traffic-row{grid-template-columns:48px 1fr 30px}.traffic-row small{display:none}.analytics-split{grid-template-columns:1fr}}

/* V32 manual category control + country analytics */
.manual-category-note{min-height:42px;display:flex;align-items:center;padding:0 12px;border-radius:9px;background:#eef7fc;color:#33657f;font-size:11px;font-weight:700}
.admin-category-chip:has(input:checked){border-color:#1681ba;background:#eaf7fd;box-shadow:0 0 0 2px rgba(22,129,186,.08)}
.admin-category-chip:has(input:checked) b{color:#086aa3}
.country-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
.country-analytics-row{display:grid;grid-template-columns:34px 1fr 38px 45px;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #edf2f5}
.country-flag{font-size:21px;text-align:center}.country-analytics-row>div b{display:block;color:#28516f;font-size:11px}.country-analytics-row>div i{display:block;height:6px;margin-top:5px;border-radius:999px;background:#eaf1f5;overflow:hidden}.country-analytics-row>div em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0b75b4,#16a890)}.country-analytics-row>strong{color:#154e78;text-align:right}.country-analytics-row>small{color:#8796a2;font-size:9px}
@media(max-width:700px){.country-analytics-grid{grid-template-columns:1fr}}

/* V33 multi-image Posts / News */
.post-new-cover-check{padding-top:0!important;margin:9px 0 0!important;color:#31647f!important}
.post-photo-manager{grid-template-columns:repeat(5,minmax(0,1fr))}
.post-image-gallery{margin-top:34px;padding-top:26px;border-top:1px solid #e3eaf0}
.post-image-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.post-image-gallery-head h2{margin:0;color:#164e79;font-size:21px}.post-image-gallery-head span{color:#81929e;font-size:10px;font-weight:800}
.post-image-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.post-image-gallery-grid figure{margin:0;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#edf3f7;border:1px solid #dce6ed}
.post-image-gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
@media(max-width:900px){.post-photo-manager{grid-template-columns:repeat(3,1fr)}.post-image-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.post-photo-manager{grid-template-columns:repeat(2,1fr)}.post-image-gallery-grid{grid-template-columns:1fr}}

/* V34 Front Page automatic cover photo rotator */
.hero-cover-rotator{position:relative;overflow:hidden}
.hero-cover-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s ease}
.hero-cover-slide.active{opacity:1;visibility:visible}
.hero-cover-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hero-cover-caption{position:absolute;left:20px;bottom:22px;z-index:4;max-width:min(70%,520px);padding:7px 11px;border-radius:8px;background:rgba(4,37,70,.72);color:#fff;font-size:11px;font-weight:800;backdrop-filter:blur(5px)}
.hero-cover-nav{position:absolute;top:50%;z-index:7;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(4,47,87,.62);color:#fff;font-size:25px;cursor:pointer;opacity:.15;transition:.2s}
.hero-cover-rotator:hover .hero-cover-nav{opacity:1}
.hero-cover-prev{left:12px}.hero-cover-next{right:12px}
.hero-cover-dots{position:absolute;z-index:8;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:6px}
.hero-cover-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.48);cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.2)}
.hero-cover-dots button.active{width:22px;border-radius:999px;background:#fff}
.hero-blue-fade{z-index:3;pointer-events:none}

/* V34 Admin front page photo manager */
.front-cover-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.front-cover-admin-card{overflow:hidden;border:2px solid #dfe8ef;border-radius:14px;background:#fff}
.front-cover-admin-card.is-active{border-color:#b8dfce}.front-cover-admin-card.is-disabled{opacity:.72;background:#f5f6f7}
.front-cover-admin-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#edf3f7}
.front-cover-admin-image img{width:100%;height:100%;object-fit:cover;display:block}
.front-cover-admin-image span{position:absolute;left:8px;top:8px;padding:5px 8px;border-radius:999px;background:#169363;color:#fff;font-size:9px;font-weight:900}
.front-cover-admin-card.is-disabled .front-cover-admin-image span{background:#707c85}
.front-cover-title-form{padding:10px;display:grid;gap:6px}.front-cover-title-form input{width:100%;box-sizing:border-box;padding:8px 9px;border:1px solid #d3e0e9;border-radius:8px;font:inherit;font-size:11px}.front-cover-title-form button{justify-self:start;border:0;padding:6px 9px;border-radius:7px;background:#eaf4fa;color:#226087;font-size:10px;font-weight:800;cursor:pointer}
.front-cover-admin-actions{padding:0 10px 10px}.front-cover-admin-actions form{display:flex;gap:5px;flex-wrap:wrap}.front-cover-admin-actions button{border:0;padding:6px 9px;border-radius:7px;background:#edf5fa;color:#245f86;font-size:10px;font-weight:800;cursor:pointer}.front-cover-admin-actions button.warning{background:#fff2d9;color:#976000}.front-cover-admin-actions button.danger{background:#fff0f2;color:#aa2941}
@media(max-width:1000px){.front-cover-admin-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.front-cover-admin-grid{grid-template-columns:1fr}.hero-cover-nav{opacity:.8}.hero-cover-caption{left:12px;bottom:25px;max-width:75%;font-size:9px}}

/* =========================================================
   V35 DESKTOP HEADER + HOMEPAGE COVER FIX
   ========================================================= */

/* Critical: V34 accidentally changed the absolute hero image layer to relative,
   which collapsed the desktop slideshow because all children are absolute. */
.hero-blue .hero-blue-image.hero-cover-rotator{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:420px;
  overflow:hidden;
  z-index:0;
}
.hero-blue .hero-cover-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.hero-blue .hero-cover-slide img{
  width:100%!important;
  height:100%!important;
  min-width:100%;
  min-height:100%;
  object-fit:cover!important;
  object-position:center center;
}
.hero-blue .hero-blue-copy{position:relative;z-index:4}
.hero-blue .hero-notices{z-index:6}
.hero-blue .hero-blue-fade{position:absolute;inset:0;z-index:2}

/* Clean desktop header alignment */
@media(min-width:921px){
  .site-header-blue{
    min-height:88px;
    height:auto;
    padding:8px clamp(24px,2.7vw,52px);
    gap:14px;
    align-items:center;
    flex-wrap:nowrap;
  }
  .brand-blue{
    flex:0 1 440px;
    min-width:330px;
    max-width:440px;
    gap:12px;
    align-items:center;
    overflow:visible;
  }
  .brand-blue img{
    flex:0 0 70px;
    width:70px;
    height:70px;
  }
  .brand-blue>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .brand-blue h1{
    font-size:clamp(30px,2.2vw,38px);
    line-height:1;
    white-space:nowrap;
  }
  .brand-blue .brand-motto-link{
    display:block;
    margin-top:4px;
    width:auto;
  }
  .brand-blue .brand-motto-ta{
    margin-top:0;
    font-size:clamp(10px,.82vw,13px);
    line-height:1.35;
    white-space:nowrap;
  }
  .brand-blue .brand-motto-link small{
    margin-top:2px;
    font-size:10px;
    line-height:1.25;
    white-space:nowrap;
  }
  .nav-blue{
    flex:1 1 auto;
    min-width:0;
    margin-left:auto;
    justify-content:flex-end;
    align-items:center;
    gap:5px;
  }
  .nav-blue>a,.nav-more{
    flex:0 0 auto;
  }
  .nav-blue a{
    min-width:70px;
    padding:11px 8px 9px;
    border:1px solid #d8e4ef;
    border-bottom-width:1px;
    border-radius:11px;
    background:#fbfdff;
    gap:4px;
    font-size:11px;
    box-shadow:0 3px 10px rgba(9,58,101,.04);
  }
  .nav-blue a:hover,.nav-blue a.active{
    border-color:#c51939;
  }
  .nav-blue .nav-home.active{
    background:linear-gradient(135deg,#b31332,#d12041);
    color:#fff;
  }
  .nav-blue .nav-home.active .nav-ico{color:#fff}
  .nav-ico{font-size:18px}
  .nav-more-toggle{
    min-height:58px;
  }
  .header-add-btn{
    flex:0 0 auto;
    margin-left:4px;
    min-height:44px;
    padding:9px 13px;
    font-size:11px;
  }
}

/* Wider desktop: allow the full Add New label. */
@media(min-width:1350px){
  .site-header-blue{gap:18px}
  .brand-blue{flex-basis:470px;max-width:470px}
  .nav-blue a{min-width:76px;font-size:12px}
}

/* Mid-size desktop/laptop: compact brand/navigation rather than pushing items off-screen. */
@media(min-width:921px) and (max-width:1250px){
  .site-header-blue{padding-left:24px;padding-right:24px;gap:8px}
  .brand-blue{flex-basis:330px;min-width:300px;max-width:350px}
  .brand-blue img{width:62px;height:62px;flex-basis:62px}
  .brand-blue h1{font-size:29px}
  .brand-blue .brand-motto-ta{font-size:10px}
  .brand-blue .brand-motto-link small{font-size:9px}
  .nav-blue{gap:3px}
  .nav-blue a{min-width:61px;padding:9px 5px 7px;font-size:10px}
  .nav-ico{font-size:16px}
  .header-add-btn{padding:8px 10px}
  .header-add-label{display:none}
}

/* Keep existing mobile behavior, but ensure slideshow still has a real box. */
@media(max-width:920px){
  .hero-blue .hero-blue-image.hero-cover-rotator{
    min-height:100%;
  }
}

/* =========================================================
   V36 HOMEPAGE COVER — SHOW FULL IMAGE
   ========================================================= */
.hero-blue .hero-cover-slide{
  background:#dbe6ef;
  isolation:isolate;
}
.hero-blue .hero-cover-slide::before{
  content:"";
  position:absolute;
  inset:-24px;
  z-index:-2;
  background-image:var(--hero-cover);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  filter:blur(18px) brightness(.82);
  transform:scale(1.08);
  opacity:.82;
}
.hero-blue .hero-cover-slide::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:rgba(226,235,243,.20);
}
.hero-blue .hero-cover-slide img{
  position:relative;
  z-index:0;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
}

/* Keep the text readable while allowing the complete uploaded photo to remain visible. */
.hero-blue .hero-blue-fade{
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.96) 0%,
      rgba(255,255,255,.86) 24%,
      rgba(255,255,255,.33) 48%,
      rgba(255,255,255,.06) 72%,
      rgba(255,255,255,.02) 100%);
}

/* Wide desktop keeps a sensible banner height rather than enlarging the source image. */
@media(min-width:921px){
  .hero-blue{min-height:420px;height:420px}
  .hero-blue .hero-blue-image.hero-cover-rotator{height:420px!important;min-height:420px!important}
}

/* Laptop */
@media(min-width:921px) and (max-width:1250px){
  .hero-blue{height:390px;min-height:390px}
  .hero-blue .hero-blue-image.hero-cover-rotator{height:390px!important;min-height:390px!important}
}

/* Mobile/tablet: full image still visible, with proportionally smaller banner. */
@media(max-width:920px){
  .hero-blue{min-height:360px}
  .hero-blue .hero-blue-image.hero-cover-rotator{min-height:360px!important}
}

/* =========================================================
   V37 REFINED HOMEPAGE HERO
   Clean 3-column desktop layout:
   text | rotating photo | notices
   ========================================================= */

.hero-blue.hero-v37{
  min-height:0!important;
  height:auto!important;
  background:linear-gradient(135deg,#f5f9fd 0%,#e8f1f8 100%);
  overflow:visible;
  padding:18px clamp(22px,3vw,52px) 28px;
}

.hero-v37-inner{
  max-width:1660px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(350px,.95fr) minmax(500px,1.35fr) minmax(290px,.72fr);
  gap:22px;
  align-items:stretch;
}

.hero-v37-copy{
  position:relative!important;
  z-index:2!important;
  width:auto!important;
  padding:34px 10px 34px 0!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hero-v37-copy h2{
  font-size:clamp(36px,3vw,52px)!important;
  line-height:1.15;
  margin-bottom:9px!important;
}

.hero-v37-copy h3{
  font-size:clamp(25px,2vw,34px)!important;
  line-height:1.3;
  margin-bottom:17px!important;
}

.hero-v37-copy p{
  max-width:560px!important;
  font-size:15px!important;
  line-height:1.8!important;
  margin:0 0 19px;
}

.hero-v37-copy .blue-btn{
  align-self:flex-start;
}

.hero-v37-photo-wrap{
  min-width:0;
  display:flex;
  align-items:stretch;
}

.hero-blue .hero-v37-photo{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:355px!important;
  aspect-ratio:16/10;
  border-radius:18px;
  overflow:hidden;
  background:#dce7ef;
  box-shadow:0 14px 36px rgba(12,63,105,.16);
  border:1px solid rgba(255,255,255,.9);
}

.hero-blue .hero-v37-photo .hero-cover-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  background:#dce7ef;
}

.hero-blue .hero-v37-photo .hero-cover-slide::before,
.hero-blue .hero-v37-photo .hero-cover-slide::after{
  display:none!important;
}

.hero-blue .hero-v37-photo .hero-cover-slide img{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#dce7ef!important;
}

/* Less aggressive crop than the old full-width banner.
   Because the photo panel is closer to normal photo proportions,
   most landscape photos remain visible naturally. */
.hero-v37-photo .hero-cover-caption{
  left:14px;
  right:14px;
  bottom:15px;
  max-width:none;
  width:max-content;
  background:rgba(4,39,73,.76);
}

.hero-v37-notices{
  position:relative!important;
  right:auto!important;
  top:auto!important;
  width:auto!important;
  height:100%;
  min-height:355px;
  z-index:2!important;
  display:flex;
  flex-direction:column;
  border-radius:16px!important;
  box-shadow:0 12px 30px rgba(12,63,105,.10)!important;
}

.hero-v37-notices .notice-list{
  flex:1;
}

.hero-v37-notices .notice-row{
  padding:12px 0;
}

.hero-v37-notices .notice-row strong{
  font-size:12px;
}

.hero-v37-notices .notice-row em{
  font-size:9px;
}

.hero-v37 .hero-blue-fade{
  display:none!important;
}

.hero-v37 .hero-cover-nav{
  opacity:.84;
  width:34px;
  height:34px;
  font-size:22px;
  background:rgba(4,46,83,.56);
}
.hero-v37 .hero-cover-prev{left:10px}
.hero-v37 .hero-cover-next{right:10px}

.hero-v37 .hero-cover-dots{
  bottom:10px;
}

@media(min-width:921px) and (max-width:1380px){
  .hero-v37-inner{
    grid-template-columns:minmax(310px,.88fr) minmax(430px,1.25fr) minmax(270px,.72fr);
    gap:16px;
  }
  .hero-blue .hero-v37-photo{min-height:330px!important}
  .hero-v37-notices{min-height:330px}
  .hero-v37-copy{padding-right:2px!important}
  .hero-v37-copy p{font-size:13px!important}
  .hero-v37-copy h2{font-size:38px!important}
  .hero-v37-copy h3{font-size:26px!important}
}

@media(max-width:1050px) and (min-width:921px){
  .hero-v37-inner{
    grid-template-columns:.9fr 1.15fr;
  }
  .hero-v37-notices{
    grid-column:1/-1;
    min-height:0;
  }
  .hero-v37-notices .notice-list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0 14px;
  }
}

@media(max-width:920px){
  .hero-blue.hero-v37{
    padding:14px 14px 22px;
  }
  .hero-v37-inner{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .hero-v37-photo-wrap{
    order:1;
  }
  .hero-v37-copy{
    order:2;
    padding:16px 8px 6px!important;
  }
  .hero-v37-notices{
    order:3;
    min-height:0;
  }
  .hero-blue .hero-v37-photo{
    min-height:0!important;
    aspect-ratio:16/10;
    border-radius:14px;
  }
  .hero-v37-copy h2{
    font-size:34px!important;
  }
  .hero-v37-copy h3{
    font-size:25px!important;
  }
  .hero-v37-copy p{
    font-size:13px!important;
  }
}

@media(max-width:560px){
  .hero-blue.hero-v37{
    padding:10px 10px 18px;
  }
  .hero-blue .hero-v37-photo{
    aspect-ratio:4/3;
  }
  .hero-v37-copy h2{
    font-size:29px!important;
  }
  .hero-v37-copy h3{
    font-size:21px!important;
  }
  .hero-v37-notices .notice-list{
    display:block;
  }
}

/* =========================================================
   V38 HERO READABILITY + 5 SIMPLE NOTICES
   ========================================================= */

/* Readable welcome card */
.hero-v37-copy{
  position:relative!important;
  z-index:5!important;
  align-self:center;
  padding:28px 28px 26px!important;
  border-radius:18px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.96);
  box-shadow:0 16px 38px rgba(5,48,88,.14);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.hero-v37-copy h2{
  color:#b01831!important;
  text-shadow:none!important;
}
.hero-v37-copy h3{
  color:#073f7d!important;
  text-shadow:none!important;
}
.hero-v37-copy p{
  color:#17283b!important;
  font-weight:650!important;
  text-shadow:none!important;
}
.hero-v37-copy .blue-btn{
  box-shadow:0 7px 16px rgba(6,59,119,.22);
}

/* Notices: title + date only, 5 nearest upcoming */
.hero-v37-notices{
  min-height:355px;
}
.hero-v37-notices .notice-list{
  padding:0 12px;
}
.hero-v37-notices .notice-row-v38{
  grid-template-columns:48px 1fr;
  gap:10px;
  padding:10px 0;
  min-height:58px;
  align-items:center;
}
.hero-v37-notices .notice-date{
  padding:6px 3px;
}
.hero-v37-notices .notice-date b{
  font-size:16px;
}
.hero-v37-notices .notice-date small{
  font-size:9px;
}
.hero-v37-notices .notice-main-v38{
  min-width:0;
}
.hero-v37-notices .notice-main-v38 strong{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#163c66;
  font-size:11px;
  line-height:1.35;
  margin:0;
}
.hero-v37-notices .notice-main-v38 em{
  display:block;
  margin-top:4px;
  color:#6d8294;
  font-size:8px;
  font-style:normal;
  font-weight:700;
}
.hero-v37-notices .notice-more{
  margin-top:auto;
}

/* Laptop tuning */
@media(min-width:921px) and (max-width:1380px){
  .hero-v37-copy{
    padding:22px 22px 20px!important;
  }
  .hero-v37-notices .notice-row-v38{
    padding:8px 0;
    min-height:52px;
  }
  .hero-v37-notices .notice-main-v38 strong{
    font-size:10px;
  }
}

/* Mobile */
@media(max-width:920px){
  .hero-v37-copy{
    padding:20px 18px!important;
    background:rgba(255,255,255,.94);
  }
}

/* =========================================================
   V39 HERO ALIGNMENT + SOFTER GLASS BACKGROUND
   ========================================================= */

/* Hero: all three top blocks align cleanly */
.hero-blue.hero-v37{
  padding-top:16px;
  padding-bottom:22px;
}
.hero-v37-inner{
  align-items:stretch!important;
}
.hero-v37-copy,
.hero-v37-photo-wrap,
.hero-v37-notices{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Welcome glass panel: slightly narrower, softer and more transparent */
.hero-v37-copy{
  align-self:stretch!important;
  justify-content:center!important;
  box-sizing:border-box;
  min-width:0;
  padding:25px 24px 22px!important;
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(255,255,255,.68)!important;
  border-radius:16px!important;
  box-shadow:0 10px 28px rgba(7,49,86,.10)!important;
  backdrop-filter:blur(11px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(11px) saturate(115%)!important;
}

/* Stop the large heading from touching/overflowing the right edge */
.hero-v37-copy h2{
  margin:0 0 7px!important;
  font-size:clamp(34px,2.55vw,46px)!important;
  line-height:1.12!important;
  letter-spacing:-.5px;
  overflow-wrap:anywhere;
}
.hero-v37-copy h3{
  margin:0 0 15px!important;
  font-size:clamp(24px,1.8vw,31px)!important;
  line-height:1.32!important;
}
.hero-v37-copy p{
  margin:0 0 17px!important;
  max-width:100%!important;
  line-height:1.72!important;
}

/* Photo and notice panel use exactly the same visual height */
.hero-blue .hero-v37-photo,
.hero-v37-notices{
  height:365px!important;
  min-height:365px!important;
  box-sizing:border-box;
}
.hero-v37-photo-wrap{
  min-height:365px;
}

/* Important notices: compact 5 rows so there is no large blank white area */
.hero-v37-notices{
  overflow:hidden;
}
.hero-v37-notices .notice-title{
  flex:0 0 auto;
}
.hero-v37-notices .notice-list{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column;
  padding:3px 12px 0!important;
  overflow:hidden;
}
.hero-v37-notices .notice-row-v38{
  flex:1 1 0;
  min-height:0!important;
  padding:5px 0!important;
  align-items:center;
}
.hero-v37-notices .notice-main-v38 strong{
  font-size:10px!important;
  line-height:1.27!important;
  -webkit-line-clamp:2;
}
.hero-v37-notices .notice-main-v38 em{
  margin-top:2px!important;
  font-size:7px!important;
}
.hero-v37-notices .notice-date{
  padding:4px 2px!important;
}
.hero-v37-notices .notice-date b{font-size:14px!important}
.hero-v37-notices .notice-more{
  flex:0 0 auto;
  margin:6px 12px 10px!important;
  padding:8px 10px!important;
}

/* Quick menu aligns underneath the hero content instead of overlapping unevenly */
.quick-blue{
  position:relative!important;
  z-index:10;
  margin-top:-1px!important;
}
.quick-blue-grid{
  margin-top:0!important;
}

/* Laptop sizing */
@media(min-width:921px) and (max-width:1380px){
  .hero-v37-copy{
    padding:20px 18px!important;
  }
  .hero-v37-copy h2{
    font-size:clamp(31px,2.5vw,40px)!important;
  }
  .hero-v37-copy h3{
    font-size:clamp(22px,1.8vw,27px)!important;
  }
  .hero-blue .hero-v37-photo,
  .hero-v37-notices{
    height:340px!important;
    min-height:340px!important;
  }
  .hero-v37-photo-wrap{min-height:340px}
}

/* Mobile: retain clean stacking */
@media(max-width:920px){
  .hero-v37-copy{
    align-self:auto!important;
    padding:20px 18px!important;
    background:rgba(255,255,255,.82)!important;
    backdrop-filter:blur(9px)!important;
    -webkit-backdrop-filter:blur(9px)!important;
  }
  .hero-blue .hero-v37-photo{
    height:auto!important;
    min-height:0!important;
  }
  .hero-v37-photo-wrap{min-height:0}
  .hero-v37-notices{
    height:auto!important;
    min-height:0!important;
  }
  .hero-v37-notices .notice-row-v38{
    min-height:54px!important;
    padding:7px 0!important;
  }
}

/* V40: Important Notices date is already displayed in the left date badge.
   Hide/remove any secondary date line below the title. */
.hero-v37-notices .notice-main-v38 em{
  display:none!important;
}
.hero-v37-notices .notice-row-v38{
  align-items:center!important;
}

/* =========================================================
   V41 IMPORTANT NOTICES — REMOVE EXTRA EMPTY SPACE
   ========================================================= */
.hero-v37-notices{
  height:auto!important;
  min-height:0!important;
  align-self:start!important;
}
.hero-v37-notices .notice-list{
  flex:0 0 auto!important;
  display:block!important;
  padding:4px 12px 0!important;
}
.hero-v37-notices .notice-row-v38{
  min-height:0!important;
  padding:9px 0!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:9px!important;
}
.hero-v37-notices .notice-main-v38 strong{
  font-size:10px!important;
  line-height:1.28!important;
}
.hero-v37-notices .notice-more{
  margin:7px 12px 10px!important;
  padding:7px 10px!important;
}

/* =========================================================
   V42 SCHEDULED HOMEPAGE ADVERTISEMENTS
   ========================================================= */

/* Public ad strip spans the full left-content width */
.home-advertisement{
  grid-column:1/-1;
  overflow:hidden;
}
.home-advertisement .blue-panel-head{
  border-bottom:1px solid #e3eaf0;
}
.home-ad-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
  padding:14px;
}
.home-ad-grid.count-1{
  grid-template-columns:1fr;
}
.home-ad-card{
  display:block;
  width:100%;
  padding:0;
  border:0;
  border-radius:13px;
  overflow:hidden;
  background:#eef3f7;
  cursor:zoom-in;
  box-shadow:0 5px 16px rgba(14,58,94,.08);
}
.home-ad-card img{
  display:block;
  width:100%;
  height:190px;
  object-fit:contain;
  background:#f6f8fa;
  transition:transform .2s ease;
}
.home-ad-grid.count-1 .home-ad-card img{
  height:auto;
  max-height:260px;
  object-fit:contain;
}
.home-ad-card:hover img{
  transform:scale(1.01);
}

/* Admin */
.admin-ad-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.admin-ad-card{
  overflow:hidden;
  border:2px solid #dce7ee;
  border-radius:14px;
  background:#fff;
}
.admin-ad-card.status-live{border-color:#94d7b7}
.admin-ad-card.status-scheduled{border-color:#91bfe0}
.admin-ad-card.status-expired{opacity:.73;border-color:#d7dce0}
.admin-ad-card.status-disabled{opacity:.66;border-color:#d7dce0}
.admin-ad-image{
  position:relative;
  aspect-ratio:16/8;
  overflow:hidden;
  background:#edf3f7;
}
.admin-ad-image img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.admin-ad-status{
  position:absolute;
  top:8px;
  left:8px;
  padding:5px 8px;
  border-radius:999px;
  background:#158b5e;
  color:#fff;
  font-size:8px;
  font-weight:900;
}
.status-scheduled .admin-ad-status{background:#247cac}
.status-expired .admin-ad-status,.status-disabled .admin-ad-status{background:#707b83}
.admin-ad-details{
  padding:10px;
  display:grid;
  gap:7px;
}
.admin-ad-details>label,
.admin-ad-details>div label{
  display:grid;
  gap:4px;
  color:#5d7587;
  font-size:9px;
  font-weight:800;
}
.admin-ad-details>div{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.admin-ad-details input{
  width:100%;
  box-sizing:border-box;
  padding:8px;
  border:1px solid #d5e1ea;
  border-radius:7px;
  font:inherit;
  font-size:10px;
}
.admin-ad-details button{
  justify-self:start;
  padding:7px 9px;
  border:0;
  border-radius:7px;
  background:#e9f4fa;
  color:#226087;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.admin-ad-actions{
  padding:0 10px 10px;
}
.admin-ad-actions form{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.admin-ad-actions button{
  padding:6px 8px;
  border:0;
  border-radius:7px;
  background:#eef5f9;
  color:#285f82;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.admin-ad-actions button.danger{
  background:#fff0f2;
  color:#a62a40;
}

@media(max-width:1000px){
  .admin-ad-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .home-ad-grid{grid-template-columns:1fr}
  .home-ad-card img{height:auto;max-height:300px}
  .admin-ad-grid{grid-template-columns:1fr}
}

/* =========================================================
   V43 ADVERTISEMENT CAROUSEL + UNIFORM THUMBNAIL FRAME
   ========================================================= */
.home-advertisement .blue-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.home-ad-auto-label{
  color:#628096;
  font-size:8px;
  font-weight:800;
}
.home-ad-auto-label::first-letter{color:#19a36f}

.home-ad-carousel{
  position:relative;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 30px;
  gap:7px;
  align-items:center;
  padding:14px 10px 9px;
}
.home-ad-viewport{
  min-width:0;
  overflow:hidden;
}
.home-ad-track{
  display:flex;
  gap:12px;
  align-items:stretch;
  will-change:transform;
  transition:transform 1.15s cubic-bezier(.22,.61,.36,1);
}
.home-ad-card{
  flex:0 0 auto;
  min-width:0;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:zoom-in;
}
.home-ad-frame{
  position:relative;
  display:block;
  width:100%;
  height:132px;
  box-sizing:border-box;
  padding:7px;
  border-radius:13px;
  overflow:hidden;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg,#0c5e99,#c51b39,#d7a72a) border-box;
  border:2px solid transparent;
  box-shadow:
    0 8px 20px rgba(14,58,94,.12),
    inset 0 0 0 1px rgba(255,255,255,.7);
}
.home-ad-frame::after{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(18,78,121,.10);
  border-radius:8px;
  pointer-events:none;
}
.home-ad-frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain!important;
  object-position:center;
  border-radius:8px;
  background:#f7f9fb;
  transition:transform .25s ease;
}
.home-ad-card:hover .home-ad-frame img{
  transform:scale(1.025);
}

.home-ad-arrow{
  width:30px;
  height:42px;
  padding:0;
  border:1px solid #d5e3ec;
  border-radius:9px;
  background:#fff;
  color:#155784;
  font-size:21px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(13,62,99,.07);
}
.home-ad-arrow:hover:not(:disabled){
  background:#eaf5fb;
}
.home-ad-arrow:disabled{
  opacity:.3;
  cursor:default;
}

.home-ad-dots{
  display:flex;
  justify-content:center;
  gap:5px;
  padding:0 0 11px;
}
.home-ad-dots button{
  width:6px;
  height:6px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#cbd9e2;
  cursor:pointer;
  transition:.2s;
}
.home-ad-dots button.active{
  width:18px;
  background:#0b6da9;
}

/* Original image in popup is untouched by thumbnail sizing.
   The lightbox uses the source file directly and preserves aspect ratio. */
.kokuvil-lightbox-img{
  object-fit:contain!important;
}

@media(max-width:1000px){
  .home-ad-frame{height:126px}
}
@media(max-width:620px){
  .home-ad-carousel{
    grid-template-columns:26px minmax(0,1fr) 26px;
    gap:5px;
    padding-left:6px;
    padding-right:6px;
  }
  .home-ad-arrow{
    width:26px;
    height:38px;
  }
  .home-ad-frame{
    height:145px;
  }
}

/* V44 — Advertisement carousel: 5 ads visible on desktop */
@media(min-width:1001px){
  .home-ad-frame{height:112px}
  .home-ad-carousel{grid-template-columns:30px minmax(0,1fr) 30px}
}

/* V45 — Advertisement thumbnails slightly taller, width unchanged */
@media(min-width:1001px){
  .home-ad-frame{height:145px!important;}
}
@media(min-width:621px) and (max-width:1000px){
  .home-ad-frame{height:150px!important;}
}
@media(max-width:620px){
  .home-ad-frame{height:165px!important;}
}

/* =========================================================
   V46 CONTACT US + ADMIN INBOX + TAMIL TRANSLITERATION
   ========================================================= */
.contact-page{max-width:1050px}
.contact-hero{margin-bottom:18px;padding:28px;border-radius:20px;background:linear-gradient(135deg,#073e76,#0b78ac);color:#fff;box-shadow:0 12px 30px rgba(8,54,94,.14)}
.contact-hero>div{display:flex;flex-direction:column;align-items:flex-start}.contact-hero span{font-size:34px}.contact-hero h1{margin:5px 0 7px;font-size:32px}.contact-hero p{margin:0;opacity:.9}
.contact-card{padding:22px;background:#fff;border:1px solid #dce7ef;border-radius:18px;box-shadow:0 10px 28px rgba(20,62,99,.07)}
.contact-language-switch{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding:12px;border-radius:11px;background:#f0f7fb;color:#355f7b;font-size:11px;font-weight:800}
.contact-language-switch label{display:flex;align-items:center;gap:5px;cursor:pointer}
.translit-wrap textarea{width:100%;box-sizing:border-box;padding:14px;border:1px solid #cfdee9;border-radius:11px;font:inherit;font-size:14px;line-height:1.7;resize:vertical}
.translit-help{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:7px;color:#667f91;font-size:10px}.translit-help code{padding:2px 5px;border-radius:5px;background:#eef4f8;color:#1a567c}
.contact-success{text-align:center;padding:48px 24px;background:#fff;border:1px solid #dce7ef;border-radius:18px}.contact-success-icon{width:74px;height:74px;margin:0 auto 15px;border-radius:50%;display:grid;place-items:center;background:#1aa36c;color:#fff;font-size:34px}.contact-success h2{color:#174f79}.contact-success p{color:#708494}

.footer-contact-link{text-align:center;padding:9px 0 0}.footer-contact-link a{color:#dceeff;text-decoration:none;font-size:11px}

/* Admin contact inbox */
.contact-admin-badge{padding:7px 10px;border-radius:999px;background:#eaf5fb;color:#17628f;font-size:10px;font-weight:900}
.contact-admin-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px}
.contact-admin-list{padding:0!important;overflow:hidden;max-height:720px;overflow-y:auto}
.contact-admin-row{display:grid;grid-template-columns:10px 1fr auto;gap:9px;padding:12px 13px;border-bottom:1px solid #edf2f5;color:inherit;text-decoration:none}.contact-admin-row:hover,.contact-admin-row.active{background:#f2f8fc}.contact-status-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#b7c3cb}.contact-admin-row.is-new .contact-status-dot{background:#d11d3d;box-shadow:0 0 0 4px rgba(209,29,61,.08)}.contact-admin-row strong{display:block;color:#194e74;font-size:11px}.contact-admin-row b{display:block;margin-top:2px;color:#3f5f74;font-size:10px}.contact-admin-row small{display:block;margin-top:4px;color:#8b99a4;font-size:8px}.contact-admin-row em{font-style:normal;color:#81929d;font-size:7px;font-weight:900}
.contact-admin-reader{min-height:560px}.contact-reader-head{display:flex;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #e6edf2}.contact-reader-head h2{margin:0;color:#174e77}.contact-reader-head p{margin:4px 0 0;color:#778b99;font-size:10px}.contact-reader-head>span{font-size:8px;font-weight:900;color:#53748b}
.contact-original-message{margin:18px 0;padding:17px;border-radius:12px;background:#f5f9fc;color:#324f62;font-size:13px;line-height:1.75;white-space:normal}.contact-previous-reply{margin:16px 0;padding:14px;border-left:4px solid #1a9a6b;background:#f0faf6;border-radius:8px}.contact-previous-reply strong{color:#157451}.contact-previous-reply p{color:#49675a;line-height:1.6}.contact-previous-reply small{color:#82958b}
.contact-reply-form label{display:grid;gap:6px;color:#526f83;font-size:10px;font-weight:900}.contact-reply-form textarea{width:100%;box-sizing:border-box;padding:13px;border:1px solid #d1e0e9;border-radius:10px;font:inherit;line-height:1.6}.contact-reply-form>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.admin-danger-btn{border:0;padding:9px 11px;border-radius:8px;background:#fff0f2;color:#aa2941;font-weight:800;cursor:pointer}.contact-reader-empty{text-align:center;padding:100px 20px;color:#83939e}.contact-reader-empty span{font-size:42px}.contact-reader-empty h2{color:#44677e}
@media(max-width:900px){.contact-admin-layout{grid-template-columns:1fr}.contact-admin-list{max-height:360px}}

/* V47 Admin Contact Reply Tamil / English typing */
.admin-reply-language{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
  padding:10px 12px;
  border-radius:9px;
  background:#f0f7fb;
  color:#42667d;
  font-size:10px;
  font-weight:800;
}
.admin-reply-language label{
  display:flex;
  align-items:center;
  gap:5px;
  cursor:pointer;
}
.admin-translit-help{
  display:flex;
  gap:7px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:7px;
  padding:8px 10px;
  border-radius:8px;
  background:#f6fafc;
  color:#60798b;
  font-size:9px;
}
.admin-translit-help code{
  padding:2px 5px;
  border-radius:5px;
  background:#eaf2f7;
  color:#1f5e85;
}

/* =========================================================
   V48 DASHBOARD ALERTS + TAMIL/ENGLISH WRITING MODE
   ========================================================= */
.admin-alert-kpis{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}
.admin-alert-kpis>a{
  display:flex;
  align-items:center;
  gap:13px;
  padding:16px 18px;
  border:1px solid #dce7ef;
  border-radius:15px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(18,62,97,.05);
}
.admin-alert-kpis>a>span{font-size:27px}
.admin-alert-kpis strong{display:block;color:#174f79;font-size:24px;line-height:1}
.admin-alert-kpis b{display:block;margin-top:4px;color:#375e78;font-size:11px}
.admin-alert-kpis small{display:block;margin-top:2px;color:#8495a1;font-size:9px}
.admin-alert-kpis>a.has-new{
  border-color:#e7a9b5;
  background:linear-gradient(135deg,#fff,#fff7f8);
  box-shadow:0 8px 22px rgba(174,29,57,.08);
}
.admin-alert-kpis>a.has-new strong{color:#bd1c3a}

.dashboard-contact-card{margin-top:16px}
.dashboard-contact-list>a{
  display:grid;
  grid-template-columns:10px 1fr auto;
  gap:9px;
  align-items:start;
  padding:10px 0;
  border-bottom:1px solid #edf2f5;
  color:inherit;
  text-decoration:none;
}
.dashboard-contact-list>a>span{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#b7c4cc}
.dashboard-contact-list>a.is-new>span{background:#d11d3d;box-shadow:0 0 0 4px rgba(209,29,61,.08)}
.dashboard-contact-list strong{display:block;color:#194e74;font-size:11px}
.dashboard-contact-list b{display:block;color:#4b687b;font-size:10px;margin-top:2px}
.dashboard-contact-list small{display:block;color:#8a99a4;font-size:8px;margin-top:3px}
.dashboard-contact-list em{font-style:normal;color:#7d8f9b;font-size:8px;font-weight:900}

.admin-writing-language,
.submit-writing-language{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:12px 0 16px;
  padding:11px 12px;
  border-radius:10px;
  background:#eff7fb;
  color:#41677f;
  font-size:10px;
  font-weight:800;
}
.admin-writing-language label,
.submit-writing-language label{
  display:flex;
  align-items:center;
  gap:5px;
  cursor:pointer;
}
.admin-writing-language small,
.submit-writing-language small{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
  color:#6b8292;
  font-size:9px;
  font-weight:700;
}
.admin-writing-language code,
.submit-writing-language code{
  padding:2px 5px;
  border-radius:5px;
  background:#e5eef4;
  color:#175d87;
}
.field.writing-active{
  border-radius:11px;
  box-shadow:0 0 0 2px rgba(12,117,177,.10);
  background:rgba(235,247,253,.35);
}
.field.writing-active>label{color:#0b6fa8}
.admin-v16-nav a{position:relative}
.admin-nav-badge{
  margin-left:auto;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#d51d3e;
  color:#fff;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}
@media(max-width:700px){
  .admin-alert-kpis{grid-template-columns:1fr}
  .admin-writing-language small,.submit-writing-language small{width:100%;margin-left:0}
}

/* =========================================================
   V49 COMMUNITY PORTAL SUITE
   ========================================================= */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.turnstile-wrap{display:flex;justify-content:flex-start;margin:12px 0}
.share-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:20px 0;padding:11px 12px;border-radius:11px;background:#f3f8fb;border:1px solid #dce8ef}
.share-tools>span{color:#58768a;font-size:9px;font-weight:900;margin-right:3px}
.share-tools a,.share-tools button{border:0;border-radius:8px;padding:7px 10px;text-decoration:none;font:inherit;font-size:9px;font-weight:900;cursor:pointer}
.share-facebook{background:#e9f1ff;color:#24529a}.share-whatsapp{background:#e9f9ef;color:#177443}.copy-link-btn{background:#edf3f7;color:#315c78}

/* Admin notification centre */
.admin-top-actions{margin-left:auto;display:flex;align-items:center;gap:12px}
.admin-bell{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef5fa;color:#174f79;text-decoration:none;font-size:17px}
.admin-bell b{position:absolute;right:-4px;top:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:#d51d3e;color:#fff;font-size:7px}
.notification-list{display:grid}.notification-item{display:grid;grid-template-columns:36px 1fr 20px;align-items:center;gap:10px;padding:12px;border-bottom:1px solid #edf2f5;color:inherit;text-decoration:none}.notification-item:hover{background:#f5f9fc}.notification-item>span{font-size:20px;text-align:center}.notification-item strong{display:block;color:#23516f;font-size:11px}.notification-item small{display:block;color:#8495a1;font-size:9px;margin-top:3px}.notification-item>b{color:#7890a0;font-size:18px}

/* Calendar */
.calendar-page{max-width:1200px}.calendar-nav{display:flex;justify-content:center;align-items:center;gap:24px;margin:12px 0}.calendar-nav a{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef6fb;color:#155c89;text-decoration:none;font-size:20px}.calendar-nav strong{color:#174f79;font-size:18px}.calendar-weekheads,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekheads span{text-align:center;padding:8px;color:#708594;font-size:9px;font-weight:900}.calendar-day{min-height:115px;padding:8px;border:1px solid #e3ebf1;background:#fff}.calendar-day.outside{background:#f5f7f9;color:#adb8bf}.calendar-day.today{box-shadow:inset 0 0 0 2px #0b78b3}.calendar-day>b{display:block;color:#174f79;margin-bottom:6px}.calendar-day a{display:block;margin:4px 0;padding:5px 6px;border-radius:6px;background:#eef6fb;color:#195f8c;text-decoration:none;font-size:8px;line-height:1.25}
.event-calendar-actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.event-calendar-actions a{padding:8px 10px;border-radius:8px;background:#edf6fb;color:#155e8c;text-decoration:none;font-size:10px;font-weight:900}

/* Map */
.kokuvil-map{height:600px;border-radius:17px;overflow:hidden;border:1px solid #d9e6ee;box-shadow:0 10px 28px rgba(16,62,98,.09);margin-bottom:16px}

/* History timeline */
.history-timeline{position:relative;max-width:900px;margin:20px auto}.history-timeline::before{content:"";position:absolute;left:91px;top:0;bottom:0;width:2px;background:#d6e4ed}.history-timeline article{position:relative;display:grid;grid-template-columns:70px 1fr;gap:42px;margin-bottom:20px}.history-timeline time{padding-top:15px;color:#b51e39;font-size:17px;font-weight:900;text-align:right}.history-timeline article::before{content:"";position:absolute;left:84px;top:19px;width:15px;height:15px;border-radius:50%;background:#0d74ad;border:4px solid #fff;box-shadow:0 0 0 2px #b9d6e6}.history-timeline article>div{padding:15px;border:1px solid #dfe8ef;border-radius:13px;background:#fff}.history-timeline img{width:120px;height:80px;object-fit:cover;border-radius:8px;float:right;margin-left:12px}.history-timeline h3{margin:0 0 7px}.history-timeline h3 a{color:#164f79;text-decoration:none}.history-timeline p{color:#647b8c;line-height:1.6;margin:0}

/* Advanced search */
.advanced-search{display:grid;grid-template-columns:1fr 190px auto;gap:8px}.advanced-search select,.business-filter select{padding:10px;border:1px solid #d3e1ea;border-radius:9px;background:#fff}.search-count{margin:10px 0;color:#718695;font-size:10px;font-weight:800}.search-results-v49{display:grid;gap:10px}.search-result-v49{display:grid;grid-template-columns:120px 1fr;gap:13px;padding:12px;border:1px solid #dfe8ef;border-radius:12px;background:#fff;color:inherit;text-decoration:none}.search-result-v49 img{width:120px;height:88px;object-fit:cover;border-radius:8px}.search-result-v49 h3{margin:5px 0;color:#174f79}.search-result-v49 p{margin:0;color:#697f8f;font-size:11px}.search-result-v49 small{color:#8b9aa4}
.business-filter{display:grid;grid-template-columns:1fr 180px 160px auto;gap:8px}

/* Revision / backup */
.revision-list article{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #edf2f5}.revision-list strong{display:block;color:#1b5075}.revision-list small{display:block;color:#8294a0;font-size:9px;margin-top:3px}.revision-list p{color:#647c8d;font-size:10px}.backup-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.backup-panel>div{padding:20px;border-radius:13px;background:#f5f9fc;text-align:center}.backup-panel>div>span{font-size:34px}.backup-panel h2{color:#174f79}.backup-panel p{color:#6d8392;font-size:11px}

/* Settings/security */
.settings-section-title{margin:22px 0 10px;padding-top:15px;border-top:1px solid #e4ecf1}.settings-section-title h3{margin:0;color:#174f79}.settings-section-title p{color:#718695;font-size:10px}

/* Improved mobile */
@media(max-width:800px){
 .calendar-weekheads span{font-size:7px}.calendar-day{min-height:80px;padding:4px}.calendar-day a{font-size:7px;padding:3px}
 .kokuvil-map{height:440px}
 .history-timeline::before{left:51px}.history-timeline article{grid-template-columns:40px 1fr;gap:27px}.history-timeline article::before{left:44px}.history-timeline time{font-size:12px}
 .advanced-search,.business-filter{grid-template-columns:1fr}.search-result-v49{grid-template-columns:82px 1fr}.search-result-v49 img{width:82px;height:72px}
 .backup-panel{grid-template-columns:1fr}
}

/* ========================================================= V50 SMART HOMEPAGE */
.home-v50-smartbar{max-width:1280px;margin:16px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 18px}
.home-v50-smartbar>a{display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid #dce8ef;border-radius:13px;background:#fff;text-decoration:none;box-shadow:0 5px 18px rgba(19,62,95,.05)}
.home-v50-smartbar>a>span{font-size:23px}.home-v50-smartbar small{display:block;color:#8a9aa5;font-size:7px;font-weight:900;letter-spacing:.7px}.home-v50-smartbar strong{display:block;color:#174f79;font-size:10px;margin-top:3px}
.home-v50-explore,.home-v50-heritage-grid,.home-v50-discovery-grid,.home-v50-contribute,.home-v50-actions{max-width:1280px;margin:18px auto;padding-left:18px;padding-right:18px}
.home-v50-explore{padding-top:18px;padding-bottom:20px}.home-v50-section-head,.home-v50-minihead{display:flex;justify-content:space-between;align-items:center;gap:12px}.home-v50-section-head>div{display:flex;align-items:center;gap:10px}.home-v50-section-head>div>span{font-size:28px}.home-v50-section-head small{font-size:7px;font-weight:900;letter-spacing:1px;color:#9a7b42}.home-v50-section-head h3,.home-v50-minihead h3{margin:2px 0;color:#164f79}.home-v50-section-head>a,.home-v50-minihead>a{font-size:9px;font-weight:900;color:#176d9e;text-decoration:none}
.home-v50-place-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:13px}.home-v50-place-grid>a{min-height:110px;padding:14px 10px;border-radius:14px;background:linear-gradient(145deg,#fff,#f2f8fc);border:1px solid #dce8ef;text-align:center;text-decoration:none}.home-v50-place-grid span{display:block;font-size:29px}.home-v50-place-grid strong{display:block;margin-top:7px;color:#174f79;font-size:10px}.home-v50-place-grid small{display:block;margin-top:3px;color:#8999a4;font-size:8px}
.home-v50-heritage-grid,.home-v50-discovery-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.home-v50-archive,.home-v50-people,.home-v50-mostread,.home-v50-diaspora{border:1px solid #dce7ee;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 7px 22px rgba(18,61,94,.05)}
.home-v50-archive{display:grid;grid-template-columns:44% 1fr;text-decoration:none;color:inherit}.home-v50-archive-img{position:relative;min-height:250px}.home-v50-archive-img img{width:100%;height:100%;object-fit:cover}.home-v50-archive-img span{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(8,49,79,.88);color:#fff;font-size:8px;font-weight:900}.home-v50-archive>div:last-child{padding:25px}.home-v50-archive h3{color:#174f79;margin:5px 0 10px}.home-v50-archive p{color:#718594;font-size:10px;line-height:1.6}.home-v50-archive b{color:#15709f;font-size:9px}.home-v50-archive small{color:#b01e3c;font-weight:900}
.home-v50-people,.home-v50-mostread{padding:17px}.home-v50-people>a{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2f5;text-decoration:none}.home-v50-people img,.home-v50-people>a>span{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#eef5f9;display:grid;place-items:center;font-size:24px}.home-v50-people strong{display:block;color:#174f79;font-size:10px}.home-v50-people small{display:block;color:#7d8f9b;font-size:8px;margin-top:3px;line-height:1.45}
.home-v50-mostread>a{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid #edf2f5;text-decoration:none}.home-v50-mostread>a>b{color:#b7c5ce;font-size:18px}.home-v50-mostread strong{display:block;color:#174f79;font-size:10px}.home-v50-mostread small{color:#8999a4;font-size:8px}
.home-v50-diaspora{padding:25px;background:linear-gradient(145deg,#0e4e7b,#146b98);color:#fff}.home-v50-globe{font-size:40px}.home-v50-diaspora>small{display:block;margin-top:10px;font-size:7px;font-weight:900;letter-spacing:1px;opacity:.7}.home-v50-diaspora h3{font-size:20px;margin:6px 0}.home-v50-diaspora p{font-size:10px;line-height:1.6;opacity:.82}.home-v50-diaspora>div{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.home-v50-diaspora>div span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.13);font-size:8px}.home-v50-diaspora>a{color:#fff;font-size:9px;font-weight:900}
.home-v50-contribute{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px;padding-bottom:22px;border-radius:16px;background:linear-gradient(120deg,#fff7e7,#f5fbff);border:1px solid #eadfca}.home-v50-contribute>div{display:flex;gap:15px;align-items:center}.home-v50-contribute>div>span{font-size:42px}.home-v50-contribute small{font-size:7px;font-weight:900;color:#9b7431;letter-spacing:1px}.home-v50-contribute h3{margin:3px 0;color:#174f79}.home-v50-contribute p{margin:3px 0;color:#718594;font-size:10px}.home-v50-contribute>a{flex:none;padding:10px 14px;border-radius:9px;background:#0e6e9f;color:#fff;text-decoration:none;font-size:9px;font-weight:900}
.home-v50-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.home-v50-actions .share-tools{margin:0}.home-v50-actions>button{border:0;border-radius:9px;padding:10px 14px;background:#164f79;color:#fff;font-weight:900;cursor:pointer}
@media(max-width:900px){.home-v50-smartbar{grid-template-columns:1fr}.home-v50-place-grid{grid-template-columns:repeat(3,1fr)}.home-v50-heritage-grid,.home-v50-discovery-grid{grid-template-columns:1fr}}
@media(max-width:600px){.home-v50-place-grid{grid-template-columns:repeat(2,1fr)}.home-v50-archive{grid-template-columns:1fr}.home-v50-archive-img{min-height:210px}.home-v50-contribute{align-items:flex-start;flex-direction:column}.home-v50-contribute>div>span{font-size:30px}}

/* =========================================================
   V51 CLEAN DASHBOARD HOMEPAGE
   Hero/slideshow/welcome/notices remain unchanged.
   ========================================================= */
.home-v51-dashboard{max-width:1460px;margin:0 auto;padding:16px 28px 26px}
.v51-card{background:#fff;border:1px solid #dfe8ef;border-radius:14px;box-shadow:0 5px 18px rgba(18,58,91,.055);overflow:hidden}
.v51-card-title{display:flex;align-items:center;gap:8px;margin-bottom:12px}.v51-card-title>span{font-size:18px}.v51-card-title h3{margin:0;color:#14528a;font-size:16px}.v51-card-title>a{margin-left:auto;color:#176c9d;font-size:9px;text-decoration:none;font-weight:800}
.v51-top-row{display:grid;grid-template-columns:.9fr .9fr 1.7fr;gap:14px;margin-bottom:15px}.v51-top-row>.v51-card{padding:18px}
.v51-today-update{background:linear-gradient(145deg,#fff,#f7fbff)}.v51-today-update h4,.v51-next-event h4{margin:8px 0;color:#263d54;font-size:14px;line-height:1.55}.v51-today-update>a,.v51-next-event a{display:inline-block;margin-top:8px;color:#0d70af;font-size:9px;font-weight:900;text-decoration:none}.v51-today-update small{display:block;margin-top:14px;color:#8b9aa5;font-size:8px}
.v51-next-event{background:linear-gradient(145deg,#f8fff9,#f2fbf4)}.v51-event-inner{display:grid;grid-template-columns:1fr 92px;gap:12px;align-items:center}.v51-next-event strong{display:block;color:#d11c3d;font-size:12px}.v51-countdown{border:1px solid #8fd7ac;border-radius:11px;padding:11px;text-align:center;background:#effdf4;color:#16804a}.v51-countdown b{display:block;font-size:34px;line-height:1}.v51-countdown span,.v51-countdown small{display:block;font-size:9px;font-weight:800;margin-top:4px}
.v51-glance{background:linear-gradient(145deg,#fffdf8,#fffaf1)}.v51-stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.v51-stat-grid a{text-align:center;text-decoration:none;color:inherit}.v51-stat-grid a>span{width:38px;height:38px;margin:auto;display:grid;place-items:center;border-radius:9px;background:#eff5fa;font-size:18px}.v51-stat-grid small{display:block;color:#7f8c96;font-size:8px;margin-top:5px}.v51-stat-grid b{display:block;color:#171f27;font-size:18px;margin-top:2px}
.v51-feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:15px}.v51-feature-row>.v51-card{padding:16px}.v51-map-visual{position:relative;height:132px;border-radius:10px;background:linear-gradient(20deg,#edf7e8 0 35%,#e3eff7 35% 55%,#f4eedf 55%);overflow:hidden}.v51-map-road{position:absolute;left:-10%;right:-10%;top:54%;height:18px;background:#fff;transform:rotate(-8deg);box-shadow:0 0 0 3px #d6dde2}.v51-map-visual .pin{position:absolute;font-size:22px}.v51-map-visual .p1{left:18%;top:20%}.v51-map-visual .p2{left:55%;top:25%}.v51-map-visual .p3{left:35%;top:60%}.v51-map-visual .p4{right:15%;top:48%}.v51-explore-links{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:10px 0}.v51-explore-links a{padding:7px;border:1px solid #d5e3ec;border-radius:8px;text-align:center;color:#175c8b;text-decoration:none;font-size:8px;font-weight:800}
.v51-wide-btn,.v51-red-btn{display:block;padding:9px 10px;border-radius:7px;text-align:center;text-decoration:none;font-size:9px;font-weight:900}.v51-wide-btn{background:#145ed3;color:#fff}.v51-red-btn{margin-top:auto;background:#d41637;color:#fff}.v51-outline-btn,.v51-wide-light{display:block;margin-top:11px;padding:8px;border:1px solid #cfe0ea;border-radius:8px;text-align:center;color:#176b9d;text-decoration:none;font-size:9px;font-weight:900}
.v51-then-now-images{display:grid;grid-template-columns:1fr 1fr;height:140px;border-radius:10px;overflow:hidden}.v51-then-now-images>div{position:relative}.v51-then-now-images img{width:100%;height:100%;object-fit:cover;filter:saturate(.86)}.v51-then-now-images span{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:8px}.v51-then-now p,.v51-archive-card p,.v51-achievement-spot p,.v51-people-spot p{font-size:9px;color:#718492;line-height:1.55}
.v51-feature-img{width:100%;height:140px;object-fit:cover;border-radius:10px}.v51-archive-card h4{margin:9px 0 4px;color:#263d54;font-size:12px}.v51-person-feature{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center}.v51-person-feature.centered{grid-template-columns:105px 1fr}.v51-person-feature img,.v51-person-placeholder{width:92px;height:118px;border-radius:10px;object-fit:cover;background:#edf4f8;display:grid;place-items:center;font-size:35px}.v51-person-feature.centered img,.v51-person-feature.centered .v51-person-placeholder{width:105px;height:105px;border-radius:50%}.v51-person-feature h4{margin:0 0 6px;color:#164f79;font-size:12px}
.v51-community-row{display:grid;grid-template-columns:1.25fr .95fr .9fr .9fr;gap:14px;margin-bottom:15px}.v51-community-row>.v51-card{padding:16px}.v51-ranked-list>a{display:grid;grid-template-columns:28px 1fr auto;gap:8px;padding:9px 0;border-bottom:1px solid #edf2f5;text-decoration:none;align-items:center}.v51-ranked-list>a>b{color:#b9c5ce;font-size:17px}.v51-ranked-list>a>strong{color:#174f79;font-size:9px}.v51-ranked-list>a>small{color:#8999a4;font-size:8px}.v51-country-list a{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid #edf2f5;text-decoration:none}.v51-country-list strong{color:#174f79;font-size:9px}.v51-country-list b{color:#537b96;font-size:9px}.v51-contribute-card{display:flex;flex-direction:column;background:linear-gradient(145deg,#fff,#fff4f3)}.v51-contribute-card p{font-size:10px;line-height:1.7;color:#5d6e7a}
.v51-wide-section{margin:0 0 15px}.v51-latest-row{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:15px}.v51-latest-row>.v51-card{padding:16px}.v51-news-line{display:grid;grid-template-columns:72px 1fr;gap:9px;padding:8px 0;border-bottom:1px solid #edf2f5;text-decoration:none}.v51-news-line img{width:72px;height:52px;object-fit:cover;border-radius:7px}.v51-news-line strong,.v51-event-line strong{display:block;color:#174f79;font-size:9px}.v51-news-line small{color:#8b99a4;font-size:8px}.v51-event-line{display:grid;grid-template-columns:44px 1fr;gap:9px;padding:8px 0;border-bottom:1px solid #edf2f5;text-decoration:none;align-items:center}.v51-event-line>span{border:1px solid #d9e4eb;border-radius:8px;text-align:center;padding:5px 2px}.v51-event-line>span b{display:block;color:#c51c3a}.v51-event-line>span small{font-size:7px;color:#657c8c}
.v51-bottom-shortcuts{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;border:1px solid #e0e8ee;border-radius:12px;overflow:hidden;background:#e7edf1;margin-bottom:15px}.v51-bottom-shortcuts>a{display:flex;gap:8px;align-items:center;padding:12px;background:#fff;text-decoration:none}.v51-bottom-shortcuts>a>span{font-size:22px}.v51-bottom-shortcuts strong{display:block;color:#174f79;font-size:9px}.v51-bottom-shortcuts small{display:block;color:#718595;font-size:7px;margin-top:2px}.v51-share-row{margin:12px 0 0!important;padding:0!important}
@media(max-width:1150px){.v51-top-row{grid-template-columns:1fr 1fr}.v51-glance{grid-column:1/-1}.v51-feature-row{grid-template-columns:repeat(2,1fr)}.v51-community-row{grid-template-columns:repeat(2,1fr)}.v51-bottom-shortcuts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.home-v51-dashboard{padding:12px}.v51-top-row,.v51-feature-row,.v51-community-row,.v51-latest-row{grid-template-columns:1fr}.v51-glance{grid-column:auto}.v51-stat-grid{grid-template-columns:repeat(3,1fr)}.v51-bottom-shortcuts{grid-template-columns:repeat(2,1fr)}.v51-person-feature,.v51-person-feature.centered{grid-template-columns:78px 1fr}.v51-person-feature img,.v51-person-feature.centered img,.v51-person-placeholder,.v51-person-feature.centered .v51-person-placeholder{width:78px;height:78px;border-radius:50%}}

/* V52 — Remove homepage blue statistics bar */
.home-blue > .stats-blue,
.stats-blue{
  display:none!important;
}


/* =========================================================
   V53 - CENTER HOMEPAGE QUICK CATEGORY MENU
   Keeps the 16-item menu centered below the hero on desktop.
   ========================================================= */
@media (min-width: 901px) {
  .home-blue .quick-grid,
  .home-blue .hero-quick-grid,
  .home-blue .category-grid,
  .home-blue .home-category-grid {
    width: min(1240px, calc(100% - 48px)) !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    right: auto !important;
  }
}

/* Preserve responsive layout on tablets and phones */
@media (max-width: 900px) {
  .home-blue .quick-grid,
  .home-blue .hero-quick-grid,
  .home-blue .category-grid,
  .home-blue .home-category-grid {
    width: calc(100% - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* =========================================================
   V54 - REAL FIX: CENTER THE ACTUAL .quick-blue MENU
   ========================================================= */

/* Desktop / laptop */
@media (min-width: 921px) {
  .home-blue > .quick-blue,
  .quick-blue {
    width: min(1240px, calc(100% - 64px)) !important;
    max-width: 1240px !important;

    /* override the old: margin ... 0 ... 2.2vw */
    margin: -1px auto 16px auto !important;

    left: auto !important;
    right: auto !important;

    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  }
}

/* Medium screens */
@media (min-width: 681px) and (max-width: 920px) {
  .home-blue > .quick-blue,
  .quick-blue {
    width: calc(100% - 32px) !important;
    max-width: 900px !important;
    margin: 0 auto 16px auto !important;
    left: auto !important;
    right: auto !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Phones */
@media (max-width: 680px) {
  .home-blue > .quick-blue,
  .quick-blue {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin: 0 auto 14px auto !important;
    left: auto !important;
    right: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* =========================================================
   V55 — Then & Now / Old Memories + 2x3 Home Gallery
   ========================================================= */
.v55-heritage-card-link{display:block;text-decoration:none;color:inherit}
.v55-heritage-card-link h4{color:#164f79;margin:9px 0 4px}
.v55-home-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.v55-home-gallery-grid>a{display:grid;grid-template-columns:92px minmax(0,1fr);gap:9px;align-items:center;padding:7px;border:1px solid #e1e9ef;border-radius:9px;text-decoration:none;background:#fbfdff;min-height:74px}
.v55-home-gallery-grid img{width:92px;height:60px;object-fit:cover;border-radius:7px}
.v55-home-gallery-grid strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#174f79;font-size:9px;line-height:1.35}
.v55-home-gallery-grid small{display:block;color:#8999a4;font-size:7px;margin-top:4px}
.admin-heritage-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-v55-heritage-list,.admin-v55-memory-list{display:grid;gap:10px}
.admin-v55-heritage-list article,.admin-v55-memory-list article{display:grid;grid-template-columns:180px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid #e0e8ee;border-radius:11px;background:#fff}
.admin-v55-heritage-list .pair{display:grid;grid-template-columns:1fr 1fr;gap:5px}.admin-v55-heritage-list .pair img{width:100%;height:80px;object-fit:cover;border-radius:7px}
.admin-v55-memory-list article>img{width:180px;height:95px;object-fit:cover;border-radius:8px}.admin-v55-heritage-list h3,.admin-v55-memory-list h3{margin:0;color:#174f79}.admin-v55-heritage-list small,.admin-v55-memory-list small{font-size:8px;color:#6c8595}.admin-v55-heritage-list form,.admin-v55-memory-list form{display:flex;gap:5px;flex-wrap:wrap}.admin-v55-heritage-list button,.admin-v55-memory-list button{border:0;border-radius:7px;padding:7px 9px;background:#edf5f9;color:#245e81;font-weight:800;cursor:pointer}.admin-v55-heritage-list .danger,.admin-v55-memory-list .danger{background:#fff0f2;color:#ae2941}
.v55-then-now-list{display:grid;gap:18px}.v55-then-now-list article{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;padding:16px;border:1px solid #dfe8ef;border-radius:14px;background:#fff}.v55-then-now-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v55-then-now-pair figure{position:relative;margin:0}.v55-then-now-pair img{width:100%;height:280px;object-fit:cover;border-radius:10px}.v55-then-now-pair figcaption{position:absolute;left:10px;bottom:10px;background:rgba(8,48,78,.82);color:#fff;border-radius:999px;padding:5px 9px;font-size:9px}.v55-heritage-copy h3{color:#174f79}.v55-heritage-copy p,.v55-memory-description{color:#647d8e;line-height:1.75}
.v55-memory-albums{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.v55-memory-albums>a{overflow:hidden;border:1px solid #dfe8ef;border-radius:13px;background:#fff;text-decoration:none;color:inherit}.v55-memory-albums img{width:100%;height:210px;object-fit:cover}.v55-memory-albums div{padding:12px}.v55-memory-albums h3{margin:0;color:#174f79}.v55-memory-albums p{color:#83939d;font-size:9px}
@media(max-width:900px){.admin-heritage-grid{grid-template-columns:1fr}.v55-then-now-list article{grid-template-columns:1fr}.v55-memory-albums{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.v55-home-gallery-grid{grid-template-columns:1fr}.admin-v55-heritage-list article,.admin-v55-memory-list article{grid-template-columns:1fr}.admin-v55-memory-list article>img{width:100%;height:180px}.v55-then-now-pair{grid-template-columns:1fr}.v55-then-now-pair img{height:230px}.v55-memory-albums{grid-template-columns:1fr}}

/* =========================================================
   V56 — Admin uploadable website logo
   ========================================================= */
.site-logo-setting{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:20px;
  align-items:center;
  margin:12px 0 20px;
  padding:16px;
  border:1px solid #dce7ef;
  border-radius:13px;
  background:#f8fbfd;
}
.site-logo-preview{
  height:130px;
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed #bdd2df;
  border-radius:11px;
  background:#fff;
}
.site-logo-preview img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.site-logo-controls{min-width:0}
.site-logo-remove{
  display:flex!important;
  align-items:center;
  gap:7px;
  margin-top:12px;
  color:#9b3143;
  font-size:10px;
  font-weight:800;
}
.brand-blue>img,
.footer-blue-brand>img,
.admin-v16-brand>img{
  object-fit:contain;
}
@media(max-width:700px){
  .site-logo-setting{grid-template-columns:1fr}
}

/* =========================================================
   V57 — Unified homepage width + readable Latest News/Gallery
   ========================================================= */

/* Make the quick menu, smart links and the dashboard use one centered width */
@media (min-width: 921px) {
  .quick-blue,
  .home-v50-smartbar,
  .home-v51-dashboard {
    width: min(1240px, calc(100% - 64px)) !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .home-v50-smartbar {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .home-v51-dashboard {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* The three small links directly below the category menu are equal width */
.home-v50-smartbar {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 12px !important;
}
.home-v50-smartbar > a {
  min-width: 0;
  min-height: 76px;
  padding: 14px 16px !important;
}
.home-v50-smartbar small {
  font-size: 9px !important;
}
.home-v50-smartbar strong {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

/* Latest News and Photo Gallery must be exactly the same width */
.v51-latest-row {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
.v51-latest-row > .v51-card {
  width: 100%;
  min-width: 0;
  padding: 18px !important;
}

/* Make section titles easier to read */
.v51-latest-row .v51-card-title h3 {
  font-size: 19px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.v51-latest-row .v51-card-title > span {
  font-size: 22px !important;
}
.v51-latest-row .v51-card-title > a {
  font-size: 11px !important;
}

/* Latest News readability */
.v51-news-line {
  grid-template-columns: 96px minmax(0,1fr) !important;
  gap: 12px !important;
  padding: 11px 0 !important;
  min-height: 82px;
}
.v51-news-line img {
  width: 96px !important;
  height: 68px !important;
}
.v51-news-line strong {
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}
.v51-news-line small {
  font-size: 9px !important;
  margin-top: 5px;
  display: block;
}

/* Photo Gallery stays 2 columns x 3 rows, but text is larger */
.v55-home-gallery-grid {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 10px !important;
}
.v55-home-gallery-grid > a {
  grid-template-columns: 112px minmax(0,1fr) !important;
  min-height: 88px !important;
  padding: 9px !important;
  gap: 11px !important;
}
.v55-home-gallery-grid img {
  width: 112px !important;
  height: 72px !important;
}
.v55-home-gallery-grid strong {
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
}
.v55-home-gallery-grid small {
  font-size: 9px !important;
  margin-top: 5px !important;
}

/* Dedicated history timeline admin */
.timeline-admin-list {
  display:grid;
  gap:7px;
}
.timeline-admin-list > a {
  display:grid;
  grid-template-columns:64px 70px minmax(0,1fr) 20px;
  gap:10px;
  align-items:center;
  padding:9px;
  border:1px solid #e0e8ee;
  border-radius:9px;
  text-decoration:none;
  color:inherit;
  background:#fff;
}
.timeline-admin-list > a.active {
  border-color:#8bbad7;
  background:#f2f9fd;
}
.timeline-admin-list img,
.timeline-admin-list > a > span {
  width:64px;
  height:48px;
  object-fit:cover;
  border-radius:7px;
  display:grid;
  place-items:center;
  background:#eef5f9;
  font-size:22px;
}
.timeline-admin-list time {
  color:#b21d39;
  font-size:15px;
  font-weight:900;
}
.timeline-admin-list strong {
  display:block;
  color:#174f79;
  font-size:11px;
}
.timeline-admin-list small {
  display:block;
  margin-top:3px;
  color:#8495a1;
  font-size:8px;
}

@media (max-width: 920px) {
  .home-v50-smartbar,
  .home-v51-dashboard {
    width: calc(100% - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
}

@media (max-width: 700px) {
  .home-v50-smartbar {
    grid-template-columns: 1fr !important;
  }
  .v51-latest-row {
    grid-template-columns: 1fr !important;
  }
  .v55-home-gallery-grid {
    grid-template-columns: 1fr !important;
  }
  .v51-news-line {
    grid-template-columns: 82px minmax(0,1fr) !important;
  }
  .v51-news-line img {
    width:82px !important;
    height:62px !important;
  }
  .v55-home-gallery-grid > a {
    grid-template-columns: 100px minmax(0,1fr) !important;
  }
  .v55-home-gallery-grid img {
    width:100px !important;
    height:70px !important;
  }
  .timeline-admin-list > a {
    grid-template-columns:52px 58px minmax(0,1fr) 16px;
  }
  .timeline-admin-list img,
  .timeline-admin-list > a > span {
    width:52px;height:44px;
  }
}

/* =========================================================
   V58 — Wider centered homepage + Next Event thumbnail
   ========================================================= */
@media (min-width: 921px) {
  .quick-blue,
  .home-v50-smartbar,
  .home-v51-dashboard {
    width: min(1500px, calc(100% - 40px)) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

.v51-next-event .v51-event-inner {
  grid-template-columns: 76px minmax(0,1fr) 82px !important;
  gap: 12px !important;
  align-items: center !important;
}

.v58-next-event-photo {
  width: 76px;
  height: 66px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #dce8e1;
  background: #fff;
  display: block;
  box-shadow: 0 3px 10px rgba(18,74,51,.08);
}

.v58-next-event-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.v58-next-event-photo-empty {
  display: grid;
  place-items: center;
  font-size: 25px;
  background: #f2fbf4;
}

.v58-next-event-info {
  min-width: 0;
}

.v58-next-event-info h4 {
  margin-top: 0 !important;
}

@media (max-width: 700px) {
  .v51-next-event .v51-event-inner {
    grid-template-columns: 68px minmax(0,1fr) 68px !important;
    gap: 9px !important;
  }
  .v58-next-event-photo {
    width: 68px;
    height: 60px;
  }
  .v51-countdown {
    padding: 8px 5px !important;
  }
  .v51-countdown b {
    font-size: 27px !important;
  }
}

/* =========================================================
   V59 — Preserve News/Post line breaks and typed spacing
   ========================================================= */
.post-rich-content {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.8;
}
.post-rich-content p,
.post-rich-content div,
.post-rich-content h2,
.post-rich-content h3,
.post-rich-content blockquote,
.post-rich-content ul,
.post-rich-content ol {
  white-space: pre-wrap;
}
.post-rich-content p {
  margin: 0 0 1em;
}
.post-rich-content p:empty,
.post-rich-content p:has(> br:only-child) {
  min-height: 1em;
}
.post-rich-content br {
  content: "";
}

/* Admin editor should visually match what appears on the public post. */
.rich-surface {
  white-space: pre-wrap;
  line-height: 1.75;
}

/* =========================================================
   V60 — News / Article source and contributor attribution
   ========================================================= */
.post-attribution{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:12px 0 20px;
}
.post-attribution-item{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:190px;
  padding:9px 12px;
  border:1px solid #dce7ee;
  border-radius:10px;
  background:#f7fafc;
}
.post-attribution-item>span{
  font-size:17px;
}
.post-attribution-item small{
  display:block;
  color:#8596a2;
  font-size:8px;
  font-weight:800;
  margin-bottom:2px;
}
.post-attribution-item strong,
.post-attribution-item a{
  display:block;
  color:#174f79;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
}
.post-attribution-item a:hover{
  text-decoration:underline;
}
@media(max-width:600px){
  .post-attribution{
    display:grid;
    grid-template-columns:1fr;
  }
  .post-attribution-item{
    min-width:0;
  }
}

/* =========================================================
   V61 — Video posts
   ========================================================= */
.admin-video-box{
  margin-bottom:18px;
  padding:14px;
  border:1px solid #dce7ee;
  border-radius:12px;
  background:#f8fbfd;
}
.admin-current-video{
  display:grid;
  grid-template-columns:minmax(0,420px) 1fr;
  gap:14px;
  align-items:center;
  margin-top:12px;
}
.admin-current-video video{
  width:100%;
  max-height:240px;
  border-radius:10px;
  background:#000;
}
.post-video-player{
  margin:18px 0 24px;
}
.post-video-player video{
  display:block;
  width:100%;
  max-height:720px;
  border-radius:14px;
  background:#000;
  box-shadow:0 8px 26px rgba(0,0,0,.12);
}
.post-video-embed{
  position:relative;
  width:100%;
  padding-top:56.25%;
  border-radius:14px;
  overflow:hidden;
  background:#000;
}
.post-video-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.post-video-external{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:90px;
  padding:18px;
  border-radius:12px;
  background:#102b40;
  color:#fff;
  font-weight:900;
  text-decoration:none;
}
.video-category-page article,
.video-category-page .post-card,
.video-category-page .news-card,
.video-category-page .category-card{
  position:relative;
}
.video-category-page article:has(img)::after,
.video-category-page .post-card:has(img)::after,
.video-category-page .news-card:has(img)::after,
.video-category-page .category-card:has(img)::after{
  content:"▶";
  position:absolute;
  left:18px;
  top:18px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(8,43,66,.88);
  color:#fff;
  font-size:18px;
  pointer-events:none;
  box-shadow:0 4px 14px rgba(0,0,0,.2);
}
@media(max-width:700px){
  .admin-current-video{grid-template-columns:1fr}
}

/* =========================================================
   V62 — Move Latest News into former "Kokuvil at a Glance"
   ========================================================= */

/* Top row remains: Today's Update | Next Event | Latest News */
.v51-top-row{
  grid-template-columns:.9fr .9fr 1.7fr !important;
}

.v62-top-latest-news{
  padding:18px !important;
  background:linear-gradient(145deg,#fff,#f7fbff);
}

.v62-top-latest-news .v51-card-title{
  margin-bottom:9px;
}

.v62-top-latest-news .v51-card-title h3{
  font-size:17px !important;
}

.v62-top-latest-news .v51-card-title>a{
  font-size:10px !important;
}

.v62-top-news-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
}

.v62-top-news-list>a{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  align-items:center;
  gap:9px;
  min-height:68px;
  padding:7px;
  border:1px solid #e2eaf0;
  border-radius:9px;
  background:#fff;
  text-decoration:none;
}

.v62-top-news-list img,
.v62-news-placeholder{
  width:72px;
  height:54px;
  border-radius:7px;
}

.v62-top-news-list img{
  object-fit:cover;
  display:block;
}

.v62-news-placeholder{
  display:grid;
  place-items:center;
  background:#eef5f9;
  font-size:22px;
}

.v62-top-news-list strong{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#174f79;
  font-size:11px;
  line-height:1.45;
  font-weight:800;
}

.v62-top-news-list small{
  display:block;
  margin-top:4px;
  color:#8a9aa5;
  font-size:8px;
}

/* Old lower Latest News is removed; Gallery now fills the whole row */
.v62-gallery-row{
  grid-template-columns:1fr !important;
}

.v62-gallery-row>.v55-home-gallery{
  width:100% !important;
}

/* With full width available, keep the gallery easy to read */
.v62-gallery-row .v55-home-gallery-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

@media(max-width:1150px){
  .v51-top-row{
    grid-template-columns:1fr 1fr !important;
  }
  .v62-top-latest-news{
    grid-column:1/-1;
  }
}

@media(max-width:700px){
  .v51-top-row{
    grid-template-columns:1fr !important;
  }
  .v62-top-latest-news{
    grid-column:auto;
  }
  .v62-top-news-list{
    grid-template-columns:1fr;
  }
  .v62-top-news-list>a{
    grid-template-columns:78px minmax(0,1fr);
  }
  .v62-top-news-list img,
  .v62-news-placeholder{
    width:78px;
    height:58px;
  }
}
\n/* V63 — Kokuvil at a Glance beside Photo Gallery */\n.v63-gallery-glance-row{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;gap:16px!important;align-items:stretch!important}\n.v63-gallery-glance-row>.v51-card{height:100%}\n.v63-glance-beside-gallery{display:flex;flex-direction:column;justify-content:center;padding:22px!important}\n.v63-glance-beside-gallery .v51-card-title{margin-bottom:18px}\n.v63-glance-beside-gallery .v51-card-title h3{font-size:18px!important;line-height:1.4!important}\n.v63-glance-beside-gallery .v51-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}\n.v63-glance-beside-gallery .v51-stat-grid a{padding:12px 6px;border:1px solid #e4ebf0;border-radius:11px;background:#fff}\n.v63-glance-beside-gallery .v51-stat-grid a>span{width:44px;height:44px;font-size:20px}\n.v63-glance-beside-gallery .v51-stat-grid small{font-size:9px!important}\n.v63-glance-beside-gallery .v51-stat-grid b{font-size:20px!important}\n@media(max-width:920px){.v63-gallery-glance-row{grid-template-columns:1fr!important}.v63-glance-beside-gallery .v51-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}\n@media(max-width:520px){.v63-glance-beside-gallery .v51-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}\n
/* =========================================================
   V64 — Modern footer with reliable inline SVG icons
   ========================================================= */
.footer-v64{
  margin-top:34px;
  background:linear-gradient(135deg,#083c63 0%,#0c527f 55%,#0d628e 100%);
  color:#fff;
  border-top:4px solid #d6a847;
}
.footer-v64-inner{
  width:min(1500px,calc(100% - 40px));
  margin:0 auto;
  padding:38px 0 30px;
  display:grid;
  grid-template-columns:1.45fr .85fr .9fr 1.15fr;
  gap:34px;
}
.footer-v64-brand{
  padding-right:18px;
}
.footer-v64-logo{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:#fff;
}
.footer-v64-logo img{
  width:78px;
  height:78px;
  object-fit:contain;
  padding:5px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 22px rgba(0,0,0,.18);
}
.footer-v64-logo strong{
  display:block;
  font-size:25px;
  line-height:1.1;
  letter-spacing:.3px;
}
.footer-v64-logo span{
  display:block;
  margin-top:4px;
  font-size:13px;
  color:#d9ebf5;
}
.footer-v64-brand>p{
  max-width:480px;
  margin:17px 0 12px;
  font-size:12px;
  line-height:1.8;
  color:#d5e7f1;
}
.footer-v64-motto{
  display:block;
  color:#f5d98e;
  font-size:11px;
  line-height:1.6;
}
.footer-v64-social{
  display:flex;
  gap:8px;
  margin-top:17px;
}
.footer-v64-social>a{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#fff;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  transition:.2s ease;
}
.footer-v64-social>a:hover{
  background:#fff;
  color:#0b527f;
  transform:translateY(-2px);
}
.footer-v64-social svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-v64-social svg path:first-child{
  fill:none;
}
.footer-v64-social .fill-bg{
  fill:#0b527f;
  stroke:none;
}

.footer-v64-column h3,
.footer-v64-contact h3{
  position:relative;
  margin:0 0 17px;
  padding-bottom:10px;
  font-size:15px;
  color:#fff;
}
.footer-v64-column h3:after,
.footer-v64-contact h3:after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:38px;
  height:3px;
  border-radius:10px;
  background:#e0b34e;
}
.footer-v64-column>a{
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 0;
  color:#dbeaf3;
  text-decoration:none;
  font-size:11px;
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:.15s ease;
}
.footer-v64-column>a:hover{
  color:#fff;
  padding-left:4px;
}
.footer-v64-column i,
.footer-v64-contact-line>i{
  flex:0 0 auto;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:rgba(255,255,255,.1);
  color:#f0cf79;
  font-style:normal;
}
.footer-v64-column svg,
.footer-v64-contact-line svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.footer-v64-contact-line{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  background:rgba(255,255,255,.055);
}
.footer-v64-contact-line small{
  display:block;
  color:#a9c8db;
  font-size:8px;
  margin-bottom:2px;
}
.footer-v64-contact-line strong,
.footer-v64-contact-line a{
  display:block;
  color:#fff;
  font-size:10px;
  font-weight:800;
  text-decoration:none;
  overflow-wrap:anywhere;
}
.footer-v64-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:14px;
}
.footer-v64-buttons>a{
  min-height:42px;
  padding:9px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:9px;
  text-align:center;
  text-decoration:none;
  font-size:9px;
  font-weight:900;
}
.footer-v64-buttons .contact{
  color:#0b527f;
  background:#fff;
}
.footer-v64-buttons .submit{
  color:#fff;
  background:#c9213e;
}
.footer-v64-buttons svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.footer-v64-bottom{
  min-height:54px;
  width:min(1500px,calc(100% - 40px));
  margin:0 auto;
  padding:13px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#a9c7d9;
  font-size:9px;
}
.footer-v64-bottom>div{
  display:flex;
  gap:8px;
  align-items:center;
}
.footer-v64-bottom a{
  color:#d8e8f1;
  text-decoration:none;
}

@media(max-width:1050px){
  .footer-v64-inner{
    grid-template-columns:1.4fr 1fr 1fr;
  }
  .footer-v64-contact{
    grid-column:1/-1;
  }
  .footer-v64-contact{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
  }
  .footer-v64-contact h3,
  .footer-v64-buttons{
    grid-column:1/-1;
  }
}
@media(max-width:720px){
  .footer-v64-inner{
    width:calc(100% - 28px);
    padding:28px 0 22px;
    grid-template-columns:1fr 1fr;
    gap:24px 18px;
  }
  .footer-v64-brand,
  .footer-v64-contact{
    grid-column:1/-1;
  }
  .footer-v64-contact{
    display:block;
  }
  .footer-v64-logo img{
    width:64px;
    height:64px;
  }
  .footer-v64-logo strong{
    font-size:21px;
  }
  .footer-v64-bottom{
    width:calc(100% - 28px);
    flex-direction:column;
    justify-content:center;
    text-align:center;
    padding:14px 0;
  }
}
@media(max-width:480px){
  .footer-v64-inner{
    grid-template-columns:1fr;
  }
  .footer-v64-brand,
  .footer-v64-contact{
    grid-column:auto;
  }
  .footer-v64-buttons{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   V65 — FORCE FOOTER DARK BACKGROUND
   Fixes cached/overridden white footer background.
   ========================================================= */
html body footer.footer-v64,
body .footer-v64,
.footer-v64 {
  background: #083c63 !important;
  background-image: linear-gradient(135deg,#083c63 0%,#0b4f7a 55%,#0d628e 100%) !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

html body footer.footer-v64 * {
  opacity: 1;
}

html body footer.footer-v64 .footer-v64-inner {
  background: transparent !important;
}

html body footer.footer-v64 .footer-v64-bottom {
  background: rgba(0,0,0,.12) !important;
  color: #c8ddea !important;
}

html body footer.footer-v64 .footer-v64-column h3,
html body footer.footer-v64 .footer-v64-contact h3,
html body footer.footer-v64 .footer-v64-logo,
html body footer.footer-v64 .footer-v64-logo strong,
html body footer.footer-v64 .footer-v64-contact-line strong,
html body footer.footer-v64 .footer-v64-contact-line a {
  color: #ffffff !important;
}

html body footer.footer-v64 .footer-v64-column > a,
html body footer.footer-v64 .footer-v64-brand > p,
html body footer.footer-v64 .footer-v64-bottom a {
  color: #dcebf4 !important;
}

html body footer.footer-v64 .footer-v64-motto {
  color: #f2cf76 !important;
}

/* =========================================================
   V67 — Separate Birthdays + Advanced Memorial Portraits
   ========================================================= */
.birthday-hero{text-align:center;padding:34px 18px;margin:18px 0 24px;border-radius:18px;background:linear-gradient(135deg,#fff4f8,#fff9e9);border:1px solid #f3dce5}.birthday-hero>span{font-size:42px}.birthday-hero small{display:block;color:#bd315b;font-weight:900;letter-spacing:1px;margin-top:6px}.birthday-hero h2{font-size:30px;color:#9d2148;margin:6px 0}.birthday-hero p{color:#7b6f76}
.birthday-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.birthday-card{text-decoration:none;background:#fff;border:1px solid #eadfe4;border-radius:17px;overflow:hidden;box-shadow:0 8px 24px rgba(81,39,56,.07);color:inherit}.birthday-frame-card{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f3f3f3}.birthday-person-photo{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:var(--x,50%) var(--y,50%);transform:scale(var(--zoom,1));transform-origin:var(--x,50%) var(--y,50%)}.birthday-public-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:3;pointer-events:none}.birthday-person-placeholder,.birthday-crop-placeholder{height:100%;display:grid;place-items:center;font-size:64px;background:#f4edf0}.birthday-card-copy{padding:15px;text-align:center}.birthday-card-copy small{color:#c02853;font-size:9px;font-weight:900}.birthday-card-copy h3{font-size:18px;color:#8e2144;margin:6px 0}.birthday-card-copy time{font-size:11px;color:#b48a31;font-weight:900}.birthday-card-copy p{font-size:10px;color:#7b8790;line-height:1.6}.birthday-card-copy>b{font-size:9px;color:#a5254a}
.birthday-detail-card{display:grid;grid-template-columns:430px 1fr;gap:32px;align-items:center;padding:26px;border:1px solid #eadfe4;border-radius:20px;background:linear-gradient(135deg,#fff,#fff8fb)}.birthday-frame-card.large{width:100%;max-width:430px;margin:auto}.birthday-detail-copy small{color:#c42b57;font-weight:900}.birthday-detail-copy h1{font-size:34px;color:#8e2144}.birthday-detail-copy time{display:block;color:#b1852d;font-weight:900;margin-bottom:14px}.birthday-detail-copy>div{line-height:1.9;color:#536b7a}.birthday-more-photos{margin-top:24px}.birthday-more-photos h2{color:#174f79}
.birthday-photo-editor{display:grid;grid-template-columns:360px 1fr;gap:24px;align-items:center;padding:16px;border:1px solid #dfe8ee;border-radius:14px;background:#f8fbfd}.birthday-crop-preview,.memorial-crop-preview{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:14px;background:#edf2f5}.birthday-crop-preview>img:not(.birthday-frame-overlay),.memorial-crop-preview>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:var(--x) var(--y);transform:scale(var(--zoom));transform-origin:var(--x) var(--y)}.birthday-frame-overlay{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important;z-index:4;transform:none!important}.birthday-crop-controls{display:grid;gap:8px}.birthday-crop-controls>label{font-size:10px;font-weight:800;color:#315a72}.birthday-crop-controls input[type=range]{width:100%}.birthday-frame-admin{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}.birthday-frame-preview{height:180px;display:grid;place-items:center;background:#f7fafc;border:1px dashed #c9d7df;border-radius:12px}.birthday-frame-preview img{max-width:100%;max-height:100%;object-fit:contain}
.v67-crop-photo{overflow:hidden}.v67-crop-photo>img{width:100%;height:100%;object-fit:cover;object-position:var(--x) var(--y);transform:scale(var(--zoom));transform-origin:var(--x) var(--y)}.rip-card-link{text-decoration:none;color:inherit}.v67-view-detail{display:block;color:#8b3450;font-size:9px;margin-top:10px}.memorial-detail-card-v67{display:grid;grid-template-columns:380px 1fr;gap:32px;padding:26px;background:#fff;border:1px solid #e3e8ec;border-radius:18px}.memorial-detail-photo-v67{height:460px;border-radius:16px;background:#eef2f4}.memorial-detail-card-v67 h1{font-size:32px;color:#243a49}.memorial-tribute-v67{margin-top:18px;line-height:1.9;color:#536b79}
@media(max-width:1000px){.birthday-grid{grid-template-columns:repeat(2,1fr)}.birthday-detail-card,.memorial-detail-card-v67{grid-template-columns:1fr}.birthday-photo-editor{grid-template-columns:280px 1fr}}
@media(max-width:650px){.birthday-grid{grid-template-columns:1fr}.birthday-photo-editor,.birthday-frame-admin{grid-template-columns:1fr}.birthday-detail-card{padding:16px}.memorial-detail-card-v67{padding:16px}.memorial-detail-photo-v67{height:390px}}

/* =========================================================
   V68 — Advanced Birthday Photo Editor / Real Saved Composite
   ========================================================= */
.birthday-crop-preview>img:not(.birthday-frame-overlay){
  transform:scale(var(--zoom,1)) rotate(var(--rotation,0deg)) !important;
  filter:brightness(var(--brightness,100%)) contrast(var(--contrast,100%));
}
.birthday-final-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.birthday-saved-final{
  display:grid;
  grid-template-columns:1fr 170px;
  gap:16px;
  align-items:center;
  margin:16px 0;
  padding:13px;
  border:1px solid #bcdcca;
  background:#f2fbf6;
  border-radius:12px;
}
.birthday-saved-final strong{display:block;color:#237047;font-size:11px}
.birthday-saved-final small{display:block;color:#718a7e;font-size:9px;margin-top:4px}
.birthday-saved-final a{display:block}
.birthday-saved-final img{display:block;width:170px;height:170px;object-fit:cover;border-radius:10px;border:1px solid #d5e4db}
.birthday-crop-controls .admin-secondary-btn{margin-top:8px;justify-self:start}
@media(max-width:650px){.birthday-saved-final{grid-template-columns:1fr}.birthday-saved-final img{width:100%;height:auto;aspect-ratio:1/1}}

/* =========================================================
   V69 — Immediate Drag & Drop Advanced Photo Editor
   ========================================================= */
.v69-draggable-preview,
.v69-large-stage{
  cursor:grab;
  user-select:none;
  touch-action:none;
}
.v69-draggable-preview.is-dragging,
.v69-large-stage.is-dragging{
  cursor:grabbing;
}
.v69-draggable-preview img,
.v69-large-stage img{
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
.v69-drag-help{
  margin-top:8px;
  padding:7px 9px;
  border-radius:8px;
  background:#edf7fd;
  color:#35677f;
  font-size:9px;
  font-weight:800;
  text-align:center;
}
.v69-open-editor{
  width:100%;
  margin-top:8px;
}

.v69-photo-editor-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:99999;
}
.v69-photo-editor-modal.show{
  display:block;
}
.v69-photo-editor-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,18,29,.82);
  backdrop-filter:blur(4px);
}
.v69-photo-editor-panel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(1180px,calc(100% - 30px));
  max-height:94vh;
  overflow:auto;
  border-radius:18px;
  background:#fff;
  box-shadow:0 30px 80px rgba(0,0,0,.38);
}
.v69-photo-editor-head{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:16px 18px;
  border-bottom:1px solid #e0e8ee;
  background:#fff;
}
.v69-photo-editor-head h3{
  margin:0;
  color:#174f79;
  font-size:18px;
}
.v69-photo-editor-head p{
  margin:4px 0 0;
  color:#718591;
  font-size:10px;
}
.v69-editor-close{
  width:38px;height:38px;border:0;border-radius:9px;background:#edf3f6;color:#274c62;
  font-size:25px;line-height:1;cursor:pointer;
}
.v69-photo-editor-body{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(290px,.65fr);
  gap:20px;
  padding:18px;
}
.v69-photo-editor-stage-wrap{
  min-width:0;
}
.v69-large-stage{
  width:min(100%,720px);
  margin:auto;
  aspect-ratio:1/1;
  border-radius:16px;
  box-shadow:0 8px 30px rgba(10,55,83,.15);
  background:#e8eef2;
}
.v69-editor-hint{
  margin-top:9px;
  text-align:center;
  color:#6c8290;
  font-size:10px;
  font-weight:800;
}
.v69-editor-tools{
  display:grid;
  align-content:start;
  gap:8px;
  padding:14px;
  border:1px solid #dfe8ed;
  border-radius:14px;
  background:#f8fbfd;
}
.v69-editor-tools>label{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#315a72;
  font-size:10px;
  font-weight:900;
  margin-top:3px;
}
.v69-editor-tools input[type=range]{
  width:100%;
}
.v69-tool-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-bottom:6px;
}
.v69-tool-row button{
  min-height:38px;
  border:1px solid #cddde7;
  border-radius:8px;
  background:#fff;
  color:#245a78;
  font-weight:900;
  cursor:pointer;
}
.v69-tool-row .v69-done-btn{
  color:#fff;
  background:#14704b;
  border-color:#14704b;
}
body.v69-editor-open{
  overflow:hidden;
}
@media(max-width:850px){
  .v69-photo-editor-body{grid-template-columns:1fr}
  .v69-photo-editor-panel{max-height:96vh}
  .v69-large-stage{width:min(100%,620px)}
}

/* =========================================================
   V70 — Birthday selected-image fix + Memorial advanced editor
   ========================================================= */
.v70-selected-photo{
  display:block;
  visibility:visible;
  opacity:1;
}
.birthday-crop-preview>img:not(.birthday-frame-overlay),
.memorial-crop-preview>img{
  z-index:2;
}
.birthday-crop-placeholder{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
}
.memorial-crop-preview>img,
.v67-crop-photo>img{
  transform:scale(var(--zoom,1)) rotate(var(--rotation,0deg)) !important;
  filter:brightness(var(--brightness,100%)) contrast(var(--contrast,100%));
}

/* =========================================================
   V71 — TRUE FREE DRAG + Memorial Frame
   ========================================================= */
.birthday-crop-preview>img:not(.birthday-frame-overlay),
.memorial-crop-preview>img:not(.birthday-frame-overlay){
  object-position:var(--x,50%) var(--y,50%) !important;
  transform:
    translate(var(--pan-x,0%),var(--pan-y,0%))
    scale(var(--zoom,1))
    rotate(var(--rotation,0deg)) !important;
  transform-origin:center center !important;
}
.birthday-frame-overlay{
  z-index:10 !important;
  pointer-events:none !important;
  transform:none !important;
  filter:none !important;
}
.v69-draggable-preview,.v69-large-stage{
  overflow:hidden !important;
}
.memorial-final-image{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:none !important;
  filter:none !important;
}
