/* ABPL Frontend: all styles scoped to the plugin root; never modifies theme navigation/footer */
/* Hind Siliguri typography. Kept inside the ABPL content so theme header/footer stay untouched.
   Exclude common icon fonts so theme icons and controls continue displaying correctly. */
.abplgp-root, .abplgp-root *:not(.dashicons):not(.material-icons):not(.eicon):not([class^="fa-"]):not([class*=" fa-"]):not(i):not(svg) {font-family:'Hind Siliguri',sans-serif!important}
.abplgp-root{--abpl-navy:#0b1426;--abpl-gold:#e6ad37;--abpl-light:#eff4fa;position:relative;left:50%;width:100vw;max-width:100vw;margin-left:-50vw;margin-right:0;background:var(--abpl-light);color:#142439;font-family:'Hind Siliguri',sans-serif;line-height:1.7;overflow:hidden;font-size:15px;box-sizing:border-box;isolation:isolate}
.abplgp-root *{box-sizing:border-box}
.abplgp-root a{text-decoration:none}
.abplgp-root img{display:block;width:100%;height:auto}
.abplgp-root h1,.abplgp-root h2,.abplgp-root h3,.abplgp-root p{margin-top:0}
.abplgp-container{max-width:1240px;margin:0 auto;padding-left:25px;padding-right:25px;width:100%}
.abplgp-hero{background:linear-gradient(114deg,var(--abpl-navy) 0%,#192840 100%);color:#fff;position:relative;overflow:hidden}
.abplgp-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 82% 44%,rgba(230,173,55,.10),transparent 27%),linear-gradient(135deg,transparent 30%,rgba(255,255,255,.015) 50%,transparent 75%)}
.abplgp-hero-inner{position:relative;z-index:1;padding-top:86px;padding-bottom:88px;min-height:290px}
.abplgp-hero-overline{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:700;color:var(--abpl-gold);letter-spacing:3px;margin-bottom:18px}
.abplgp-hero-overline>span{display:inline-block;width:34px;height:2px;background:var(--abpl-gold)}
.abplgp-hero h1{font-size:clamp(30px,4.1vw,55px);line-height:1.23;letter-spacing:-.5px;color:#fff;font-weight:750;max-width:900px;margin:0 0 17px}
.abplgp-hero p{font-size:15px;line-height:1.9;color:#c2cbd8;max-width:640px;margin:0}
.abplgp-hero-decoration{position:absolute;right:5%;top:-215px;width:510px;height:510px;border:1px solid rgba(230,173,55,.15);border-radius:50%;pointer-events:none}
.abplgp-hero-decoration:after{content:"";position:absolute;inset:60px;border:1px solid rgba(230,173,55,.11);border-radius:50%}
.abplgp-list-wrap{padding-top:64px;padding-bottom:94px}
.abplgp-section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:31px}
.abplgp-section-intro h2,.abplgp-detail-heading h2,.abplgp-detail-text h2{color:#15243a;font-size:clamp(24px,2.8vw,34px);line-height:1.4;margin:7px 0 0;font-weight:750}
.abplgp-section-intro>p{margin:0 0 3px;color:#8590a1;font-size:12px;letter-spacing:.4px}
.abplgp-kicker{font-size:11px;letter-spacing:2.5px;font-weight:800;color:#ba852b;text-transform:uppercase}
.abplgp-filters-front{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 29px}
.abplgp-filters-front button{appearance:none;background:#fff;border:1px solid #dfe5ed;border-radius:50px;color:#54657b;padding:9px 19px;cursor:pointer;line-height:1.5;font-weight:650;font-size:12px;transition:background .2s,color .2s,border-color .2s}
.abplgp-filters-front button:hover,.abplgp-filters-front button.is-active{background:var(--abpl-navy);border-color:var(--abpl-navy);color:#fff}
.abplgp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}
.abplgp-card{background:#fff;box-shadow:0 7px 27px rgba(16,34,64,.055);border:1px solid #e4eaf1;border-radius:14px;overflow:hidden;min-width:0;transition:transform .25s,box-shadow .25s,border-color .25s}
.abplgp-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(16,34,64,.11);border-color:#e5d1a4}
.abplgp-card-link{display:flex;flex-direction:column;height:100%;color:inherit!important}
.abplgp-card-visual{aspect-ratio:1.43;position:relative;overflow:hidden;background:linear-gradient(125deg,#17243a,#334b62)}
.abplgp-card-visual>img{width:100%;height:100%;object-fit:cover;transition:transform .65s}
.abplgp-card:hover .abplgp-card-visual>img{transform:scale(1.055)}
.abplgp-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:175px;background:linear-gradient(120deg,#0f1b30,#263e57);position:relative;overflow:hidden}
.abplgp-placeholder:before{content:"";position:absolute;width:310px;height:310px;border-radius:50%;border:1px solid rgba(230,173,55,.27);right:-100px;top:-120px}
.abplgp-placeholder span{font:700 22px 'Hind Siliguri',sans-serif;color:var(--abpl-gold);letter-spacing:4px;z-index:1}
.abplgp-count-label,.abplgp-project-status{position:absolute;bottom:15px;left:16px;background:rgba(12,23,43,.89);color:white;border:1px solid rgba(255,255,255,.22);font-size:11px;font-weight:650;padding:7px 14px;border-radius:20px;backdrop-filter:blur(4px)}
.abplgp-project-status{background:var(--abpl-gold);color:#13243d;border-color:var(--abpl-gold);font-weight:800}
.abplgp-card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:24px 24px 21px;min-height:181px}
.abplgp-card-cat{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;font-weight:800;color:#ae802c;margin-bottom:10px}
.abplgp-card-body h3{font-size:21px;line-height:1.43;color:#18283f;font-weight:750;margin:0 0 10px}
.abplgp-card-body p{font-size:13px;color:#7a8799;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 17px}
.abplgp-card-body .abplgp-location{color:#657488;font-weight:600;margin-bottom:8px}
.abplgp-card-bottom{margin-top:auto;width:100%;border-top:1px solid #e9edf2;padding-top:15px;display:flex;align-items:center;justify-content:space-between;color:#293c55;font-size:12px;font-weight:800}
.abplgp-card-bottom b{font-size:23px;line-height:1;font-weight:400;color:#b28534;transition:transform .2s}
.abplgp-card:hover .abplgp-card-bottom b{transform:translate(3px,-3px)}
.abplgp-no-match{background:#fff;border-radius:12px;padding:25px;color:#748399;text-align:center}
.abplgp-empty-public{background:#fff;border:1px dashed #ced9e7;border-radius:16px;text-align:center;padding:65px 25px;max-width:780px;margin:15px auto}
.abplgp-empty-icon{font-size:38px;color:#b99850;display:block;margin-bottom:14px}
.abplgp-empty-public h2{font-size:23px;font-weight:700;margin-bottom:7px;color:#1a2b42}
.abplgp-empty-public p{color:#8290a1;margin:0}
.abplgp-detail-wrap{padding-top:38px;padding-bottom:100px;min-height:350px}
.abplgp-back-link{display:inline-flex;color:#a47625!important;font-weight:700;font-size:13px;align-items:center;padding:7px 0;margin-bottom:28px}
.abplgp-back-link:hover{text-decoration:underline}
.abplgp-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}
.abplgp-detail-heading h2{margin-bottom:12px}
.abplgp-detail-count{flex:0 0 auto;text-align:center;background:#fff;border:1px solid #e5ebf2;min-width:125px;padding:13px 20px;font-size:33px;font-weight:800;line-height:1.25;color:#172943;border-radius:12px}
.abplgp-detail-count span{display:block;font-size:10px;color:#b38329;letter-spacing:1.4px;margin-top:8px}
.abplgp-richtext{color:#68788d;font-size:14px;line-height:2;max-width:860px}
.abplgp-richtext p{margin:0 0 12px}
.abplgp-richtext>*:last-child{margin-bottom:0}
.abplgp-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.abplgp-photo{position:relative;display:block;overflow:hidden;background:#152640;border-radius:10px;aspect-ratio:1.36;cursor:zoom-in}
.abplgp-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s,filter .45s}
.abplgp-photo:hover img{transform:scale(1.045);filter:brightness(.82)}
.abplgp-photo-zoom{position:absolute;right:15px;bottom:15px;width:35px;height:35px;display:grid;place-items:center;background:var(--abpl-gold);color:#13223c;font-size:24px;font-weight:400;border-radius:50%;opacity:0;transform:translateY(6px);transition:.2s}
.abplgp-photo:hover .abplgp-photo-zoom,.abplgp-photo:focus-visible .abplgp-photo-zoom{opacity:1;transform:translateY(0)}
.abplgp-project-detail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(285px,.82fr);gap:32px;align-items:start}
.abplgp-project-cover{width:100%;aspect-ratio:1.62;overflow:hidden;border-radius:14px;background:#192a43}
.abplgp-project-cover>img{width:100%;height:100%;object-fit:cover}
.abplgp-detail-text{padding-top:30px}
.abplgp-detail-text h2{margin-bottom:18px}
.abplgp-project-aside{border:1px solid #e3e9f0;border-top:3px solid var(--abpl-gold);background:#fff;padding:28px;border-radius:12px;box-shadow:0 12px 35px rgba(16,32,52,.05)}
.abplgp-project-aside-head{border-bottom:1px solid #e7ebf1;padding-bottom:19px;margin-bottom:13px}
.abplgp-project-aside-head>span{font-size:10px;letter-spacing:2px;color:#ad7925;font-weight:800}
.abplgp-project-aside-head h3{font-size:22px;margin:7px 0 0;color:#1b2a42}
.abplgp-project-fact{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #edf0f5;font-size:12px}
.abplgp-project-fact>span{color:#8090a4}
.abplgp-project-fact strong{text-align:right;color:#2a3c56;font-weight:750}
.abplgp-highlights{padding:25px 0 12px}
.abplgp-highlights>strong{font-size:14px;color:#18283c}
.abplgp-highlights ul{margin:12px 0 0;padding:0;list-style:none}
.abplgp-highlights li{font-size:12px;color:#66778d;padding:6px 0 6px 22px;position:relative}
.abplgp-highlights li:before{content:'✓';position:absolute;left:0;color:#ae8028;font-weight:bold}
.abplgp-gold-button{background:var(--abpl-gold);color:#16253a!important;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-radius:8px;font-weight:800;font-size:13px;margin-top:17px;transition:filter .2s}
.abplgp-gold-button:hover{filter:brightness(1.08)}
.abplgp-gold-button span{font-size:21px;font-weight:400;line-height:1}
.abplgp-detail-gallery-title{margin-top:65px;margin-bottom:27px}
.abplgp-detail-gallery-title h2{font-size:29px;color:#15253a;margin:6px 0 0}
/* Lightbox lives directly inside document.body to avoid clipping from themes */
.abplgp-lightbox{position:fixed;inset:0;background:rgba(6,12,22,.97);z-index:999999;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:65px 65px 70px;color:#fff;box-sizing:border-box}
.abplgp-lightbox[hidden]{display:none}
.abplgp-lightbox-image{max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;box-shadow:0 10px 45px rgba(0,0,0,.2)}
.abplgp-lightbox-toolbar{position:absolute;top:13px;left:50%;transform:translateX(-50%);font-size:12px;color:#c5ccd6}
.abplgp-lightbox-caption{font-size:13px;color:#bbc6d6;max-width:90%;text-align:center;margin:15px 0 0}
.abplgp-lightbox button{position:absolute;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:50%;height:45px;width:45px;font-size:26px;color:#fff;display:grid;place-items:center;cursor:pointer;line-height:1;padding:0}
.abplgp-lightbox button:hover{background:var(--abpl-gold,#e6ad37);color:#101a2b}
.abplgp-lightbox .abplgp-lightbox-close{right:20px;top:15px}
.abplgp-lightbox .abplgp-lightbox-prev{left:16px;top:50%;transform:translateY(-50%)}
.abplgp-lightbox .abplgp-lightbox-next{right:16px;top:50%;transform:translateY(-50%)}
body.abplgp-modal-open{overflow:hidden}
@media(max-width:1050px){.abplgp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.abplgp-project-detail{grid-template-columns:minmax(0,1.3fr) minmax(240px,.8fr);gap:22px}.abplgp-project-aside{padding:20px}}
@media(max-width:767px){.abplgp-container{padding-left:18px;padding-right:18px}.abplgp-hero-inner{padding-top:56px;padding-bottom:59px;min-height:235px}.abplgp-hero-overline{font-size:10px;letter-spacing:2px}.abplgp-hero h1{font-size:clamp(28px,7vw,39px)}.abplgp-hero p{font-size:13px}.abplgp-hero-decoration{right:-330px;top:-150px}.abplgp-list-wrap{padding-top:40px;padding-bottom:63px}.abplgp-section-intro{display:block;margin-bottom:21px}.abplgp-section-intro h2{font-size:26px}.abplgp-section-intro>p{display:none}.abplgp-filters-front{gap:7px;margin-bottom:22px}.abplgp-filters-front button{padding:8px 14px;font-size:11px}.abplgp-cards{gap:16px}.abplgp-card-body{padding:18px 17px;min-height:165px}.abplgp-card-body h3{font-size:18px}.abplgp-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.abplgp-detail-wrap{padding-top:23px;padding-bottom:65px}.abplgp-detail-heading{align-items:flex-start}.abplgp-detail-count{min-width:78px;font-size:23px;padding:12px}.abplgp-project-detail{grid-template-columns:1fr}.abplgp-project-aside{max-width:none}.abplgp-detail-gallery-title{margin-top:45px}.abplgp-lightbox{padding:65px 47px}.abplgp-lightbox button{height:35px;width:35px;font-size:22px}.abplgp-lightbox .abplgp-lightbox-prev{left:6px}.abplgp-lightbox .abplgp-lightbox-next{right:6px}}
@media(max-width:520px){.abplgp-container{padding-left:15px;padding-right:15px}.abplgp-cards{grid-template-columns:1fr;gap:19px}.abplgp-card-visual{aspect-ratio:1.5}.abplgp-card-body{min-height:0;padding:20px 20px 19px}.abplgp-card-body h3{font-size:21px}.abplgp-card-body p{margin-bottom:22px}.abplgp-count-label,.abplgp-project-status{font-size:10px;bottom:11px;left:11px}.abplgp-detail-heading{display:block}.abplgp-detail-count{margin-top:18px;display:inline-flex;align-items:center;gap:9px}.abplgp-detail-count span{margin:0}.abplgp-photo-grid{gap:8px}.abplgp-photo{border-radius:7px;aspect-ratio:1.1}.abplgp-photo-zoom{opacity:1;transform:none;right:6px;bottom:6px;height:27px;width:27px;font-size:17px}.abplgp-detail-gallery-title h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.abplgp-root *{transition:none!important;scroll-behavior:auto!important}}
