/*
Theme Name: Hello Elementor Child - Kingsley Ephraims v5
Template: hello-elementor
Description: Custom WhatsApp-order catalog design for Kingsley Ephraims Electronics & Solar
Version: 1.0
Text Domain: ke-child
*/

:root{
  --ke-ink:#1a1512;
  --ke-header:#1e1a16;
  --ke-orange:#f3680f;
  --ke-orange-dark:#c9540c;
  --ke-red:#cc272e;
  --ke-cream:#fbf8f5;
  --ke-panel:#f1eeeb;
  --ke-border:#e1dddb;
  --ke-border-2:#eae7e5;
  --ke-muted:#827f7d;
  --ke-muted-2:#5c5957;
  --ke-white:#ffffff;
}

body{
  font-family: Helvetica, Arial, sans-serif;
  color: var(--ke-ink);
  background: var(--ke-cream);
}
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; margin:0; padding:0; }
img{ max-width:100%; display:block; }

/* ---------- Top utility bar ---------- */
.ke-topbar{
  background: var(--ke-header);
  color: #e6e2df;
  font-size: 12.5px;
  padding: 7px 4%;
  display:flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}
.ke-topbar a{ color:#e6e2df; margin-left:20px; }
.ke-topbar a:first-child{ margin-left:0; }
.ke-topbar .ke-topbar-left a{ margin-left:0; margin-right:0; }

/* ---------- Header ---------- */
.ke-header{
  background: var(--ke-header);
  padding: 16px 4%;
  display:flex;
  align-items:center;
  gap: 24px;
  flex-wrap: wrap;
}
.ke-logo{
  font-size: 22px;
  font-weight: 800;
  color: var(--ke-orange);
  white-space: nowrap;
}
.ke-logo span{ color: var(--ke-cream); }
.ke-search{
  flex:1 1 260px;
  display:flex;
  min-width: 180px;
}
.ke-search input{
  flex:1;
  padding: 11px 16px;
  border:none;
  font-size:14px;
  outline:none;
}
.ke-search button{
  background: var(--ke-orange);
  border:none;
  padding: 0 22px;
  cursor:pointer;
  font-size:15px;
  color: var(--ke-ink);
  font-weight:700;
}
.ke-orderlist-link{
  color:#e6e2df;
  font-size:13px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  position:relative;
  white-space: nowrap;
}
.ke-orderlist-badge{
  position:absolute;
  top:-6px;
  right:-14px;
  background: var(--ke-red);
  color:#fff;
  font-size:10px;
  border-radius:50%;
  width:17px;
  height:17px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
}

/* ---------- Category nav bar ---------- */
.ke-catnav{
  background: var(--ke-orange);
  padding: 0 4%;
  display:flex;
  gap: 26px;
  font-size:13.5px;
  font-weight:600;
  color: var(--ke-ink);
  overflow-x:auto;
  position:relative;
}
.ke-catnav a{ padding:12px 0; white-space:nowrap; display:block; }
.ke-catnav .ke-allcats{ position:relative; }
.ke-catnav .ke-allcats > a::after{ content:" ▾"; font-size:10px; }
.ke-allcats-dropdown{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  background:#fff;
  border:1px solid var(--ke-border);
  min-width:230px;
  z-index: 50;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
.ke-allcats:hover .ke-allcats-dropdown,
.ke-allcats:focus-within .ke-allcats-dropdown{ display:block; }
.ke-allcats-dropdown a{
  display:block;
  padding:10px 16px;
  color: var(--ke-ink);
  font-weight:500;
  border-bottom:1px solid var(--ke-border-2);
}
.ke-allcats-dropdown a:last-child{ border-bottom:none; }

/* ---------- Hero section (front page) ---------- */
.ke-hero-wrap{
  display:grid;
  grid-template-columns: 250px 1fr;
  gap:20px;
  padding: 20px 4%;
}
@media (max-width: 860px){
  .ke-hero-wrap{ grid-template-columns: 1fr; }
}
.ke-cat-sidebar{
  background:#fff;
  border:1px solid var(--ke-border);
  align-self:start;
}
.ke-cat-sidebar a{
  display:flex;
  justify-content:space-between;
  padding:12px 16px;
  font-size:14px;
  border-bottom:1px solid var(--ke-border-2);
  color: var(--ke-ink);
}
.ke-cat-sidebar a:last-child{ border-bottom:none; }
.ke-hero-banner{
  background: var(--ke-orange);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding: 40px 48px;
  flex-wrap:wrap;
}
.ke-hero-text{ max-width:420px; flex:1 1 260px; }
.ke-hero-eyebrow{
  font-size:13px;
  letter-spacing:.1em;
  font-weight:700;
  margin-bottom:14px;
  color: var(--ke-ink);
}
.ke-hero-text h1{
  font-size:32px;
  font-weight:800;
  line-height:1.15;
  margin:0 0 18px;
  color:#181310;
}
.ke-hero-text p{
  font-size:15px;
  margin:0 0 26px;
  color:#221c17;
}
.ke-hero-cta{
  display:inline-block;
  background:#181310;
  color:#fff;
  padding:14px 30px;
  font-size:14px;
  font-weight:700;
}
.ke-hero-img{
  height:280px;
  width:230px;
  object-fit:contain;
  flex-shrink:0;
}

/* ---------- Sections / product grids ---------- */
.ke-section{ padding: 8px 4% 36px; }
.ke-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px;
}
.ke-section-head h2{
  font-size:21px;
  font-weight:800;
  margin:0;
  color: var(--ke-red);
}
.ke-section-head a{
  font-size:13.5px;
  font-weight:700;
  color: var(--ke-orange);
}
.ke-grid{
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap:16px;
}
@media (max-width: 980px){ .ke-grid{ grid-template-columns: repeat(3, 1fr);} }
@media (max-width: 620px){ .ke-grid{ grid-template-columns: repeat(2, 1fr);} }

.ke-card{
  display:block;
  background:#fff;
  border:1px solid var(--ke-border);
}
.ke-card-img{
  height:150px;
  background: var(--ke-panel);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.ke-card-img img{ height:100%; width:100%; object-fit:contain; }
.ke-card-body{ padding:12px; }
.ke-card-title{
  font-size:13px;
  font-weight:600;
  margin-bottom:8px;
  line-height:1.3;
  min-height:34px;
}
.ke-card-price{
  font-size:12.5px;
  font-weight:700;
  color: var(--ke-orange);
}

/* Category grid ("Shop by Category") */
.ke-cat-grid{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap:16px;
}
@media (max-width: 980px){ .ke-cat-grid{ grid-template-columns: repeat(3, 1fr);} }
@media (max-width: 620px){ .ke-cat-grid{ grid-template-columns: repeat(2, 1fr);} }
.ke-cat-card{
  background:#fff;
  border:1px solid var(--ke-border);
  text-align:center;
  padding:18px 10px;
}
.ke-cat-card-img{
  height:90px;
  background: var(--ke-panel);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
  overflow:hidden;
}
.ke-cat-card-img img{ height:100%; width:100%; object-fit:contain; }
.ke-cat-card-name{ font-size:13px; font-weight:600; }

/* ---------- Breadcrumb ---------- */
.ke-breadcrumb{
  padding: 18px 4% 0;
  font-size:13px;
  color: var(--ke-muted);
}
.ke-breadcrumb a{ color: var(--ke-muted); }

/* ---------- Single product ---------- */
.ke-product{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:48px;
  padding: 22px 4% 56px;
  max-width:1200px;
  margin:0 auto;
}
@media (max-width: 780px){ .ke-product{ grid-template-columns: 1fr; } }
.ke-product-gallery{
  height:420px;
  background: var(--ke-panel);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.ke-product-gallery img{ height:100%; width:100%; object-fit:contain; }
.ke-product-cat{
  font-size:13px;
  font-weight:700;
  letter-spacing:.05em;
  color: var(--ke-orange);
  margin-bottom:10px;
  text-transform:uppercase;
}
.ke-product-info h1{
  font-size:26px;
  font-weight:800;
  margin:0 0 10px;
  line-height:1.25;
}
.ke-product-price{
  font-size:15px;
  font-weight:700;
  color: var(--ke-orange);
  margin-bottom:22px;
}
.ke-product-desc{
  font-size:14.5px;
  line-height:1.7;
  color: var(--ke-muted-2);
  margin:0 0 24px;
  max-width:460px;
}
.ke-qty-row{ display:flex; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.ke-qty{
  display:flex;
  align-items:center;
  border:1px solid #d8d3d0;
}
.ke-qty button{
  width:42px;
  height:44px;
  background:none;
  border:none;
  font-size:18px;
  cursor:pointer;
}
.ke-qty .ke-qty-val{ width:42px; text-align:center; font-size:15px; }
.ke-btn-outline{
  background:#fff;
  border:1px solid var(--ke-orange);
  color: var(--ke-orange);
  font-size:14px;
  font-weight:700;
  padding: 0 22px;
  cursor:pointer;
}
.ke-btn-solid{
  flex:1 1 200px;
  background: var(--ke-orange);
  color:#181310;
  border:none;
  font-size:15px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 0 22px;
  min-height:44px;
  text-align:center;
}
.ke-trust{
  border-top:1px solid var(--ke-border);
  padding-top:18px;
  font-size:13.5px;
  color: var(--ke-muted-2);
  line-height:1.9;
}

/* ---------- Order List page ---------- */
.ke-orderlist-page{ padding: 30px 4% 56px; max-width:760px; margin:0 auto; }
.ke-orderlist-page h1{ font-size:24px; margin-bottom:8px; }
.ke-orderlist-page .ke-ol-sub{ font-size:14px; color:var(--ke-muted-2); margin-bottom:24px; }
.ke-ol-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid var(--ke-border);
  background:#fff;
  padding:14px 16px;
  margin-bottom:10px;
}
.ke-ol-item-name{ font-size:14px; font-weight:600; flex:1; }
.ke-ol-empty{ font-size:14px; color:var(--ke-muted); padding: 20px 0; }
.ke-ol-cta{
  margin-top:24px;
  background: var(--ke-orange);
  color:#181310;
  border:none;
  font-weight:700;
  font-size:15px;
  padding:16px 24px;
  width:100%;
  cursor:pointer;
  text-align:center;
  display:block;
}

/* ---------- WooCommerce default templates re-skinned ---------- */
.woocommerce{ background: var(--ke-cream); padding: 0 4% 40px; }
.woocommerce .woocommerce-breadcrumb{
  font-size:13px; color: var(--ke-muted); padding: 18px 0 12px; margin:0;
}
.woocommerce .woocommerce-breadcrumb a{ color: var(--ke-muted); }
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns: repeat(5, 1fr);
  gap:16px;
  margin:0; padding:0; list-style:none;
}
@media (max-width: 980px){ .woocommerce ul.products{ grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 620px){ .woocommerce ul.products{ grid-template-columns: repeat(2, 1fr) !important; } }
.woocommerce ul.products li.product{
  background:#fff;
  border:1px solid var(--ke-border);
  padding:0 !important;
  margin:0 !important;
  list-style:none;
  text-align:left !important;
  width:100% !important;
  max-width:100% !important;
  float:none !important;
  clear:none !important;
}
.woocommerce ul.products li.product a{ text-decoration:none; }
.woocommerce ul.products li.product img{
  height:150px;
  width:100%;
  object-fit:contain;
  background: var(--ke-panel);
  margin-bottom:0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:13px;
  font-weight:600;
  line-height:1.3;
  padding: 12px 12px 0;
  min-height:34px;
  display:block;
}
.woocommerce ul.products li.product .price{
  display:block;
  padding: 4px 12px 12px;
  font-size:12.5px;
  font-weight:700;
  color: var(--ke-orange);
}
.ke-chat-price{ color: var(--ke-orange); font-weight:700; }
.woocommerce ul.products li.product .star-rating{ margin: 0 12px; }

.woocommerce-pagination{ text-align:center; margin-top:24px; }
.woocommerce-pagination ul{ display:inline-flex; gap:6px; list-style:none; padding:0; }
.woocommerce-pagination a, .woocommerce-pagination span{
  display:block; padding:8px 13px; border:1px solid var(--ke-border); color: var(--ke-ink); background:#fff;
}
.woocommerce-pagination .current{ background: var(--ke-orange); color:#181310; border-color: var(--ke-orange); }

.woocommerce-result-count, .woocommerce-ordering{ font-size:13.5px; color: var(--ke-muted-2); }
.woocommerce-ordering select{ padding:8px; border:1px solid var(--ke-border); }

/* Single product default structure */
.woocommerce div.product{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:48px;
  padding: 22px 0 56px;
  max-width:1200px;
  margin:0 auto;
}
@media (max-width: 780px){ .woocommerce div.product{ grid-template-columns: 1fr; } }
.woocommerce div.product .woocommerce-product-gallery{
  height:420px;
  background: var(--ke-panel);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.woocommerce div.product .woocommerce-product-gallery img{ height:100%; width:100%; object-fit:contain; }
.woocommerce div.product .summary{ padding-top:4px; }
.woocommerce div.product .summary .product_title{
  font-size:26px; font-weight:800; margin:0 0 10px; line-height:1.25;
}
.woocommerce div.product .summary .price{
  font-size:15px; font-weight:700; color: var(--ke-orange); margin-bottom:22px; display:block;
}
.woocommerce div.product .summary .woocommerce-product-details__short-description{
  font-size:14.5px; line-height:1.7; color: var(--ke-muted-2); max-width:460px;
}
.woocommerce div.product .product_meta{
  border-top:1px solid var(--ke-border); padding-top:18px; margin-top:20px; font-size:13px; color: var(--ke-muted-2);
}
.related.products{ padding: 8px 0 36px; }
.related.products > h2{ font-size:21px; font-weight:800; color: var(--ke-red); margin-bottom:16px; }

/* ---------- Footer ---------- */
.ke-footer{
  background: var(--ke-header);
  color:#c9c4c0;
  padding: 40px 4% 20px;
}
.ke-footer-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:28px;
  margin-bottom:28px;
}
@media (max-width: 780px){ .ke-footer-grid{ grid-template-columns: repeat(2, 1fr); } }
.ke-footer-col h4{
  font-size:13px;
  font-weight:700;
  margin:0 0 14px;
  color:#fff;
  letter-spacing:.03em;
}
.ke-footer-col a, .ke-footer-col span{
  display:block;
  font-size:13.5px;
  margin-bottom:9px;
  color:#c9c4c0;
}
.ke-footer-bottom{
  border-top:1px solid #3a342e;
  padding-top:16px;
  font-size:12.5px;
  text-align:center;
  color:#8f8a86;
}
