/* ==========================================================================
   AURA LUXIFY — SHOP PAGE (sage/forest-green design system)
   ========================================================================== */

:root{
  --al-bg:#DFECE5;
  --al-surface:#FFFFFF;
  --al-dark:#2C3A32;
  --al-dark-hover:#3A4B41;
  --al-border:#CFE0D6;
  --al-text-muted:#1B211D;
  --al-radius:20px;
  --al-radius-sm:14px;
  --al-shadow: 0 8px 24px -8px rgba(44,58,50,.16);
  --al-shadow-hover: 0 16px 36px -10px rgba(44,58,50,.26);
  --al-font-heading:'Nunito', sans-serif;
  --al-font-body:'Nunito', sans-serif;
  --al-font-label:'Poppins', sans-serif;
}

body.woocommerce-shop,
body.woocommerce-shop #primary,
body.woocommerce-shop .content-area,
.woocommerce.archive.post-type-archive-product{
  background:var(--al-bg) !important;
  font-family:var(--al-font-body);
  color:var(--al-dark);
}
.woocommerce-products-header__title.page-title{ display:none; }

/* ---------- Hero ---------- */
.al-shop-hero{
  width:100%;
  padding:60px 24px 40px;
  text-align:center;
  background:var(--al-bg);
}
.al-shop-hero__inner{max-width:720px;margin:0 auto;}
.al-shop-hero h1{
  font-family:var(--al-font-heading);
  font-size:clamp(30px,5vw,50px);
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.1;
  color:var(--al-dark);
  margin:0 0 14px;
}
.al-shop-hero p{
  font-family:var(--al-font-body);
  font-size:16px;
  font-weight:500;
  line-height:1.6;
  color:var(--al-text-muted);
  margin:0 auto;
  max-width:540px;
}

/* ---------- Page wrap: sidebar + main ---------- */
.al-shop-wrap{
  display:grid;
  grid-template-columns:270px 1fr;
  gap:28px;
  max-width:1320px;
  margin:0 auto;
  padding:0 24px 70px;
  align-items:start;
}

/* ---------- Sidebar ---------- */
.al-sidebar{
  background:var(--al-surface);
  border:1px solid var(--al-border);
  border-radius:var(--al-radius);
  padding:22px;
  position:sticky;
  top:24px;
  box-shadow:var(--al-shadow);
}
.al-sidebar-block + .al-sidebar-block{
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid var(--al-border);
}
.al-sidebar-title{
  font-family:var(--al-font-heading);
  font-size:15px;
  font-weight:800;
  color:var(--al-dark);
  margin:0 0 14px;
}
.al-filter-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.al-filter-list--cat a{
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 10px;
  border-radius:10px;
  color:var(--al-text-muted);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  transition:background-color .2s ease,color .2s ease;
}
.al-filter-list--cat a:hover{ background:var(--al-bg); color:var(--al-dark); }
.al-filter-list--cat a.is-active{ background:var(--al-dark); color:#fff; }
.al-filter-list--cat a.is-active .al-count{ color:rgba(255,255,255,.75); }
.al-count{ font-size:12px; color:var(--al-text-muted); font-weight:600; }

.al-filter-list--price a{
  display:flex; align-items:center;
  padding:9px 10px;
  border-radius:10px;
  color:var(--al-text-muted);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  transition:background-color .2s ease,color .2s ease;
}
.al-filter-list--price a:hover{ background:var(--al-bg); color:var(--al-dark); }
.al-filter-list--price a.is-active{ background:var(--al-dark); color:#fff; }

/* ---------- Toolbar ---------- */
.al-shop-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 20px;
  margin-bottom:20px;
  background:var(--al-surface);
  border:1px solid var(--al-border);
  border-radius:var(--al-radius-sm);
  box-shadow:var(--al-shadow);
}
.woocommerce-result-count{
  color:var(--al-text-muted) !important;
  font-family:var(--al-font-body);
  font-size:14px; font-weight:600; margin:0 !important;
}
.woocommerce-ordering{ margin:0 !important; }
.woocommerce-ordering select.orderby{
  background:var(--al-bg) !important;
  color:var(--al-dark) !important;
  border:1px solid var(--al-border) !important;
  border-radius:12px !important;
  padding:10px 36px 10px 14px !important;
  font-size:14px; font-weight:600; font-family:var(--al-font-body);
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%232C3A32'/></svg>");
  background-repeat:no-repeat; background-position:right 14px center;
  cursor:pointer;
}
.al-shop-search{ position:relative; flex:1 1 200px; max-width:280px; }
.al-shop-search input[type=search]{
  width:100%;
  background:var(--al-bg);
  border:1px solid var(--al-border);
  border-radius:12px;
  padding:10px 14px 10px 38px;
  color:var(--al-dark); font-size:14px; font-weight:600; font-family:var(--al-font-body);
}
.al-shop-search input[type=search]::placeholder{ color:var(--al-text-muted); font-weight:500; }
.al-shop-search svg{ position:absolute; left:12px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:var(--al-text-muted); }
.al-view-switch{ display:flex; gap:6px; background:var(--al-bg); border:1px solid var(--al-border); border-radius:12px; padding:4px; }
.al-view-switch button{ border:none; background:transparent; color:var(--al-text-muted); width:32px; height:32px; border-radius:9px; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s ease; }
.al-view-switch button.is-active, .al-view-switch button:hover{ color:#fff; background:var(--al-dark); }

/* ---------- Product grid ---------- */
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin:0 !important;
  padding:0 !important;
  list-style:none;
}
.woocommerce ul.products li.product{
  position:relative;
  background:var(--al-surface);
  border:1px solid var(--al-border);
  border-radius:var(--al-radius);
  padding:0 0 14px;
  margin:0 !important;
  overflow:hidden;
  box-shadow:var(--al-shadow);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  width:auto !important; float:none !important;
  display:flex;
  flex-direction:column;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-6px);
  border-color:var(--al-dark);
  box-shadow:var(--al-shadow-hover);
}
.al-img-wrap{ overflow:hidden; border-radius:var(--al-radius) var(--al-radius) 0 0; position:relative; background:var(--al-bg); flex-shrink:0; }
.al-img-wrap img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; transition:transform .5s ease; }
.woocommerce ul.products li.product:hover .al-img-wrap img{ transform:scale(1.06); }

.al-badge{
  position:absolute; top:14px; left:14px; z-index:3;
  background:var(--al-dark); color:#fff;
  font-family:var(--al-font-label); font-size:11px; font-weight:600;
  text-transform:uppercase; letter-spacing:.04em;
  padding:5px 12px; border-radius:999px; line-height:1;
}
.al-badge--hot{ left:auto; right:14px; background:var(--al-surface); border:1px solid var(--al-dark); color:var(--al-dark); }

.al-content{
  padding:14px 16px 0;
  display:flex;
  flex-direction:column;
  flex:1;
  min-height:100px;
}
.al-cat-label{
  display:block; font-family:var(--al-font-label); font-size:11px; text-transform:uppercase;
  letter-spacing:.06em; color:var(--al-text-muted); margin-bottom:6px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.al-title{
  font-family:var(--al-font-heading); font-size:15px; font-weight:700; color:var(--al-dark);
  margin:0 0 6px; line-height:1.35; text-decoration:none;
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical;
  overflow:hidden; text-overflow:ellipsis;
  min-height:1.35em;
}
.al-rating{ font-size:12px; margin-bottom:6px; color:#F5B700; min-height:14px; }
.al-rating .dim{ color:#D8E4DC; }
.al-price{
  font-family:var(--al-font-body); margin-bottom:10px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin-top:auto;
}
.al-price del{ color:var(--al-text-muted); font-size:13px; opacity:.75; text-decoration:line-through; }
.al-price ins{ text-decoration:none; }
.al-price ins, .al-price .amount{ color:var(--al-dark); font-size:17px; font-weight:800; }
.al-add-to-cart{
  display:block; width:calc(100% - 32px); margin:0 16px;
  text-align:center; background:var(--al-dark); color:#fff !important;
  font-family:var(--al-font-body); font-size:13px; font-weight:700;
  padding:9px 16px; border-radius:999px; border:none; cursor:pointer;
  transition:background-color .3s ease; text-decoration:none;
}
.al-add-to-cart:hover{ background:var(--al-dark-hover); color:#fff !important; }
.al-added-msg{ display:block; text-align:center; color:var(--al-dark); font-size:12px; font-weight:600; margin-top:8px; }
.woocommerce ul.products li.product .added_to_cart.wc-forward{
  display:block; text-align:center; color:var(--al-dark) !important;
  font-family:var(--al-font-body); font-weight:700; font-size:12px;
  margin:8px 16px 0; text-decoration:underline;
}

/* List view */
.woocommerce ul.products.al-list-view{ grid-template-columns:1fr !important; }
.woocommerce ul.products.al-list-view li.product{ display:grid; grid-template-columns:180px 1fr; align-items:stretch; }
.woocommerce ul.products.al-list-view .al-img-wrap{ border-radius:var(--al-radius) 0 0 var(--al-radius); height:100%; }
.woocommerce ul.products.al-list-view .al-add-to-cart{ width:auto; margin:0; }

/* ---------- Pagination ---------- */
nav.woocommerce-pagination{ margin:28px 0 0 !important; }
nav.woocommerce-pagination ul{ display:flex !important; justify-content:center; gap:8px; border:none !important; background:transparent !important; }
nav.woocommerce-pagination ul li{ border:none !important; }
nav.woocommerce-pagination ul li a, nav.woocommerce-pagination ul li span{
  display:flex; align-items:center; justify-content:center;
  min-width:40px; height:40px; padding:0 14px;
  background:var(--al-surface) !important; border:1px solid var(--al-border) !important;
  border-radius:999px !important; color:var(--al-dark) !important;
  font-family:var(--al-font-body); font-size:13.5px; font-weight:700;
}
nav.woocommerce-pagination ul li a:hover{ background:var(--al-bg) !important; border-color:var(--al-dark) !important; }
nav.woocommerce-pagination ul li span.current{ color:#fff !important; background:var(--al-dark) !important; border-color:var(--al-dark) !important; }

/* ---------- Empty state ---------- */
.al-empty{ background:var(--al-surface); border:1px solid var(--al-border); border-radius:var(--al-radius); padding:50px 24px; text-align:center; color:var(--al-text-muted); font-weight:600; }

/* ---------- Mobile sidebar toggle ---------- */
.al-sidebar-toggle{ display:none; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1024px){
  .al-shop-wrap{ grid-template-columns:1fr; }
  .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); }
  .al-sidebar{ position:static; }
  .al-sidebar-toggle{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    width:100%; margin-bottom:16px; padding:13px 18px;
    background:var(--al-surface); border:1px solid var(--al-border);
    border-radius:var(--al-radius-sm); box-shadow:var(--al-shadow);
    font-family:var(--al-font-heading); font-weight:700; color:var(--al-dark);
    cursor:pointer;
  }
  .al-sidebar{ display:none; }
  .al-sidebar.is-open{ display:block; }
}
@media (max-width:640px){
  .woocommerce ul.products{ grid-template-columns:1fr; gap:16px; }
  .al-shop-hero{ padding:44px 16px 32px; }
  .al-shop-wrap{ padding:0 14px 50px; }
  .al-shop-toolbar{ flex-direction:column; align-items:stretch; }
  .al-view-switch{ align-self:flex-start; }
  .woocommerce ul.products.al-list-view li.product{ grid-template-columns:110px 1fr; }
}
@media (min-width:641px) and (max-width:1024px){
  .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); }
}
