/* Homepage sections and the catalogue window. Shared parts (header, cards, buttons, forms) are in site.css. */
section{padding:88px 0;position:relative;}
.section-head{margin-bottom:44px;max-width:680px;}
.section-head .label{display:inline-block;margin-bottom:12px;}
.section-head h2{font-size:clamp(28px,3.8vw,42px);}
.section-head p{color:var(--text-dim);margin-top:12px;font-size:17.5px;max-width:600px;}

/* ---------- Hero: search first, content top-aligned so late fonts don't move it ---------- */
.hero{padding:40px 0 72px;background:radial-gradient(ellipse 1000px 560px at 78% 15%, rgba(46,125,82,0.09), transparent 60%),linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(115deg, transparent, transparent 140px, rgba(30,43,34,0.03) 140px, rgba(30,43,34,0.03) 141px);pointer-events:none;}
.hero .wrap{position:relative;}
.hero-search{display:flex;align-items:center;gap:10px;background:var(--white);border:2px solid var(--emerald);border-radius:var(--r-md);box-shadow:0 10px 28px rgba(22,36,28,0.10);padding:6px 6px 6px 16px;max-width:760px;margin-bottom:40px;}
.hero-search svg{color:var(--emerald-text);flex-shrink:0;}
.hero-search input{flex:1;min-width:0;border:none;background:none;outline:none;font-family:var(--f-ui);font-size:17px;color:var(--text);min-height:48px;}
.hero-search input::placeholder{color:var(--muted);}
.hero-search button{flex-shrink:0;}
.hero-search:focus-within{box-shadow:0 0 0 3px rgba(46,125,82,0.25),0 10px 28px rgba(22,36,28,0.10);}
.hero-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:start;}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.eyebrow .diamond{width:7px;height:7px;background:var(--copper);transform:rotate(45deg);flex-shrink:0;}
h1.headline{font-size:clamp(34px,5vw,60px);margin-bottom:20px;}
h1.headline .accent{color:var(--emerald-text);}
.hero-sub{font-size:19px;color:var(--text-dim);max-width:560px;margin-bottom:30px;}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;}
.cred-panel{background:var(--ink);color:var(--cream);border-color:var(--line-dark);border-radius:0;overflow:hidden;}
.cred-photo{background:#fff;display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;border-bottom:1px solid var(--line-dark);}
.cred-photo img{max-height:100%;width:auto;object-fit:contain;}
.cred-body{padding:22px 26px 12px;}
.cred-title{font-family:var(--f-ui);font-size:13px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted-dark);margin-bottom:8px;}
body.lang-bn .cred-title{text-transform:none;letter-spacing:0.02em;}
.cred-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--line-dark);font-family:var(--f-ui);font-size:15px;}
.cred-row:last-child{border-bottom:none;}
.cred-row .k{color:var(--cream-dim);}
.cred-row .v{color:var(--emerald-light);font-weight:600;font-size:17px;text-align:right;font-variant-numeric:tabular-nums lining-nums;}

/* ---------- Featured products ---------- */
section.featured{background:var(--paper);padding-top:72px;}
.featured .pc-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.featured-more{margin-top:24px;}

/* ---------- About ---------- */
.about{background:var(--paper-2);}
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.about-lead{font-family:var(--f-head);font-size:24px;line-height:1.42;color:var(--text);margin-top:18px;}
body.lang-bn .about-lead{font-family:var(--f-ui);font-weight:500;font-size:21px;}

/* ---------- What we supply ---------- */
.categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.cat-card{background:var(--paper);padding:34px 28px;position:relative;display:flex;flex-direction:column;transition:background .25s;}
.cat-card:hover{background:var(--paper-2);}
.cat-card h3{font-size:23px;margin-bottom:10px;}
.cat-card p{color:var(--muted);font-size:16px;margin-bottom:14px;}
.cat-list{list-style:none;font-size:16px;color:var(--text-dim);flex:1;}
.cat-list li{padding:7px 0;border-top:1px solid var(--line);}
.cat-list li:first-child{border-top:none;}
.cat-list .req{position:relative;z-index:2;display:inline-flex;align-items:center;min-height:32px;font-family:var(--f-ui);font-size:14px;color:var(--copper-text);text-decoration:underline;text-underline-offset:3px;}
.cat-more{margin-top:14px;align-self:flex-start;}
.cat-more::after{content:"";position:absolute;inset:0;}
.cat-card.on-request{background:repeating-linear-gradient(135deg,var(--paper),var(--paper) 12px,var(--paper-2) 12px,var(--paper-2) 13px);}
/* A product photo at the top of each box (filled by the builder from site-config categoryPhotos) */
.cat-card-ph{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px;margin-bottom:20px;overflow:hidden;}
.cat-card-ph picture{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.cat-card-ph img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .3s ease;}
.cat-card:hover .cat-card-ph img{transform:scale(1.05);}

/* ---------- Shop by category tiles: a product photo, the name and the count ---------- */
.product-categories{background:var(--paper-2);}
.cat-tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;}
.cat-tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:104px;transition:border-color .2s,background .2s;}
.cat-tile:hover{border-color:var(--emerald);background:var(--white);}
.cat-tile .ctn{font-family:var(--f-head);font-size:18px;color:var(--text);line-height:1.3;}
body.lang-bn .cat-tile .ctn{font-family:var(--f-ui);font-weight:700;font-size:17px;}
.cat-tile .ctc{font-family:var(--f-ui);font-size:14px;font-weight:600;color:var(--copper-text);}
.cat-tile.on-request{border-style:dashed;border-color:var(--copper-text);}
.cat-tile.on-request .ctc{color:var(--emerald-text);}
.cat-tile.has-ph{justify-content:flex-start;padding:12px 12px 16px;gap:6px;}
.ct-ph{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px;margin-bottom:6px;overflow:hidden;}
.ct-ph picture{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.ct-ph img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .3s ease;}
.cat-tile:hover .ct-ph img{transform:scale(1.05);}
.all-products{margin-top:20px;}


/* ---------- Business buyers ---------- */
.b2b{background:var(--ink);color:var(--cream);}
.b2b .section-head h2{color:var(--cream);}
.b2b .section-head .label{color:var(--copper-light);}
.b2b-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
.b2b-item{background:var(--ink);padding:26px 22px;}
.b2b-item h3{color:var(--cream);font-size:20px;margin-bottom:8px;}
.b2b-item p{color:var(--cream-dim);font-size:16px;}
.b2b .btn-row{margin-top:28px;}
.b2b .btn-ghost{color:var(--cream);border-color:var(--line-dark);}
.b2b .btn-ghost:hover{border-color:var(--emerald-light);color:var(--emerald-light);}

/* ---------- Why choose ---------- */
#services{background:var(--paper-2);}

/* ---------- After-sales ---------- */
.after-sales{background:var(--paper);}
.as-cta{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;}

/* ---------- Contact ---------- */
.cta-section{background:linear-gradient(135deg,var(--ink-2),var(--ink));border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);}
.cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.cta-copy h2{font-size:clamp(26px,3.6vw,40px);margin:12px 0 14px;color:var(--cream);}
.cta-copy p{color:var(--cream-dim);font-size:17px;max-width:480px;}
.cta-copy .label{color:var(--copper-light);}

/* ---------- Quote ---------- */
.quote-band{background:var(--paper-2);}

/* ---------- Catalogue window ---------- */
body.no-scroll{overflow:hidden;}
.catalog-overlay{position:fixed;inset:0;z-index:200;background:rgba(10,15,12,0.62);display:flex;align-items:flex-start;justify-content:center;padding:16px;}
.catalog-panel{background:var(--paper);width:100%;max-width:1240px;height:calc(100vh - 32px);height:calc(100dvh - 32px);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;}
.catalog-head{padding:14px 20px 10px;border-bottom:1px solid var(--line);flex-shrink:0;display:grid;gap:10px;}
.catalog-head-top{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.catalog-head-top h2{font-size:24px;}
.cat-searchbar{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:0 12px;}
.cat-searchbar:focus-within{border-color:var(--emerald);box-shadow:0 0 0 2px rgba(46,125,82,0.2);}
.cat-searchbar svg{color:var(--muted);flex-shrink:0;}
.cat-searchbar input{flex:1;min-width:0;border:none;outline:none;background:none;min-height:44px;font-family:var(--f-ui);font-size:16px;}
.cat-toolbar{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;font-family:var(--f-ui);font-size:15px;}
.cat-filter-btn{display:none;min-height:40px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--white);font-weight:600;cursor:pointer;}
.cat-filter-btn[aria-expanded="true"]{border-color:var(--emerald);color:var(--emerald-text);}
.cat-sort{display:flex;align-items:center;gap:8px;}
.cat-sort select{min-height:40px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--white);padding:0 8px;font-size:15px;max-width:230px;}
.catalog-count{color:var(--muted);margin-left:auto;font-variant-numeric:tabular-nums;}
.catalog-main{flex:1;min-height:0;display:grid;grid-template-columns:250px 1fr;}
.catalog-filters{border-right:1px solid var(--line);overflow-y:auto;padding:14px 16px 24px;display:grid;align-content:start;gap:18px;background:var(--paper);}
.f-label{font-family:var(--f-ui);font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--copper-text);margin-bottom:8px;}
body.lang-bn .f-label{text-transform:none;letter-spacing:0.02em;font-size:14px;}
.f-chips{display:flex;flex-wrap:wrap;gap:6px;}
.catalog-filters{overflow-x:hidden;}
.catalog-filters .chip{min-height:36px;padding:4px 12px;font-size:14px;white-space:normal;text-align:left;max-width:100%;}
.f-clear{justify-self:start;}
.catalog-body{overflow-y:auto;padding:16px 20px 28px;}
.sub-h{font-family:var(--f-ui);font-size:15px;font-weight:600;margin-bottom:10px;color:var(--text-dim);}
.sub-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-bottom:22px;}
.sub-tile{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:8px 14px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-sm);font-family:var(--f-ui);font-size:15px;}
.sub-tile:hover{border-color:var(--emerald);}
.sub-tile b{color:var(--copper-text);font-variant-numeric:tabular-nums;}
.notice-grid{margin-bottom:18px;}
.relaxed-note{grid-column:1/-1;font-family:var(--f-ui);font-size:15px;color:var(--text-dim);background:var(--paper-2);border-radius:var(--r-sm);padding:10px 14px;}
.catalog-empty{text-align:center;color:var(--text-dim);padding:36px 16px;font-size:17px;}
.catalog-empty .btn{margin-top:14px;}
.catalog-error{padding:30px 10px;text-align:center;font-family:var(--f-ui);}
.catalog-more{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px;}

/* ---------- Responsive ---------- */
@media (max-width:1060px){
  .hero-inner{grid-template-columns:1fr;gap:36px;}
  .cred-panel{max-width:560px;}
  .about-inner{grid-template-columns:1fr;gap:36px;}
  .categories-grid{grid-template-columns:1fr 1fr;}
  .featured .pc-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .b2b-grid,.as-grid{grid-template-columns:1fr 1fr;}
  .services-grid{grid-template-columns:1fr 1fr;}
  .service:nth-child(2n){border-right:none;margin-right:0;}
  .cta-inner{grid-template-columns:1fr;}
  .catalog-main{grid-template-columns:1fr;}
  .cat-filter-btn{display:inline-flex;align-items:center;}
  .catalog-filters{display:none;border-right:none;border-bottom:1px solid var(--line);max-height:46vh;}
  .catalog-filters.open{display:grid;}
  .catalog-main{grid-template-rows:auto 1fr;}
  .catalog-main:has(.catalog-filters.open){grid-template-rows:auto 1fr;}
  section{padding:72px 0;}
}
@media (max-width:640px){
  section{padding:56px 0;}
  .hero{padding:20px 0 52px;}
  .hero-search{margin-bottom:28px;padding:4px 4px 4px 12px;}
  .hero-search input{font-size:16px;}
  .hero-search .btn{padding:0 14px;min-height:44px;}
  .hero-sub{font-size:17px;}
  .btn-row .btn{flex:1 1 100%;}
  .featured .pc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .about-lead{font-size:20px;}
  .categories-grid{grid-template-columns:1fr 1fr;}
  .cat-card{padding:18px 14px;}
  .cat-card p,.cat-card .cat-list{display:none;}
  .cat-card h3{font-size:18px;margin-bottom:0;}
  .cat-more{margin-top:auto;padding-top:10px;font-size:14px;}
  .cat-tiles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .cat-tile{padding:14px 10px;min-height:92px;}
  .cat-tile.has-ph{padding:8px 8px 12px;}
  .ct-ph{padding:6px;margin-bottom:4px;}
  .cat-card-ph{aspect-ratio:4/3;padding:6px;margin-bottom:10px;}
  .cat-tile .ctn{font-size:16px;}
  .brands-grid{grid-template-columns:1fr 1fr;}
  .brand-badge{min-height:100px;}
  .b2b-grid,.as-grid{grid-template-columns:1fr;}
  .cta-box{padding:22px 18px;}
  .quote-card{padding:26px 18px;border-radius:var(--r-md);}
  .catalog-overlay{padding:0;}
  .catalog-panel{height:100vh;height:100dvh;border-radius:0;max-width:none;}
  .catalog-head{padding:10px 12px 8px;gap:8px;}
  .catalog-head-top h2{font-size:20px;}
  .catalog-body{padding:12px 10px 90px;}
  .catalog-filters{padding:12px;}
  .cat-sort select{max-width:170px;}
  .catalog-count{margin-left:0;width:100%;}
  .sub-tiles{grid-template-columns:1fr 1fr;}
  .sub-tile{font-size:14px;padding:8px 10px;}
}
@media (max-width:360px){
  .cat-tiles-grid,.categories-grid{grid-template-columns:1fr 1fr;}
  .sub-tiles{grid-template-columns:1fr;}
}

/* "Why tradesmen choose us" on phones: two compact columns, so all four points fit in about one screen */
@media (max-width:640px){
  .services-grid{grid-template-columns:1fr 1fr;}
  .service{padding:16px 12px 18px 0;margin-right:0 !important;}
  .service:nth-child(2n){padding:16px 0 18px 12px;}
  .service .label{margin-bottom:6px;font-size:11px;}
  .svc-ico{width:40px;height:40px;border-radius:10px;margin-bottom:10px;}
  .svc-ico svg{width:22px;height:22px;}
  .service h3{font-size:16px;line-height:1.25;margin-bottom:6px;}
  .service p{font-size:14.5px;line-height:1.5;}
}
@media (max-width:359px){
  .services-grid{grid-template-columns:1fr;}
  .service,.service:nth-child(2n){padding:16px 0 18px;border-right:none !important;}
}

/* About on the homepage: one paragraph and the points in two columns (the About page keeps the full text) */
#about{padding:64px 0;}
#about .about-inner{gap:48px;}
#about .ticks{grid-template-columns:1fr 1fr;gap:10px 22px;margin-top:18px;}
#about .ticks li{font-size:15.5px;}
#about .link-arrow{display:inline-block;margin-top:14px;}

/* After-sales on the homepage: each block folds open, so the whole section stays under about 0.7 of a screen */
.after-sales{padding:64px 0;}
.after-sales .section-head{margin-bottom:24px;}
.as-block.folds{padding:18px 22px;}
.as-block.folds h3{margin:0;}
.as-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:30px;padding:0;border:0;background:none;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:pointer;}
.as-toggle::after{content:"+";font-family:var(--f-ui);font-size:24px;font-weight:500;line-height:1;color:var(--copper-text);flex-shrink:0;}
.as-toggle[aria-expanded="true"]::after{content:"\2212";}
.as-toggle:focus-visible{outline:2px solid var(--emerald);outline-offset:4px;}
.as-block.folds ul{margin-top:12px;}
.after-sales .as-cta{margin-top:20px;}

@media (max-width:640px){
  #about{padding:32px 0;}
  #about .about-inner{gap:14px;}
  #about .about-lead{font-size:17px;line-height:1.4;margin-top:10px;}
  #about .about-copy p{font-size:15.5px;line-height:1.55;margin-bottom:10px;}
  #about .ticks{gap:8px 14px;}
  #about .ticks li{font-size:14.5px;gap:9px;line-height:1.4;}
  .after-sales{padding:40px 0;}
  .after-sales .section-head{margin-bottom:18px;}
  .after-sales .section-head p{display:none;}   /* the four headings say it; saves a screen-fifth on phones */
  .as-block.folds{padding:11px 16px;}
  .as-block.folds h3{font-size:18px;}
  .after-sales .as-cta{margin-top:16px;}
  #about .link-arrow{margin-top:6px;}
}
/* Small phones (360-390 px wide): a little tighter again so About stays within one screen and After-Sales within 0.7 */
@media (max-width:400px){
  #about{padding:26px 0;}
  #about .about-lead{font-size:16.5px;}
  #about .about-copy p{font-size:15px;line-height:1.5;margin-bottom:8px;}
  #about .ticks{margin-top:10px;}
  .after-sales{padding:28px 0;}
  .after-sales .section-head{margin-bottom:14px;}
  .as-block.folds{padding:10px 14px;}
  .after-sales .as-cta{margin-top:12px;gap:8px 20px;}
}
