/* =========================================================
   SHAHAZ.COM — Category Landing Page
   Real WooCommerce product-category archives only.
   Ports the supplied "SHAHAZ Luxury Category Preview" Preview Code.
   Every selector is scoped under .shz-category-landing-page / a unique
   shz-catland- prefix — this file can never affect the Shop archive,
   Flash Sale, Trending, homepage For You, vendor storefront, or any
   other product grid on the site.
   ========================================================= */

.shz-category-landing-page,
.shz-category-landing-page *,
.shz-category-landing-page *::before,
.shz-category-landing-page *::after{ box-sizing:border-box; }

.shz-category-landing-page{
	width:100%;
	background:linear-gradient(135deg,#fff7fb 0%,#fdf0fa 38%,#fff8f2 100%);
	color:#35152d;
}

/* =========================================================
   BANNER — pure admin-controlled image slot.
   No hardcoded text, no decorative artwork baked into markup.
   Source: shahaz_category_asset_meta( $term_id ) — the SAME existing
   admin system already built in inc/shahaz-section-intermediate-landing.php
   ("Category" rows in the SHAHAZ Banners admin screen), just newly wired
   up to this frontend template. When no image has been chosen yet for a
   given category, this shows only a neutral gradient placeholder (never
   hardcoded promotional text/artwork) at the correct reserved height, so
   layout stays stable the moment an admin uploads an image.
   Heights: 170px mobile / 220px tablet / 260px desktop — width is always
   100%, independent of the product-grid's max-width.
   ========================================================= */
.shz-catland-banner{
	position:relative;
	width:100%;
	height:170px;
	overflow:hidden;
	background:linear-gradient(105deg,#3a0e4c,#7b145c 45%,#e50083 100%);
}
.shz-catland-banner img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
@media(min-width:701px) and (max-width:1100px){
	.shz-catland-banner{ height:220px; }
}
@media(min-width:1101px){
	.shz-catland-banner{ height:260px; }
}

/* =========================================================
   CATEGORY HEADING — real term name
   ========================================================= */
.shz-catland-heading{ padding:12px 12px 8px; text-align:center; }
.shz-catland-heading h1{ margin:0; font-family:Georgia,"Times New Roman",serif; font-size:22px; color:#47145f; letter-spacing:.4px; }
.shz-catland-heading h1 span{ color:#f00083; }
.shz-catland-heading p{ margin:4px 0 0; font-size:11px; color:#7c596f; letter-spacing:.7px; }

/* =========================================================
   PRODUCT GRID — exact 4px gutters/gaps, 2/3/4 columns
   ========================================================= */
.shz-catland-grid{
	width:100%;
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:4px;
	padding:0 4px 30px;
}
@media(min-width:701px){
	.shz-catland-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(min-width:1101px){
	.shz-catland-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); max-width:1600px; margin:0 auto; }
}

/* =========================================================
   PRODUCT CARD — floating luxury card
   ========================================================= */
.shz-catland-card{
	position:relative;
	min-width:0;
	overflow:hidden;
	background:rgba(255,255,255,.93);
	border:1px solid rgba(229,185,54,.65);
	border-radius:18px;
	box-shadow:0 8px 24px rgba(74,17,63,.12);
	transition:transform .25s ease, box-shadow .25s ease;
	isolation:isolate;
}
.shz-catland-card:hover{ transform:translateY(-3px); box-shadow:0 14px 32px rgba(74,17,63,.20); }

/* Deterministic tasteful variation — cycles by loop position, never random */
.shz-catland-card.style-1{ border-color:#d7aa35; border-radius:20px 8px 20px 8px; }
.shz-catland-card.style-2{ border-color:#e50083; border-radius:8px 20px 8px 20px; }
.shz-catland-card.style-3{ border-color:#6f2b91; border-radius:24px; }
.shz-catland-card.style-4{ border-color:#b87922; border-radius:8px; }
.shz-catland-card.style-5{ border-color:#a71962; border-radius:20px 20px 8px 8px; }
.shz-catland-card.style-6{ border-color:#c99a28; border-radius:8px 8px 22px 22px; }

/* ---- 70% image area ---- */
.shz-catland-image{
	position:relative;
	width:100%;
	aspect-ratio:1 / .93;
	overflow:hidden;
	background:linear-gradient(135deg,#f8d6e9,#fff6fb);
}
.shz-catland-image a{ display:block; width:100%; height:100%; }
.shz-catland-image img{ width:100%; height:100%; display:block; object-fit:cover; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.shz-catland-card:hover .shz-catland-image img{ transform:scale(1.045); }
.shz-catland-image::after{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:linear-gradient(180deg, rgba(255,255,255,.04), transparent 60%, rgba(50,5,40,.12));
}

/* ---- badge (real data only: SALE / FEATURED / LIMITED) ---- */
.shz-catland-badge{
	position:absolute;
	top:8px;
	left:8px;
	z-index:4;
	pointer-events:none;
	padding:4px 8px;
	border-radius:30px;
	background:linear-gradient(135deg,#f00083,#b60067);
	color:#fff;
	font-size:9px;
	font-weight:700;
	letter-spacing:.4px;
	box-shadow:0 3px 10px rgba(240,0,131,.25);
}

/* ---- glassy Add-to-Cart feedback capsule ---- */
.shz-catland-feedback{
	position:absolute;
	left:8px;
	right:8px;
	bottom:8px;
	z-index:10;
	padding:8px 10px;
	border-radius:30px;
	background:linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,242,250,.52));
	border:1px solid rgba(255,255,255,.75);
	box-shadow:0 8px 25px rgba(60,0,40,.18);
	backdrop-filter:blur(14px);
	-webkit-backdrop-filter:blur(14px);
	color:#b40063;
	font-size:10px;
	font-weight:700;
	text-align:center;
	opacity:0;
	transform:translateY(10px) scale(.96);
	pointer-events:none;
	transition:opacity .25s ease, transform .25s ease;
}
.shz-catland-feedback.show{ opacity:1; transform:translateY(0) scale(1); }

/* ---- 30% information area ---- */
.shz-catland-info{
	position:relative;
	min-height:118px;
	padding:10px 10px 12px;
	background:linear-gradient(180deg, rgba(255,250,253,.97), rgba(255,245,250,.93));
}
.shz-catland-brand{ font-size:8px; text-transform:uppercase; letter-spacing:1.5px; color:#9a7088; margin-bottom:3px; }
.shz-catland-title{
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	margin:0;
	padding-right:42px;
	font-family:Georgia,"Times New Roman",serif;
	font-size:14px;
	line-height:1.18;
	font-weight:700;
	color:#35152d;
	text-decoration:none;
}
.shz-catland-meta{ display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:4px; font-size:10px; }
.shz-catland-rating{ color:#e5b936; font-size:10px; letter-spacing:-1px; }
.shz-catland-rating b{ color:#35152d; letter-spacing:normal; font-weight:700; margin-left:2px; }
.shz-catland-sold{ color:#9a7088; font-size:10px; }
.shz-catland-price{ margin-top:5px; font-size:15px; font-weight:800; color:#f00083; }
.shz-catland-price del{ margin-left:4px; font-size:9px; color:#a98a9e; font-weight:400; text-decoration:line-through; }
.shz-catland-price ins{ text-decoration:none; }
.shz-catland-discount{ display:inline-block; margin-top:3px; padding:2px 7px; border-radius:20px; background:rgba(240,0,131,.1); color:#b60067; font-size:9px; font-weight:800; letter-spacing:.3px; }

/* ---- cart button, lower-right of the information area ----
   Width/height/padding/border-radius are !important here — this exact
   button was reported rendering as a horizontally-elongated, iconless
   pill on the live site. This page also still loads several older,
   broader stylesheets (signature-product-card.css, shop-enhancement.css,
   section-pages.css, shahaz-category-page.css) that were kept enqueued
   out of caution for other pages that still need them; none of them
   target .shz-catland-cart by name, but pinning this button's own
   geometry defensively guarantees it can never be reshaped by anything
   else on the page, regardless of load order. */
.shz-catland-cart{
	-webkit-tap-highlight-color:transparent !important;
	outline:none !important;
	position:absolute !important;
	right:8px;
	bottom:8px;
	width:36px !important;
	height:36px !important;
	min-width:36px !important;
	max-width:36px !important;
	padding:0 !important;
	margin:0 !important;
	border-radius:50% !important;
	border:1px solid rgba(240,0,131,.18);
	background:linear-gradient(145deg,#fff,#fff4fa);
	display:flex !important;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	color:#f00083;
	box-shadow:0 5px 15px rgba(91,15,70,.12);
	transition:transform .2s ease, background .2s ease, color .2s ease;
	line-height:0;
}
.shz-catland-cart:hover{ transform:translateY(-2px) scale(1.05); background:#f00083; color:#fff; }
.shz-catland-cart:focus{ outline:none !important; box-shadow:0 5px 15px rgba(91,15,70,.12); }
.shz-catland-cart:focus-visible{ outline:2px solid #e5b936 !important; outline-offset:2px; }
.shz-catland-cart:active{ transform:scale(.92); }
.shz-catland-cart[aria-busy="true"]{ opacity:.6; pointer-events:none; }
.shz-catland-cart-icon{ width:24px !important; height:24px !important; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }

/* =========================================================
   EMPTY STATE
   ========================================================= */
.shz-catland-empty{ grid-column:1/-1; text-align:center; padding:30px 12px; color:#7c596f; font-size:13px; }

/* =========================================================
   TABLET
   ========================================================= */
@media(min-width:701px) and (max-width:1100px){
	.shz-catland-title{ font-size:15px; }
}

/* =========================================================
   DESKTOP
   ========================================================= */
@media(min-width:1101px){
	.shz-catland-heading{ padding-top:18px; padding-bottom:12px; }
	.shz-catland-heading h1{ font-size:27px; }
	.shz-catland-title{ font-size:16px; }
}

/* =========================================================
   SMALL MOBILE REFINEMENT
   ========================================================= */
@media(max-width:380px){
	.shz-catland-heading h1{ font-size:19px; }
	.shz-catland-heading p{ font-size:10px; }
	.shz-catland-info{ min-height:112px; padding:8px 8px 10px; }
	.shz-catland-title{ font-size:12.5px; }
	.shz-catland-price{ font-size:13px; }
	.shz-catland-cart{ width:34px !important; height:34px !important; min-width:34px !important; max-width:34px !important; }
}

/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media(prefers-reduced-motion:reduce){
	.shz-catland-card,
	.shz-catland-image img,
	.shz-catland-cart,
	.shz-catland-feedback{ transition:none !important; }
}


/* =========================================================
   ZIP-416 — CATEGORY LANDING FOOTER/NAV GAP FIX
   Keep the fixed mobile capsule navigation, but do not leave a
   blank body strip between the real footer and the viewport edge.
   The required safe space is kept INSIDE the footer so its background
   continues underneath the fixed nav instead of creating a white gap.
   Scope is strictly product-category archives.
   ========================================================= */
@media(max-width:1023px){
	body.tax-product_cat{padding-bottom:0 !important;}
	body.tax-product_cat .site-content,
	body.tax-product_cat .site-main,
	body.tax-product_cat #primary{min-height:0 !important;}
	body.tax-product_cat #shahaz-footer,
	body.tax-product_cat .shahaz-footer,
	body.tax-product_cat footer.shahaz-footer{padding-bottom:68px !important;}
}
@media(min-width:1024px){
	body.tax-product_cat .site-content,
	body.tax-product_cat .site-main,
	body.tax-product_cat #primary{min-height:0 !important;}
}
