/* SHM Global Trade – additions to the base template */

/* Hero slider */
.masterHeadSliderCol{background:linear-gradient(135deg,#f0f7e7 0%,#e4f1d3 55%,#f3f6bf 100%)!important;}
.masterHeadSliderColColLBx p{margin:18px 0 26px;font-size:1.15rem;font-weight:600;color:#02101d;}
.masterHeadSliderColColLBx .btnLine{margin-left:10px;}
.masterHeadSliderColColRBx img{width:100%;max-width:420px;aspect-ratio:4/3;object-fit:cover;border-radius:24px;box-shadow:0 14px 34px rgba(14,44,113,.22);}
.hmBlk6Bx{background:linear-gradient(135deg,#f0f7e7 0%,#f3f6bf 100%)!important;}
.hmBlk4SliderColPic img,.hmBlk5IntroColLPic img,.productDtlPgColRBx img{aspect-ratio:4/3;object-fit:cover;width:100%;}
.hmBlk5IntroColLPic img{border-radius:20px;}
.productDtlPgColRBx img{border-radius:24px;box-shadow:0 14px 34px rgba(2,16,29,.18);}
.hmBlk5IntroColRRow1 p+p{margin-top:.8em;}
.hmBlk7ColBx.noFlag .hmBlk7ColRow1 p{padding-top:0;}
.hmBlk7ColBx.noFlag h3{padding:0;color:var(--primaryColor);font-weight:700;font-size:1.1rem;}

/* Buttons */
.btnLine{display:inline-block;height:50px;line-height:46px;padding:0 22px;border-radius:40px;border:2px solid var(--primaryColor);color:var(--primaryColor)!important;font-weight:700;background:#fff;transition:var(--transition);}
.btnLine:hover{background:var(--primaryColor);color:#fff!important;}
.primaryBtn.sm{height:42px;line-height:42px;min-width:0;padding:0 18px;border:0;font-weight:700;}
.btnLine.sm{height:42px;line-height:38px;padding:0 18px;}

/* Product cards and grids */
.prdGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px;}
.prdCard{background:#f6f6f6;border-radius:18px;padding:10px;transition:var(--transition);box-shadow:-1px 6px 7px 0 rgb(0 0 0 / 14%);display:flex;flex-direction:column;}
.prdCard:hover{transform:translateY(-8px);}
.prdCard .pic{display:block;border-radius:12px;overflow:hidden;background:#fff;}
.prdCard .pic img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:var(--transition);}
.prdCard:hover .pic img{transform:scale(1.08);}
.prdCard h4{text-align:center;font-weight:700;margin:16px 0 6px;}
.prdCard h4 a{color:var(--primaryColor);}
.prdCard p{text-align:center;padding:0 10px;margin:0 0 14px;font-size:.95rem;flex:1;}
.prdBtns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding-bottom:8px;}
.prdBtns .btnLine{height:42px;line-height:38px;padding:0 18px;}
.catBlock+.catBlock{margin-top:70px;}
.catBlock .catIntro{text-align:center;max-width:700px;margin:0 auto;}

/* Product detail */
.specTable{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(2,16,29,.1);}
.specTable th,.specTable td{padding:14px 18px;vertical-align:top;border-bottom:1px solid #e1e1e1;}
.specTable th{width:34%;background:#f0f7e7;color:var(--primaryColor);font-weight:700;}
.specTable tr:last-child th,.specTable tr:last-child td{border-bottom:0;}
.specList{list-style:none;padding:0;margin:20px 0 0;}
.specList li{padding:8px 0 8px 30px;position:relative;font-weight:600;}
.specList li:before{content:"\2713";position:absolute;left:0;color:var(--secondaryColor);font-weight:700;}
.detailPhotos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
.detailPhotos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;}
.ctaBand{background:linear-gradient(135deg,#0e2c71 0%,#55ba47 100%);border-radius:20px;color:#fff;text-align:center;padding:50px 30px;}
.ctaBand h2{font-weight:700;color:#fff;}
.ctaBand p{margin:12px 0 24px;}
.ctaBand .btnLine{border-color:#fff;}
.ctaBand .btnLine:hover{background:#fff;color:var(--primaryColor)!important;}
.ctaBand .primaryBtn{background:#fff;color:var(--primaryColor)!important;}

/* Contact */
.contactCards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:50px;}
.contactCard{background:#f6f6f6;border-radius:18px;padding:30px 24px;text-align:center;box-shadow:-1px 6px 7px 0 rgb(0 0 0 / 14%);}
.contactCard img{height:46px;margin-bottom:14px;}
.contactCard h4{color:var(--primaryColor);font-weight:700;}
.contactCard a{color:var(--thirdColor);font-weight:600;}
.mapFrame{width:100%;height:420px;border:0;border-radius:20px;}

/* Enquiry pop-up */
.enqModal{position:fixed;inset:0;z-index:100000;background:rgba(2,16,29,.7);display:none;align-items:center;justify-content:center;padding:20px;overflow-y:auto;}
.enqModal.open{display:flex;}
.enqDialog{position:relative;background:#fff;border-radius:20px;width:100%;max-width:560px;padding:34px 30px 26px;box-shadow:0 20px 60px rgba(0,0,0,.35);max-height:94vh;overflow-y:auto;}
.enqDialog h3{color:var(--primaryColor);font-weight:700;margin:0 0 4px;padding-right:30px;}
.enqSub{color:#595959;margin-bottom:18px;}
.enqClose{position:absolute;top:14px;right:16px;width:38px;height:38px;border-radius:50%;font-size:1.7rem;line-height:1;background:#f6f6f6;color:var(--thirdColor);}
.enqClose:hover{background:var(--secondaryColor);color:#fff;}
.enqDialog label{display:block;font-weight:700;font-size:.9rem;margin-bottom:12px;}
.enqDialog input,.enqDialog textarea{display:block;width:100%;margin-top:5px;padding:11px 14px;border:1px solid #d7e1e9;border-radius:10px;background:#f6f6f6;font-weight:500;}
.enqDialog input:focus,.enqDialog textarea:focus{border-color:var(--secondaryColor);background:#fff;}
.enqDialog input[readonly]{background:#f0f7e7;color:var(--primaryColor);font-weight:700;}
.enqRow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.enqBtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}
.enqBtns .primaryBtn,.enqBtns .btnLine{height:46px;line-height:42px;border:2px solid transparent;font-weight:700;}
.enqBtns .btnLine{border-color:var(--primaryColor);}
.enqNote{margin:12px 0 0;font-weight:700;}
.enqNote.ok{color:#2f8a22;}.enqNote.err{color:#ba2c20;}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;}

@media(max-width:991px){.prdGrid,.contactCards,.detailPhotos{grid-template-columns:repeat(2,1fr);}.pageHeadTxt h1{font-size:2.4rem;}}
@media(max-width:575px){.prdGrid,.contactCards,.detailPhotos,.enqRow{grid-template-columns:1fr;}.masterHeadSliderCol{padding:60px 24px!important;}}

/* Gallery page */
.glFilters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:34px 0 10px;}
.glFilters button{padding:10px 22px;border-radius:40px;background:#f6f6f6;font-weight:700;color:var(--thirdColor);transition:var(--transition);}
.glFilters button:hover{background:#e1e1e1;}
.glFilters button.active{color:#fff;background:linear-gradient(135deg,#0e2c71 0%,#55ba47 100%);}
.glCount{text-align:center;color:#595959;font-weight:600;margin-bottom:26px;}
.glGrid{columns:3;column-gap:20px;}
.glItem{break-inside:avoid;margin:0 0 20px;position:relative;border-radius:16px;overflow:hidden;cursor:zoom-in;background:#f6f6f6;box-shadow:-1px 6px 7px 0 rgb(0 0 0 / 14%);}
.glItem.hide{display:none;}
.glItem img{width:100%;display:block;transition:var(--transition);}
.glItem:hover img{transform:scale(1.07);}
.glItem .cap{position:absolute;inset:auto 0 0 0;padding:40px 18px 16px;color:#fff;background:linear-gradient(transparent,rgba(2,16,29,.85));transform:translateY(100%);transition:var(--transition);}
.glItem:hover .cap{transform:translateY(0);}
.glItem .cap h5{margin:0;font-weight:700;font-size:1.05rem;}
.glItem .cap span{font-size:.85rem;opacity:.85;}
.glItem .zoom{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;background:rgba(14,44,113,.85);display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition);}
.glItem .zoom img{width:18px;height:18px;transform:none!important;}
.glItem:hover .zoom{opacity:1;}
.glBox{position:fixed;inset:0;z-index:100000;background:rgba(2,16,29,.94);display:none;align-items:center;justify-content:center;flex-direction:column;padding:30px;}
.glBox.open{display:flex;}
.glBox img{max-width:92vw;max-height:76vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.glBox .glTxt{color:#fff;text-align:center;margin-top:16px;}
.glBox .glTxt h5{margin:0 0 4px;font-weight:700;}
.glBox button{position:absolute;color:#fff;background:rgba(255,255,255,.14);width:48px;height:48px;border-radius:50%;font-size:1.6rem;line-height:1;}
.glBox button:hover{background:var(--secondaryColor);}
.glBox .glClose{top:24px;right:24px;}
.glBox .glPrev{left:24px;top:50%;}
.glBox .glNext{right:24px;top:50%;}
@media(max-width:991px){.prdGrid{grid-template-columns:repeat(2,1fr);}.glGrid{columns:2;}.pageHeadTxt h1{font-size:2.4rem;}}
@media(max-width:575px){.prdGrid{grid-template-columns:1fr;}.glGrid{columns:1;}.glBox .glPrev{left:8px}.glBox .glNext{right:8px}}
