.catalogue-main{max-width:1240px;margin:auto;padding:60px 28px 80px}.page-intro{max-width:850px;padding:15px 0 48px}.eyebrow{color:var(--copper-dark);font-weight:700;letter-spacing:2px;font-size:max(var(--min-text-size),11px)}.page-intro h1{font-size:clamp(32px,5vw,56px);line-height:1.12;letter-spacing:-2px;margin:18px 0;color:var(--navy);font-weight:700}.page-intro p{max-width:650px;color:var(--muted);margin-bottom:25px}.catalogue-cta{display:inline-block;background:var(--navy);color:white;border-radius:8px;padding:13px 20px;font-weight:700;font-size:max(var(--min-text-size),14px)}.catalogue-cta:hover{background:var(--copper-dark)}.category-nav{display:flex;flex-wrap:wrap;gap:10px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.category-nav a{padding:9px 13px;background:white;border:1px solid var(--line);border-radius:6px;font-size:max(var(--min-text-size),13px)}.category-nav a:hover{background:var(--navy);color:white}.catalogue-search{margin:32px 0}.catalogue-search label{display:block;font-size:max(var(--min-text-size),14px);font-weight:700;margin-bottom:10px}.catalogue-search input{width:100%;max-width:560px;border:1px solid #aeb2c0;border-radius:8px;padding:13px 16px;font:inherit;background:white}.catalogue-search p{font-size:max(var(--min-text-size),13px);color:var(--muted);margin-top:8px}.catalogue-section{margin:50px 0;scroll-margin-top:130px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.section-heading h2{font-size:30px}.section-heading>span{font-size:max(var(--min-text-size),12px);color:var(--muted);white-space:nowrap}.catalogue-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.product-group{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.product-group h3{padding:19px 24px;background:var(--navy);color:white;font-size:18px;font-weight:700}.product-group ul{list-style:none;padding:0 24px}.product-group li{padding:13px 0;border-bottom:1px solid var(--line);font-size:max(var(--min-text-size),14px);line-height:1.6}.product-group li:last-child{border-bottom:0}.service-list{border-top:1px solid var(--line)}.service-card{display:flex;align-items:start;gap:25px;padding:34px 0;border-bottom:1px solid var(--line)}.service-number{color:var(--copper-dark);font-size:max(var(--min-text-size),15px);padding-top:5px}.service-card>div{flex:1}.service-card h2{font-size:25px;max-width:700px}.service-card p{color:var(--muted);margin-top:12px;font-size:max(var(--min-text-size),14px)}.service-card>a{font-size:max(var(--min-text-size),14px);color:var(--copper-dark);white-space:nowrap;padding-top:5px}.catalogue-banner{margin-top:45px;background:var(--navy);padding:30px;color:white;border-radius:12px}.catalogue-banner h2{font-size:27px;margin-bottom:16px}header nav a[aria-current=page]{color:var(--copper-dark);font-weight:700}[hidden]{display:none!important}header nav{gap:18px!important}@media(max-width:767px){.catalogue-main{padding:30px 20px 55px}.page-intro{padding-bottom:30px}.catalogue-groups{grid-template-columns:1fr}.section-heading h2{font-size:26px}.service-card{flex-wrap:wrap;gap:14px}.service-card>div{flex-basis:80%}.service-card>a{margin-left:33px}.service-card h2{font-size:22px}.product-group ul{padding:0 18px}}@media(min-width:1024px) and (max-width:1200px){header nav{gap:12px!important;font-size:max(var(--min-text-size),12px)!important}}
/* Product and service storefront. */
.listing-toolbar{display:flex;align-items:end;gap:20px;padding:24px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:28px}.listing-toolbar>div:first-child{flex:1}.listing-toolbar label{display:block;font-size:max(var(--min-text-size),13px);font-weight:700;margin-bottom:8px}.listing-toolbar input,.listing-toolbar select{width:100%;border:1px solid #aeb2c0;border-radius:6px;background:white;padding:12px;font:inherit;font-size:max(var(--min-text-size),14px)}.listing-toolbar select{max-width:340px}.listing-toolbar>p{font-size:max(var(--min-text-size),13px);color:var(--muted);white-space:nowrap;margin-bottom:10px}.listing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.listing-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:box-shadow .2s}.listing-card:hover{box-shadow:0 8px 25px #29B67512}.image-placeholder{aspect-ratio:1.2;background:#eeeff2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#72798c;font-size:max(var(--min-text-size),12px);border-bottom:1px solid var(--line)}.image-placeholder svg{width:60px;height:60px;fill:none;stroke:#9299aa;stroke-width:2}.listing-copy{padding:20px;display:flex;flex-direction:column;flex:1}.listing-brand{font-size:max(var(--min-text-size),11px);color:var(--copper-dark);font-weight:700;text-transform:uppercase;letter-spacing:.7px}.listing-card h2{font-size:17px;letter-spacing:-.3px;line-height:1.5!important;margin:8px 0 12px;font-weight:700!important}.listing-copy>p:not(.listing-price){color:var(--muted);font-size:max(var(--min-text-size),13px);margin-bottom:14px}.listing-price{font-size:max(var(--min-text-size),14px);color:var(--muted);margin-top:auto;margin-bottom:16px}.add-to-cart{border:0;border-radius:24px;background:#f3cb8c;color:var(--copper-dark);padding:12px;font-size:max(var(--min-text-size),14px);font-weight:700;width:100%}.add-to-cart:hover{background:#eaba72}.add-to-cart:disabled{opacity:.6;cursor:wait}.cart-status{position:sticky;bottom:20px;background:var(--navy);color:white;padding:14px 20px;border-radius:8px;font-size:max(var(--min-text-size),14px);z-index:10;margin-top:24px}.cart-status:empty{display:none}.cart-nav{white-space:nowrap;font-size:max(var(--min-text-size),13px)}.cart-row{display:flex;gap:24px;padding:24px;background:white;border:1px solid var(--line);border-radius:10px;margin-bottom:18px}.cart-placeholder{width:150px;min-height:140px;flex-shrink:0;background:#eeeff2;display:flex;align-items:center;justify-content:center;font-size:max(var(--min-text-size),12px);color:var(--muted);text-align:center}.cart-detail h2{font-size:21px;margin:8px 0 12px;letter-spacing:-.4px}.quantity-controls{display:flex;align-items:center;gap:16px}.quantity-controls>button:not(.cart-remove){border:1px solid #bbc0ce;border-radius:6px;background:#f8f9fb;width:36px;height:36px;font-size:20px}.quantity-controls>button:disabled{opacity:.35;cursor:default}.cart-remove{color:var(--copper-dark);font-size:max(var(--min-text-size),14px);text-decoration:underline;text-underline-offset:3px;background:transparent;border:0;padding:8px}.cart-summary{margin:32px 0;background:white;border:1px solid var(--line);border-radius:10px;padding:28px}.cart-summary h2{font-size:25px}.cart-summary p{font-size:max(var(--min-text-size),14px);color:var(--muted);margin:16px 0}.cart-summary .cart-remove{margin-left:15px}.cart-browse{display:flex;gap:25px;flex-wrap:wrap;margin-top:25px;font-size:max(var(--min-text-size),14px);color:var(--copper-dark)}.cart-empty{padding:40px;background:white;border:1px solid var(--line);border-radius:10px}.catalogue-main .page-intro{padding-bottom:30px}header nav{gap:14px!important}@media(max-width:1100px){.listing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}header nav{gap:10px!important}}@media(max-width:800px){.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-toolbar{flex-wrap:wrap;padding:18px;gap:15px}.listing-toolbar>div:first-child{flex-basis:100%}.listing-toolbar>div:nth-child(2){flex:1}.cart-row{gap:15px;padding:16px}.cart-placeholder{width:100px}.cart-detail h2{font-size:18px}}@media(max-width:480px){.listing-grid{gap:10px}.listing-copy{padding:12px}.listing-card h2{font-size:max(var(--min-text-size),14px);letter-spacing:0}.listing-brand{font-size:max(var(--min-text-size),10px)}.listing-price{font-size:max(var(--min-text-size),12px)}.image-placeholder{font-size:max(var(--min-text-size),10px)}.add-to-cart{font-size:max(var(--min-text-size),12px);padding:11px 6px}.cart-row{flex-direction:column}.cart-placeholder{width:100%;min-height:100px}.cart-summary{padding:20px}.cart-summary .cart-remove{display:block;margin:12px 0 0}.quantity-controls{gap:12px}}
.shop-header-actions{display:flex;align-items:center;gap:22px;margin-left:auto;flex-shrink:0}.shop-header-actions .profile-control,.shop-header-actions .header-cart{position:relative;display:flex;align-items:center;gap:8px;background:transparent!important;border:0;padding:8px 5px!important;color:var(--navy);font-size:max(var(--min-text-size),12px)!important;font-weight:700}.shop-header-actions svg{width:27px;height:27px;flex-shrink:0}.header-cart-count{position:absolute;top:-5px;left:18px;min-width:20px;height:20px;background:var(--copper-dark);color:white;border-radius:12px;text-align:center;font-size:max(var(--min-text-size),11px);line-height:20px}.profile-notice{margin:auto;border:1px solid var(--line);border-radius:14px;padding:30px;max-width:360px;width:calc(100% - 40px);background:white;color:var(--navy);box-shadow:0 15px 60px #29B67530}.profile-notice::backdrop{background:#29B67555}.profile-notice h2{font-size:24px;margin-bottom:15px}.profile-notice p{font-size:max(var(--min-text-size),14px);margin-bottom:20px}.profile-notice button{padding:10px 20px;background:var(--navy);color:white;border-radius:6px}.listing-photo{aspect-ratio:1.2;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.listing-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;padding:20px}.listing-photo .image-caption{position:absolute;bottom:4px;right:9px;color:var(--muted);font-size:max(var(--min-text-size),9px);background:#ffffffdf}.cart-placeholder img{width:100%;height:140px;object-fit:contain;background:white;padding:8px}.catalogue-image-note{font-size:max(var(--min-text-size),12px);color:var(--muted);margin-bottom:20px}.catalogue-image-note a{text-decoration:underline}@media(max-width:1200px){.shop-header-actions{gap:10px}header nav{gap:9px!important}.shop-header-actions .profile-control>span{display:none}}@media(max-width:600px){.shop-header-actions{gap:13px}.shop-header-actions .header-cart>span:last-child{display:none}.shop-header-actions svg{width:25px;height:25px}.shop-header-actions .profile-control,.shop-header-actions .header-cart{padding:5px!important}header #mobileMenuBtn{padding:8px!important}}

.service-photo img{object-fit:cover;padding:0}.service-photo .image-caption{font-size:max(var(--min-text-size),9px);padding:3px 6px;border-radius:3px;bottom:7px;right:7px}

/* Center home navigation independently of the logo and shopping controls. */
@media(min-width:1024px){.home-nav-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:18px}.home-nav-row>.senmac-brand{justify-self:start}.home-nav-row>nav{justify-self:center;justify-content:center}.home-nav-row>.shop-header-actions{justify-self:end;margin-left:0}}

/* Search and combined energy/category filters. */
.listing-toolbar{flex-wrap:wrap}.listing-toolbar>div:first-child{min-width:210px}.listing-toolbar>div:has(#categoryFilter){max-width:340px;flex:1;min-width:180px}.listing-toolbar>div:has(#energyFilter){min-width:170px}@media(max-width:600px){.listing-toolbar>div:has(#energyFilter),.listing-toolbar>div:has(#categoryFilter){max-width:none;min-width:0;flex:1 1 100%}}

/* Product categories mirror the rounded navigation buttons in the catalogue reference. */
.product-category-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 28px}.product-category-button{padding:19px 22px;border:1px solid transparent;border-radius:10px;background:#f0efeb;color:#626c7d;font-size:max(var(--min-text-size),15px);font-weight:700;line-height:1.4}.product-category-button:hover{background:#e7e6e1;color:var(--navy)}.product-category-button[aria-pressed="true"]{background:var(--navy);color:#fff}.listing-toolbar>div:first-child{max-width:620px}@media(max-width:600px){.product-category-buttons{gap:8px}.product-category-button{padding:12px 14px;font-size:max(var(--min-text-size),13px)}}

/* Dark forest text provides contrast on the brand green backgrounds. */
:is(body>div:first-of-type.bg-slate-900,#brands#brands,footer,#toast,#calculator#calculator .max-w-4xl>.bg-slate-900),
:is(body>div:first-of-type.bg-slate-900,#brands#brands,footer,#toast,#calculator#calculator .max-w-4xl>.bg-slate-900) :is(h2,h3,p,span,a,strong,i,button),
:is(.catalogue-cta,.catalogue-banner,.product-group h3,.category-nav a:hover,.cart-status,.profile-notice button,.product-category-button[aria-pressed="true"],.glass-card form button,.prod-card .border-t button,#contact .bg-emerald-500){color:var(--on-green)!important}
.catalogue-banner h2,.catalogue-banner p{color:var(--on-green)!important}
.catalogue-cta:hover,.category-nav a:hover,.glass-card form button:hover,.prod-card .border-t button:hover{background:#29B675!important}
#productGrid .prod-card>.h-48>.photo-location{background:#29B675!important;color:var(--on-green)!important}
@media(max-width:767px){
  .listing-grid{grid-template-columns:1fr}
  .listing-card h2{font-size:20px!important}
  .listing-toolbar>p,.section-heading>span{white-space:normal}
  .section-heading{flex-wrap:wrap}
  .service-card{display:block}
  .service-card>a{display:inline-block;margin-left:0;white-space:normal;min-height:44px}
  .quantity-controls{flex-wrap:wrap}
  .header-cart-count{font-size:12px;line-height:20px}
}
