/* =====================================================================
   Luvherbs - Product category page (parent + child)
   File: wp-content/themes/luvhubs/assets/css/category.css
   ===================================================================== */
.lh-cat{
	--lh-bg:#faf8ec;
	--lh-card:#fdfcf5;
	--lh-soft:#eff2e2;
	--lh-pill:#e5ebd5;
	--lh-pill-hover:#d6e0bd;
	--lh-ink:#111111;
	--lh-dark:#0d120e;
	--lh-muted:#5b6358;
	--lh-green:#24553a;
	--lh-gold:#d4a64e;
	--lh-border:#dfe0cf;
	--lh-shadow:0 14px 36px -18px rgba(36,85,58,.28);
	font-family:'Poppins',sans-serif;
	background:var(--lh-bg);
	color:var(--lh-ink);
	width:100%;
}
.lh-cat *{box-sizing:border-box}
.lh-cat a{text-decoration:none}
.lh-cat img{max-width:100%}
.lh-cat-wrap{max-width:1280px;margin:0 auto;padding-left:20px;padding-right:20px}
.lh-cat .screen-reader-text{
	position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px;padding:0;border:0;
}

/* Shared eyebrow (small spaced capitals) */
.lh-cat-eyebrow{margin:24px 0 0;font-size:11px;line-height:1.5;letter-spacing:.3em;text-transform:uppercase;color:var(--lh-green)}

/* =====================================================================
   HERO
   ===================================================================== */
.lh-cat-hero{position:relative;overflow:hidden;isolation:isolate}
.lh-cat-hero.is-plain{background:linear-gradient(135deg,#e9f2df 0%,#c6e6ca 100%)}
.lh-cat-hero-img{
	position:absolute;inset:0;z-index:-2;
	width:100%;height:100%;max-width:none;
	object-fit:cover;object-position:center;
}
.lh-cat-hero-fade{
	position:absolute;inset:0;z-index:-1;
	background:linear-gradient(to right,var(--lh-bg) 0%,rgba(250,248,236,.8) 50%,rgba(250,248,236,0) 100%);
}
.lh-cat-hero-inner{padding-top:112px;padding-bottom:112px} /* lg:py-28 */

.lh-cat-crumb{font-size:12px;line-height:1.5;color:var(--lh-muted)}
.lh-cat-crumb a{color:var(--lh-muted);transition:color .2s}
.lh-cat-crumb a:hover{color:var(--lh-green)}
.lh-cat-crumb span{color:var(--lh-ink)}

.lh-cat-title{
	margin:16px 0 0;max-width:36rem;
	font-size:48px;line-height:1.2;font-weight:600;letter-spacing:-.01em;color:var(--lh-ink);
}
.lh-cat-desc{margin:20px 0 0;max-width:28rem;font-size:14px;line-height:1.75;color:var(--lh-muted)}

.lh-cat-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px}
.lh-cat-btn{
	display:inline-flex;align-items:center;justify-content:center;
	min-height:48px;padding:0 28px;border-radius:2px;
	background:var(--lh-green);color:#fff !important;
	font-size:14px;line-height:1;letter-spacing:.02em;
	transition:opacity .2s;
}
.lh-cat-btn:hover{opacity:.9}
.lh-cat-rating{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--lh-muted)}
.lh-cat-star{width:16px;height:16px;color:var(--lh-gold);fill:var(--lh-gold)}

/* =====================================================================
   TRUST BAR
   ===================================================================== */
.lh-cat-trust{background:var(--lh-card);border-top:1px solid var(--lh-border);border-bottom:1px solid var(--lh-border)}
.lh-cat-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:24px;padding-bottom:24px}
.lh-cat-trust-item{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.4;color:var(--lh-ink)}
.lh-cat-trust-icon{flex-shrink:0;width:20px;height:20px;color:var(--lh-green)}

/* =====================================================================
   SUB-CATEGORY CARDS
   ===================================================================== */
.lh-subcats{padding-top:64px}
.lh-subcat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.lh-subcat-card{
	display:flex;align-items:center;gap:20px;
	padding:16px;border:1px solid var(--lh-border);border-radius:16px;
	background:var(--lh-soft);color:inherit;
	transition:box-shadow .25s,border-color .25s;
}
.lh-subcat-card:hover{box-shadow:var(--lh-shadow);border-color:#d3d6bf}
.lh-subcat-media{flex-shrink:0;display:block;width:96px;height:96px;overflow:hidden;border-radius:12px;background:#f3ece0}
.lh-subcat-media img,.lh-subcat-img{
	display:block;width:100%;height:100%;object-fit:cover;
	transition:transform .4s;
}
.lh-subcat-card:hover .lh-subcat-media img{transform:scale(1.05)}
.lh-subcat-body{display:block;min-width:0}
.lh-subcat-name{display:block;font-size:20px;line-height:1.25;font-weight:600;color:var(--lh-ink)}
.lh-subcat-meta{display:block;margin-top:4px;font-size:12px;color:var(--lh-muted)}

/* =====================================================================
   PRODUCTS: filter bar + grid
   ===================================================================== */
.lh-cat-body{padding-top:56px;padding-bottom:56px;scroll-margin-top:110px}
.lh-cat-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--lh-border)}
.lh-cat-pills{display:flex;flex-wrap:wrap;gap:8px}
.lh-pill-btn{
	display:inline-block;border-radius:999px;padding:8px 20px;
	font-size:12px;line-height:1.4;
	background:var(--lh-pill);color:var(--lh-green);
	transition:background-color .2s,color .2s;
}
.lh-pill-btn:hover{background:var(--lh-pill-hover)}
.lh-pill-btn.is-active{background:var(--lh-green);color:#fff}

.lh-cat-tools{display:flex;align-items:center;gap:12px;margin-left:auto;font-size:14px;color:var(--lh-muted)}
.lh-cat-sort{margin:0}
.lh-cat-sort select{
	-webkit-appearance:none;appearance:none;
	border:1px solid var(--lh-border);border-radius:2px;
	background:var(--lh-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
	padding:9px 36px 9px 12px;font-family:inherit;font-size:14px;line-height:1.4;color:var(--lh-ink);
	cursor:pointer;height:auto;
}
.lh-cat-sort select:focus-visible{outline:2px solid var(--lh-green);outline-offset:2px}

.lh-cat-notices{margin-top:24px}
.lh-cat-notices:empty{display:none}

.lh-pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:40px}
.lh-pcard{margin:0;padding:0;list-style:none;min-width:0}
.lh-pcard[hidden],.lh-cat-empty[hidden]{display:none !important} /* filter pills hide cards */
.lh-cat-pills[data-lh-filter] .lh-pill-btn{cursor:pointer}
.lh-pcard-img{display:block;overflow:hidden;border-radius:12px;background:#f3ece0}
.lh-pcard-img img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;transition:transform .5s}
.lh-pcard:hover .lh-pcard-img img{transform:scale(1.05)}
.lh-pcard-cat{margin:16px 0 0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--lh-muted)}
.lh-pcard-title{margin:8px 0 0;font-size:16px;line-height:1.4;font-weight:500}
.lh-pcard-title a{color:var(--lh-ink)}
.lh-pcard-title a:hover{color:var(--lh-green)}
.lh-pcard-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.lh-pcard-price{font-size:14px;color:var(--lh-ink)}
.lh-pcard-price del{color:var(--lh-muted);margin-right:6px;font-size:12px}
.lh-pcard-price ins{text-decoration:none;background:none}

.lh-atc{
	display:inline-block;flex-shrink:0;white-space:nowrap;
	border:1px solid rgba(36,85,58,.3);border-radius:2px;
	padding:8px 16px;font-size:12px;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;
	color:var(--lh-green);background:transparent;transition:background-color .2s,color .2s;
}
.lh-atc:hover{background:var(--lh-green);color:#fff}
.lh-atc.loading{opacity:.6;pointer-events:none}
.lh-atc.added{background:var(--lh-green);color:#fff}
.lh-pcard .added_to_cart{display:none} /* hide WooCommerce's "View cart" link after AJAX add */

.lh-cat-empty{margin:40px 0 0;padding:20px;border:1px solid var(--lh-border);border-radius:6px;font-size:14px;color:var(--lh-muted)}

/* Pagination */
.lh-pagination{margin-top:48px}
.lh-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.lh-pagination .page-numbers{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:40px;height:40px;padding:0 12px;border:1px solid var(--lh-border);border-radius:2px;
	font-size:13px;color:var(--lh-green);
}
.lh-pagination a.page-numbers:hover{background:var(--lh-pill)}
.lh-pagination .page-numbers.current{background:var(--lh-green);border-color:var(--lh-green);color:#fff}

/* =====================================================================
   HOW TO USE
   ===================================================================== */
.lh-ritual{background:linear-gradient(120deg,#e9f2df 0%,#cbe7cd 100%);padding-top:80px;padding-bottom:80px}
.lh-ritual-eyebrow{margin-top:0}
.lh-ritual-title{margin:12px 0 0;font-size:36px;line-height:1.2;font-weight:600;letter-spacing:-.01em;color:var(--lh-ink)}
.lh-ritual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}
.lh-ritual-card{
	padding:24px;border-radius:12px;
	background:rgba(250,248,236,.82);
	box-shadow:var(--lh-shadow);
}
.lh-ritual-num{margin:0;font-size:30px;line-height:1.2;font-weight:600;color:var(--lh-gold)}
.lh-ritual-step{margin:12px 0 0;font-size:18px;line-height:1.3;font-weight:600;color:var(--lh-ink)}
.lh-ritual-text{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--lh-muted)}

/* =====================================================================
   HELP BANNER
   ===================================================================== */
.lh-help{padding-top:80px;padding-bottom:80px}
.lh-help-box{
	display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;
	padding:56px;border-radius:24px;
	background:var(--lh-dark);color:var(--lh-bg);
}
.lh-help-icon{display:block;width:28px;height:28px;color:var(--lh-gold)}
.lh-help-title{margin:16px 0 0;font-size:30px;line-height:1.2;font-weight:600;color:var(--lh-gold)}
.lh-help-text{margin:12px 0 0;max-width:32rem;font-size:14px;line-height:1.6;color:var(--lh-bg);opacity:.75}
.lh-help-btn{
	display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
	min-height:52px;padding:0 32px;border-radius:2px;
	background:linear-gradient(90deg,#c89a4e 0%,#ead48b 100%);
	color:var(--lh-ink) !important;font-size:14px;font-weight:500;letter-spacing:.03em;
	transition:filter .2s;
}
.lh-help-btn:hover{filter:brightness(1.05)}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1023px){
	.lh-cat-hero-inner{padding-top:80px;padding-bottom:80px}
	.lh-cat-trust-grid{grid-template-columns:repeat(2,1fr)}
	.lh-subcats{padding-top:56px}
	.lh-pgrid{grid-template-columns:repeat(2,1fr)}
	.lh-ritual{padding-top:72px;padding-bottom:72px}
	.lh-ritual-title{font-size:32px}
	.lh-ritual-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-top:32px}
	.lh-help{padding-top:72px;padding-bottom:72px}
	.lh-help-box{padding:44px}
	.lh-help-title{font-size:28px}
}
@media (max-width:767px){
	/* image sits behind the text on phones, so make the fade stronger */
	.lh-cat-hero-fade{background:linear-gradient(to bottom,rgba(250,248,236,.92) 0%,rgba(250,248,236,.84) 100%)}
	.lh-cat-hero-inner{padding-top:56px;padding-bottom:56px}
	.lh-cat-title{font-size:36px}
	.lh-cat-desc{font-size:14px}
	.lh-cat-btn{min-height:48px;padding:0 24px}
	.lh-cat-trust-grid{gap:16px 12px;padding-top:20px;padding-bottom:20px}
	.lh-cat-trust-item{font-size:13px;gap:10px}
	.lh-subcat-grid{grid-template-columns:1fr;gap:16px}
	.lh-subcat-media{width:80px;height:80px}
	.lh-subcat-name{font-size:18px}
	.lh-help-box{grid-template-columns:1fr;padding:36px 28px;border-radius:20px}
	.lh-help-title{font-size:24px}
	.lh-help-btn{justify-self:start}
}
@media (max-width:640px){
	.lh-pgrid{grid-template-columns:1fr}
	.lh-cat-tools{margin-left:0;width:100%;justify-content:space-between}
	.lh-ritual-grid{grid-template-columns:1fr}
	.lh-ritual-title{font-size:28px}
}
@media (prefers-reduced-motion:reduce){
	.lh-pcard-img img,.lh-subcat-media img,.lh-atc,.lh-pill-btn,.lh-subcat-card,.lh-cat-btn,.lh-help-btn{transition:none}
	.lh-pcard:hover .lh-pcard-img img,.lh-subcat-card:hover .lh-subcat-media img{transform:none}
}