
/* EliteVolt Systems — shared site chrome */
.site-footer{
  background:#071b16;color:#e9f7ef;margin-top:3rem;padding:2.5rem 1.25rem 1.25rem;
  border-top:4px solid #2b7a3e;
}
.site-footer-inner{max-width:1300px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
.site-footer h3,.site-footer h4{margin:0 0 .7rem;color:#fff}
.site-footer p{color:#c7d8d0;line-height:1.6;margin:.4rem 0}
.site-footer a{color:#d9f6e3;text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:#fff}
.footer-links{display:grid;gap:.45rem}
.footer-bottom{max-width:1300px;margin:1.5rem auto 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.14);
display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#9fb5aa;font-size:.85rem}
.site-nav .nav-inner{max-width:1300px;margin:auto;padding:0 1.25rem}
.site-nav .main-nav{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.site-nav .main-nav a{white-space:nowrap}
@media(max-width:800px){
 .site-footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
 .site-footer-inner{grid-template-columns:1fr}
 .footer-bottom{display:block}.footer-bottom span{display:block;margin:.25rem 0}
}

/* v8 shared footer polish */
.site-footer{font-family:Inter,Arial,sans-serif;position:relative;clear:both;}
.footer-brand p:first-of-type{font-weight:700;color:#d9f6e3;}
.footer-contact-btn{display:inline-flex;margin-top:.65rem;padding:.65rem .9rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-weight:700;}
@media(max-width:800px){.site-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem;text-align:left}.site-footer h3,.site-footer h4{font-size:1rem}.site-footer p,.site-footer a{font-size:.88rem}.footer-brand{grid-column:1/-1;text-align:center}}
@media(max-width:520px){.site-footer{padding:2rem 1rem 1rem}.site-footer-inner{grid-template-columns:1fr 1fr;gap:1.35rem .8rem}.footer-brand{grid-column:1/-1}.footer-links{gap:.55rem}.site-footer p,.site-footer a{font-size:.82rem;line-height:1.35}.footer-contact-btn{font-size:.78rem!important}.footer-bottom{text-align:center;display:grid;gap:.35rem}.footer-bottom span{display:block;margin:0}}
@media(max-width:560px){
  .main-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .main-nav a{font-size:.72rem!important;padding:.65rem .1rem!important;gap:.15rem!important}
}


/* v9 — shared mobile UX + touch interaction hardening */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { min-width:320px; overflow-x:hidden; }
img,svg,video,canvas { max-width:100%; height:auto; }
a,button,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button, a.btn, a.cta, .btn-primary, .btn-secondary, .btn-details, .btn-add,
.nav-links a, .main-nav a, .service-item, .card, .related-links a, .footer-contact-btn {
  transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease, border-color .16s ease, opacity .16s ease;
}
button:active, a.btn:active, a.cta:active, .btn-primary:active, .btn-secondary:active,
.btn-details:active, .btn-add:active, .footer-contact-btn:active { transform:scale(.98); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:3px solid rgba(43,122,62,.35); outline-offset:2px;
}
.product-card:hover, .card:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(15,23,42,.09); }
.product-card:active, .card:active { transform:scale(.995); }
@media (max-width:780px) {
  .site-nav { position:sticky !important; top:0; z-index:1000; }
  .site-nav .nav-inner { flex-direction:column; align-items:stretch; padding:.55rem .75rem 0; gap:.45rem; }
  .site-nav .brand { justify-content:flex-start; min-height:54px; }
  .site-nav .brand img { height:54px; }
  .site-nav .brand-copy { display:block; font-size:.76rem; overflow:hidden; text-overflow:ellipsis; }
  .site-nav .main-nav { width:100%; display:flex; flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; scrollbar-width:none; background:#0b3d34; border-radius:10px 10px 0 0; }
  .site-nav .main-nav::-webkit-scrollbar { display:none; }
  .site-nav .main-nav a { flex:0 0 auto; min-height:46px; justify-content:center; color:#fff; padding:.65rem .78rem; font-size:.8rem; border-radius:0; border-right:1px solid rgba(255,255,255,.14); }
  .site-nav .main-nav a:hover, .site-nav .main-nav a:focus-visible, .site-nav .main-nav a[aria-current="page"] { background:#2c6e3c; color:#fff; }
  .site-nav .main-nav a i { display:inline-block; }
  .site-footer { margin-top:2rem; padding:2rem .9rem 1rem; }
  .site-footer-inner { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.35rem .8rem; }
  .footer-brand { grid-column:1/-1; text-align:center; }
  .footer-links { gap:.5rem; }
  .site-footer a, .site-footer p { overflow-wrap:anywhere; }
}
@media (max-width:480px) {
  .site-nav .brand-copy { font-size:.7rem; }
  .site-nav .main-nav a { font-size:.76rem; padding:.65rem .7rem; }
  .site-footer-inner { grid-template-columns:1fr 1fr; }
  .site-footer h3, .site-footer h4 { font-size:.95rem; }
  .site-footer a, .site-footer p { font-size:.8rem; line-height:1.4; }
}


/* Consolidated home mobile rules */
/* EliteVolt mobile + accessibility fixes */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
img { max-width: 100%; }

.nav-container { width: 100%; padding-inline: clamp(12px, 3vw, 32px) !important; }
.logo { min-width: 0; }
.nav-links { display:flex; align-items:center; flex-wrap:wrap; justify-content:center; gap:.35rem .8rem; }
.nav-links a { margin-left: 0 !important; padding:.45rem .35rem; white-space:nowrap; }

.hero-content, .hero-slider { min-width: 0; }
.hero-slider { width:100%; }
.swiper { max-width:100%; }

.appliance-table { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.appliance-table table { min-width:650px; }
.appliance-table input { min-width:90px; font-size:16px; } /* prevents iOS zoom */
.btn-primary, .btn-wa, .btn-email, .btn-icon { min-height:44px; }
.btn-icon { min-width:44px; }

.result-text { min-width:0; overflow-wrap:anywhere; }
.quote-buttons { flex-wrap:wrap; }
.quote-buttons > button { flex:1 1 180px; }

@media (max-width: 780px) {
  .navbar { position: sticky; }
  .nav-container { flex-direction:column; gap:.5rem; }
  .logo { text-align:center; }
  .logo img { height:58px !important; }
  .logo span { font-size:.72rem; }
  .nav-links { width:100%; gap:.2rem; }
  .nav-links a { font-size:.82rem; }
  .container { padding:1.1rem .85rem !important; }
  .hero { gap:1.4rem !important; margin-bottom:2rem !important; }
  .hero-content h2 { font-size:2.15rem !important; }
  .hero-content p { font-size:1rem !important; line-height:1.65; }
  .swiper { height:min(62vw, 300px); min-height:220px; }
  .section-title { font-size:1.7rem !important; margin-bottom:1.4rem; }
  .benefits-grid { grid-template-columns:1fr !important; gap:1rem; }
  .benefit-card { padding:1.35rem 1rem; }
  .calc-section { padding:1rem !important; border-radius:1.25rem; margin:1.5rem 0; }
  .result-area { flex-direction:column; align-items:stretch; padding:1rem; }
  .result-text { font-size:1rem; line-height:1.5; }
  .quote-buttons { flex-direction:column; }
  .quote-buttons > button { width:100%; }
  .services-row { gap:.6rem; }
  .service-item { width:100%; text-align:center; padding:.8rem 1rem; }
  footer { border-radius:1.2rem 1.2rem 0 0; padding:1.5rem .9rem; }
}

@media (max-width: 420px) {
  .nav-links a { font-size:.75rem; }
  .nav-links a i { display:none; }
  .swiper { min-height:190px; }
  .hero-content h2 { font-size:1.9rem !important; }
}


/* Final responsive hardening */
*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
button, .btn-primary, .btn-wa, .btn-email, .btn-icon { touch-action: manipulation; }
@media (max-width: 780px) {
  .nav-container { width: 100%; max-width: 100%; }
  .nav-links { max-width: 100%; overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; padding-bottom: 2px; scrollbar-width: none; }
  .nav-links::-webkit-scrollbar { display: none; }
  .nav-links a { flex: 0 0 auto; min-height: 44px; display: inline-flex; align-items: center; }
  .hero { min-width: 0; }
  .hero-content, .hero-slider { flex: 1 1 100%; width: 100%; max-width: 100%; }
  .calc-section { width: 100%; max-width: 100%; overflow: hidden; }
  .appliance-table { max-width: 100%; }
  .appliance-table table { min-width: 650px; }
  .result-area, .quote-buttons { width: 100%; max-width: 100%; }
}
@media (max-width: 420px) {
  .container { padding-inline: .65rem !important; }
  .logo img { height: 52px !important; }
  .nav-links a { font-size: .78rem; }
  .calc-section { padding: .8rem !important; }
}

/* Consolidated shop mobile rules */
/* EliteVolt shop mobile fixes */
html { scroll-behavior:smooth; }
body { overflow-x:hidden; }
img { max-width:100%; }

.shop-container { width:100%; min-width:0; }
.products-wrapper { min-width:0; }
.products-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)) !important; }
.product-card { min-width:0; }
.product-image { object-fit:contain !important; background:#f8fafc; }

.search-bar { display:flex; gap:8px; }
.search-bar input { min-width:0; font-size:16px; }
.search-bar button, .btn-add, .btn-details, .page-btn { min-height:44px; }
.category-bar select { width:100%; min-height:44px; font-size:16px; }

.close-drawer { min-width:44px; min-height:44px; }

.cart-drawer { width:min(92vw,420px) !important; max-width:100vw; }
.drawer-content { overflow-y:auto; -webkit-overflow-scrolling:touch; }

@media (max-width:767px) {
  .nav-container { flex-direction:column !important; gap:8px !important; }
  .nav-links { width:100%; display:flex; justify-content:center; flex-wrap:wrap; gap:4px 12px; }
  .nav-links a { margin:0 !important; font-size:.84rem; white-space:nowrap; }
  .logo img { height:56px !important; width:auto; }
  .hero-header { padding:1.5rem .8rem !important; }
  .hero-content h1 { font-size:1.8rem !important; }
  .shop-container { display:block !important; padding:12px !important; }
  .products-wrapper h2 { font-size:1.55rem !important; }
  .search-bar { flex-direction:column; }
  .search-bar button { width:100%; }
  .products-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  .product-card { padding:10px !important; }
  .product-image { height:150px !important; }
  .product-title { font-size:.9rem !important; line-height:1.3; }
  .product-price { font-size:1rem !important; }
  .btn-add, .btn-details { width:100%; margin-top:6px; }
  .pagination { flex-wrap:wrap; }
  .floating-cart { right:14px !important; bottom:14px !important; }
}

@media (max-width:380px) {
  .products-grid { grid-template-columns:1fr !important; }
  .product-image { height:190px !important; }
}


/* v9 shop mobile UX */
.product-card { position:relative; overflow:hidden; }
.product-page-link { min-height:46px; border-radius:999px; border:1px solid #cbd5e1; background:#eef3f5; color:#1e293b; font-weight:700; width:100%; margin-top:8px; }
.product-page-link:hover { background:#e2e8f0; }
.product-image-link { display:block; border-radius:16px; overflow:hidden; }
.product-image-link img { transition:transform .22s ease; }
.product-image-link:hover img, .product-image-link:focus-visible img { transform:scale(1.025); }
@media(max-width:767px){
  .products-grid { align-items:stretch; }
  .product-card { display:flex; flex-direction:column; }
  .product-title { min-height:2.6em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .product-price { margin-top:auto; }
  .product-page-link, .btn-add { min-height:48px; font-size:.95rem; }
  .search-bar input { width:100%; }
  .category-bar { position:sticky; top:0; z-index:20; background:#f6f8fb; padding:.25rem 0; }
}


/* Unified shop filter controls */
.category-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;align-items:center}.category-bar select,.category-bar input{width:100%;min-height:48px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:.7rem .8rem;font-size:16px;color:#1f2937}.category-bar input::placeholder{color:#64748b}
.wishlist-btn.active{background:#fff0f0!important;color:#b91c1c!important;border-color:#fecaca!important}
@media(max-width:760px){.category-bar{grid-template-columns:1fr 1fr;position:sticky;top:0;z-index:20;background:#f6f8fb;padding:.35rem 0}.category-bar select,.category-bar input{min-height:46px}.category-bar select:first-child{grid-column:1/-1}}
@media(max-width:420px){.category-bar{grid-template-columns:1fr}.category-bar select:first-child{grid-column:auto}}

/* v11 global mobile readability and touch targets */
.shop-page-title { margin: 0 0 1rem; font-size: clamp(1.55rem, 5vw, 2.2rem); line-height: 1.15; }
@media (max-width: 780px) {
  body { min-width: 0; }
  .container { width: 100%; max-width: 100%; }
  .navbar { width: 100%; }
  .nav-container { max-width: 100%; }
  .nav-links a, .main-nav a { min-height: 44px; }
  .site-footer { overflow: hidden; }
  .site-footer-inner { min-width: 0; }
  .footer-links a { overflow-wrap: anywhere; }
}
@media (max-width: 420px) {
  .site-footer { padding-left: 1rem; padding-right: 1rem; }
}

/* v11 phone-first layout across the entire site */
@media (max-width: 780px) {
  .navbar { position: sticky !important; top: 0; z-index: 1500; background: rgba(255,255,255,.97) !important; }
  .nav-container { width:100% !important; max-width:100% !important; padding:.5rem .7rem 0 !important; display:flex !important; flex-direction:column !important; gap:.35rem !important; align-items:stretch !important; }
  .nav-container .logo { width:100%; min-height:52px; display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:flex-start !important; gap:.55rem; text-align:left !important; }
  .nav-container .logo img { width:auto; height:50px !important; flex:0 0 auto; }
  .nav-container .logo br { display:none !important; }
  .nav-container .logo span { font-size:.78rem !important; line-height:1.25; }
  .container { padding-left:.85rem !important; padding-right:.85rem !important; }
  .hero-content h2 { font-size:clamp(1.8rem,8vw,2.5rem) !important; }
  .hero-content p { font-size:1rem !important; line-height:1.55 !important; }
  .hero-slider { width:100%; }
  .swiper { height:min(68vw,310px) !important; min-height:220px !important; }
  .section-title { font-size:clamp(1.5rem,6vw,2rem) !important; line-height:1.2; }
  .benefits-grid { grid-template-columns:1fr !important; }
  .calc-section { width:100%; overflow:hidden; }
  #addRowBtn { width:100%; min-height:46px; }
  .appliance-table { max-width:100%; overflow-x:auto; }
  .result-area { gap:.8rem; }

  .site-footer { border-radius:1.25rem 1.25rem 0 0; }
  .site-footer-inner { grid-template-columns:1fr !important; gap:1.5rem; }
  .site-footer .footer-brand, .site-footer > div > div { text-align:center; }
  .site-footer .footer-links { justify-items:center; }
  .site-footer a, .site-footer p { font-size:.9rem; line-height:1.5; }
}

@media (max-width: 380px) {
  .nav-container .logo img { height:46px !important; }
  .nav-container .logo span { font-size:.7rem !important; }
  .nav-container .nav-links a { font-size:.64rem !important; }
  .nav-container .nav-links a i { display:none; }
}

/* Compact footer */
.site-footer { margin:1rem 0 0 !important; padding:1.25rem 1rem .65rem !important; border-radius:0 !important; }
.site-footer-inner { grid-template-columns:1.1fr .8fr 1.6fr .9fr !important; gap:1rem !important; }
.site-footer h3,.site-footer h4 { margin-bottom:.35rem !important; }
.site-footer p { line-height:1.4 !important; margin:.2rem 0 !important; }
.site-footer .footer-links { display:flex !important; flex-wrap:wrap; align-items:flex-start; justify-content:flex-start; gap:.2rem .65rem !important; }
.site-footer .footer-links a { font-size:.78rem; line-height:1.35; }
.footer-bottom { margin-top:.65rem !important; padding-top:.5rem !important; font-size:.76rem !important; }
.footer-contact-btn { margin-top:.35rem !important; padding:.38rem .65rem !important; }
.product-title-row { display:flex; align-items:flex-start; gap:.4rem; justify-content:space-between; }
.product-title-row .product-title { flex:1; }
.wishlist-btn,.product-wishlist { min-width:44px; min-height:44px; border:1px solid #cbd5e1; border-radius:999px; background:#fff; color:#334155; font:inherit; font-weight:800; cursor:pointer; transition:transform .16s ease,background-color .16s ease,color .16s ease; }
.wishlist-btn { width:44px; height:44px; flex:0 0 44px; font-size:1.35rem; line-height:1; }
.wishlist-btn:hover,.product-wishlist:hover { transform:translateY(-1px); background:#fff0f0; color:#b91c1c; }
.wishlist-btn.active,.product-wishlist.active { background:#fff0f0 !important; color:#b91c1c !important; border-color:#fecaca !important; }
.product-card-actions { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-top:.45rem; }
.product-card-actions .btn-add,.product-card-actions .btn-details { width:100%; min-height:46px; margin:0; font-size:.86rem; }
.product-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; margin:.7rem 0 1rem; }
.product-actions .product-wishlist { padding:.55rem .9rem; font-size:.9rem; }
.product-actions .add-to-cart-btn { min-height:46px; padding:.7rem 1rem; border-radius:999px; color:#fff; font-weight:800; }
.product-actions .add-to-cart-btn:disabled { cursor:not-allowed; opacity:.65; }
.product-gallery.product-gallery { display:grid !important; grid-template-columns:minmax(0,1fr) !important; gap:.6rem !important; overflow:visible !important; }
.product-gallery-stage { position:relative; display:grid; place-items:center; overflow:hidden; border-radius:16px; background:#f3f6f4; aspect-ratio:1/1; min-height:250px; }
.product-gallery-main { display:block; width:100%; height:100%; max-width:none; object-fit:cover; cursor:zoom-in; transition:opacity .2s ease; }
.gallery-arrow { position:absolute; z-index:2; top:50%; transform:translateY(-50%); width:44px; height:44px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:rgba(7,27,22,.72); color:#fff; font-size:1.8rem; line-height:1; cursor:pointer; }
.gallery-arrow:hover { background:#0b3d34; }
.gallery-prev { left:.65rem; }.gallery-next { right:.65rem; }
.gallery-counter { position:absolute; right:.7rem; bottom:.65rem; padding:.2rem .5rem; border-radius:999px; color:#fff; background:rgba(7,27,22,.72); font-size:.75rem; font-weight:700; }
.product-gallery-thumbnails { display:flex; gap:.55rem; overflow-x:auto; padding:.15rem .1rem .35rem; scrollbar-width:thin; }
.gallery-thumbnail { flex:0 0 72px; height:68px; padding:3px; border:1px solid #dbe4df; border-radius:10px; background:#fff; cursor:pointer; overflow:hidden; }
.gallery-thumbnail img { width:100%; height:100%; object-fit:cover; border-radius:7px; }
.gallery-thumbnail.is-active { border:2px solid #17653b; box-shadow:0 0 0 2px rgba(23,101,59,.14); }
.image-lightbox { padding:4rem 1rem !important; }
.image-lightbox img { object-fit:contain !important; }
.product-page-link { min-height:46px; }
.mobile-menu-toggle { display:none; }
@media (max-width:800px) {
  .nav-container.has-mobile-menu,.nav-inner.has-mobile-menu { display:grid !important; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:center !important; gap:.35rem .65rem !important; padding:.45rem .75rem !important; }
  .nav-container.has-mobile-menu > .logo,.nav-inner.has-mobile-menu > .brand { grid-column:1; grid-row:1; width:auto !important; min-width:0; min-height:48px; }
  .nav-container.has-mobile-menu > .mobile-menu-toggle,.nav-inner.has-mobile-menu > .mobile-menu-toggle { display:inline-flex !important; grid-column:2; grid-row:1; align-items:center; justify-content:center; gap:.5rem; min-width:88px; min-height:44px; padding:.55rem .75rem; border:1px solid #cbd5e1; border-radius:12px; background:#fff; color:#0b3d34; font:inherit; font-weight:800; cursor:pointer; }
  .mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible { background:#edf7f0; border-color:#17653b; }
  .menu-toggle-icon { display:grid; gap:4px; width:18px; }
  .menu-toggle-icon span { height:2px; width:18px; border-radius:2px; background:currentColor; transition:transform .18s ease,opacity .18s ease; }
  .menu-open > .mobile-menu-toggle .menu-toggle-icon span:first-child { transform:translateY(6px) rotate(45deg); }
  .menu-open > .mobile-menu-toggle .menu-toggle-icon span:nth-child(2) { opacity:0; }
  .menu-open > .mobile-menu-toggle .menu-toggle-icon span:last-child { transform:translateY(-6px) rotate(-45deg); }
  .nav-container.has-mobile-menu > .main-nav,.nav-container.has-mobile-menu > .nav-links,.nav-inner.has-mobile-menu > .main-nav,.nav-inner.has-mobile-menu > .nav-links { grid-column:1/-1; grid-row:2; width:100% !important; max-height:70vh; overflow-y:auto !important; display:flex !important; flex-direction:column !important; flex-wrap:nowrap !important; align-items:stretch !important; justify-content:flex-start !important; gap:.2rem !important; margin:0 !important; padding:.45rem !important; border:1px solid #e2e8e5; border-radius:12px; background:#fff !important; box-shadow:0 12px 30px rgba(15,23,42,.14); }
  .nav-container.has-mobile-menu:not(.menu-open) > .nav-links,.nav-container.has-mobile-menu:not(.menu-open) > .main-nav,.nav-inner.has-mobile-menu:not(.menu-open) > .main-nav,.nav-inner.has-mobile-menu:not(.menu-open) > .nav-links { display:none !important; }
  .nav-container.has-mobile-menu .main-nav a,.nav-container.has-mobile-menu .nav-links a,.nav-inner.has-mobile-menu .main-nav a,.nav-inner.has-mobile-menu .nav-links a { display:flex !important; justify-content:flex-start !important; width:100%; min-height:46px; padding:.7rem .8rem !important; border:0 !important; border-radius:8px !important; background:transparent !important; color:#17211d !important; font-size:.95rem !important; }
  .nav-container.has-mobile-menu .main-nav a:hover,.nav-container.has-mobile-menu .nav-links a:hover,.nav-inner.has-mobile-menu .main-nav a:hover,.nav-inner.has-mobile-menu .nav-links a:hover,.nav-container.has-mobile-menu .main-nav a:focus-visible,.nav-inner.has-mobile-menu .main-nav a:focus-visible { background:#edf7f0 !important; color:#0b3d34 !important; }
  .nav-container.has-mobile-menu .main-nav a i,.nav-container.has-mobile-menu .nav-links a i,.nav-inner.has-mobile-menu .main-nav a i,.nav-inner.has-mobile-menu .nav-links a i { display:inline-block !important; min-width:1.1rem; font-size:.95rem !important; }
  .nav-inner.has-mobile-menu .brand-copy { display:none !important; }
  .site-footer { margin-top:.7rem !important; padding:.9rem .8rem .5rem !important; }
  .site-footer-inner { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:.85rem .75rem !important; text-align:left !important; }
  .site-footer .footer-brand { grid-column:1/-1 !important; text-align:left !important; }
  .site-footer h3,.site-footer h4 { font-size:.9rem !important; }
  .site-footer p,.site-footer a { font-size:.75rem !important; line-height:1.35 !important; }
  .site-footer .footer-links { gap:.15rem .5rem !important; justify-items:start !important; }
  .site-footer .footer-contact-btn { font-size:.73rem !important; }
  .footer-bottom { display:flex !important; justify-content:space-between; gap:.35rem .75rem !important; text-align:left !important; }
  .footer-bottom span { margin:0 !important; }
  .product-gallery-stage { min-height:0; aspect-ratio:1/1; }
  .product-gallery-main { height:100%; }
}
@media (max-width:520px) {
  .product-card-actions { grid-template-columns:1fr 1fr; }
  .product-gallery-stage { border-radius:13px; }
  .gallery-thumbnail { flex-basis:62px; height:60px; }
  .shop-page { padding-bottom:0 !important; }
  .shop-page .shop-container { padding-bottom:96px !important; }
  .shop-page .site-footer { margin-top:0 !important; padding-top:.7rem !important; padding-bottom:.35rem !important; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* Product gallery sizing and shop footer alignment */
.product-gallery img.product-gallery-main { width:100% !important; height:100% !important; object-fit:cover !important; }
.product-gallery .gallery-thumbnail img { width:100% !important; height:100% !important; object-fit:cover !important; cursor:pointer !important; }
.shop-page { padding-bottom:0 !important; }
@media (max-width:899px) { .shop-page .shop-container { padding-bottom:96px !important; } }

/* Keep the floating cart clear of the shop footer */
.shop-page .shop-container { padding-bottom:.5rem !important; }
.floating-cart.near-footer { opacity:0 !important; pointer-events:none !important; transform:translateY(12px); }
.floating-cart { color:#fff; font:inherit; }

/* Final shop footer alignment */
.shop-page .shop-container { margin-bottom:0 !important; padding-bottom:.5rem !important; }
.shop-page .site-footer { margin-top:0 !important; padding:.75rem 1rem .4rem !important; border-radius:0 !important; }

/* Solar sizing controls, service links, and product discovery */
.sizing-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:.8rem 0}
.sizing-input-grid label{display:grid;gap:.35rem;font-size:.88rem;font-weight:700;color:#26382d}
.sizing-input-grid input,.sizing-input-grid select{width:100%;min-height:46px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:.65rem .75rem;font:inherit;font-size:16px}
.service-item{display:flex;align-items:center;justify-content:center;gap:.55rem;text-decoration:none;color:#14532d;font-weight:700;min-height:54px}
.service-item:hover{color:#0b3d34;box-shadow:0 8px 22px rgba(15,23,42,.12);transform:translateY(-2px)}
.service-item:focus-visible{outline:3px solid rgba(43,122,62,.45);outline-offset:2px}
.seo-products-article{display:flex;flex-direction:column;align-items:flex-start}
.seo-products-article p{margin-bottom:.8rem}
.seo-product-cta{margin-top:auto;padding-top:.15rem}
.seo-product-cta .btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.05rem;border-radius:9px;text-decoration:none;font-weight:800}
.related-products{max-width:1200px;margin:2rem auto;padding:1.5rem clamp(18px,4vw,48px)}
.related-products h2{margin:0 0 .4rem;color:#0b3d34;font-size:clamp(1.45rem,3vw,2rem)}
.related-products>p{color:#52645a;margin:.3rem 0 1rem}
.related-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.related-product-card{display:flex;gap:.8rem;align-items:center;padding:.75rem;border:1px solid #e2e8f0;border-radius:14px;background:#fff;color:#1e293b;text-decoration:none;box-shadow:0 4px 14px rgba(15,23,42,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.related-product-card:hover{transform:translateY(-3px);border-color:#86b99a;box-shadow:0 12px 26px rgba(15,23,42,.12)}
.related-product-card img{width:84px;height:84px;object-fit:cover;border-radius:10px;background:#f1f5f9;flex:none}
.related-product-copy{display:grid;gap:.2rem;min-width:0}
.related-product-copy strong{line-height:1.25}
.related-product-copy small{color:#64748b;line-height:1.35}
.related-product-copy b{color:#166534;font-size:.9rem}
@media(max-width:800px){.solar-sizing-controls .sizing-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.solar-sizing-controls .sizing-input-grid{grid-template-columns:1fr}.related-products{padding-left:1rem;padding-right:1rem}.related-product-grid{grid-template-columns:1fr}.related-product-card img{width:72px;height:72px}}
@media(max-width:899px){.shop-page .shop-container{padding-bottom:0!important}.shop-page .site-footer{margin-top:0!important;padding-top:.55rem!important;padding-bottom:.3rem!important}}


.solar-sizing-controls{margin:1rem 0 1.25rem;padding:1rem 1.1rem;border:1px solid #cfe0d8;border-radius:16px;background:#f7fbf8}
.solar-sizing-controls h3{margin:0 0 .25rem;color:#0b3d34;font-size:1.15rem}
.solar-sizing-controls>p{margin:.2rem 0 .7rem;color:#52645a;font-size:.92rem}
.solar-sizing-controls .sizing-input-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:.65rem 0 0}
@media(max-width:800px){.solar-sizing-controls .sizing-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.solar-sizing-controls .sizing-input-grid{grid-template-columns:1fr}}


/* Period-based quick energy estimator in the main solar calculator */
.energy-quick-calculator{margin:1.1rem 0 1.35rem;padding:1.15rem;border:1px solid #cfe0d8;border-radius:16px;background:linear-gradient(135deg,#f7fbf8,#eef7f1)}
.energy-quick-heading h3{margin:.4rem 0 .25rem;color:#0b3d34;font-size:1.2rem}
.energy-quick-heading p{margin:.2rem 0 .8rem;color:#52645a}
.quick-sizing-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;background:#dff3e6;color:#17653b;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.energy-quick-controls{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;align-items:end;gap:.7rem}
.energy-quick-controls label{display:grid;gap:.35rem;font-size:.88rem;font-weight:700;color:#26382d}
.energy-quick-controls input,.energy-quick-controls select{width:100%;min-height:46px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:.65rem .75rem;font:inherit;font-size:16px}
.energy-quick-controls button{min-height:46px;padding:.65rem 1rem;white-space:nowrap}
.energy-quick-results{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin-top:.85rem}
.energy-quick-results>div{min-width:0;padding:.7rem;border:1px solid #dbe7e0;border-radius:12px;background:#fff;text-align:center}
.energy-quick-results span{display:block;color:#667085;font-size:.76rem}
.energy-quick-results strong{display:block;margin-top:.2rem;color:#0b5d45;font-size:1rem;overflow-wrap:anywhere}
.energy-quick-note{margin:.7rem 0 0;color:#52645a;font-size:.82rem;line-height:1.45}
@media(max-width:800px){.energy-quick-controls{grid-template-columns:1fr 1fr}.energy-quick-controls button{grid-column:1/-1}.energy-quick-results{grid-template-columns:repeat(2,minmax(0,1fr))}.energy-quick-results>div:last-child{grid-column:1/-1}}
@media(max-width:480px){.energy-quick-controls{grid-template-columns:1fr}.energy-quick-controls button{grid-column:auto}.energy-quick-results{grid-template-columns:1fr 1fr}.energy-quick-results>div:last-child{grid-column:1/-1}.energy-quick-calculator{padding:.9rem}}


/* Clear regular, reduced, and promotional product pricing */
.product-price{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .55rem}
.product-price.is-discounted .price-current,.price[data-product-price].is-discounted .price-current{color:#b42318}
.price-before{color:#68756f;font-size:.82em;font-weight:500;text-decoration:line-through;text-decoration-thickness:1.5px}
.price-current{font-weight:800}
.discount-badge,.promotion-label{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .5rem;background:#fff1ed;color:#a12a17;font-size:.7rem;font-weight:800;line-height:1.2}
.promotion-label{background:#eaf6ed;color:#17653b}
.price[data-product-price]{display:flex;align-items:center;gap:.35rem .55rem;flex-wrap:wrap}
.price[data-product-price].is-discounted .price-current{color:#b42318}
.price[data-product-price] .price-before{font-size:.58em}
.price[data-product-price] .discount-badge,.price[data-product-price] .promotion-label{font-size:.42em}
