/* ==========================================================================
   Cardian Wishlist — structural styles
   Skin (heart geometry / brand colours on product cards) lives in the child
   theme so the look stays with the theme; this file only makes the feature
   work and look sane if the theme rules are ever absent.
   ========================================================================== */

:root{
	--cw-ink:#23262F;
	--cw-muted:#5B6070;
	--cw-faint:#9BA0AB;
	--cw-line:#E7E9EE;
	--cw-bg:#fff;
	--cw-accent:#B45309;
	--cw-brand:#F5A800;
	--cw-love:#E11D48;
	--cw-radius:12px;
}

/* --------------------------------------------------------------- heart --- */

.cw-wrap{display:inline-flex;align-items:center;gap:4px;line-height:0}

.cw-wrap--loop{position:absolute;top:10px;right:10px;z-index:6;margin:0;grid-area:auto}
/* Safety net in case the theme's card is not already a positioning context. */
.products .product,.wc-block-grid__product{position:relative}

.cw-heart{
	-webkit-appearance:none;appearance:none;
	display:grid;place-items:center;
	width:30px;height:30px;padding:0;margin:0;
	border:0;border-radius:999px;
	background:rgba(255,255,255,.72);
	-webkit-backdrop-filter:saturate(180%) blur(8px);
	backdrop-filter:saturate(180%) blur(8px);
	box-shadow:0 2px 10px rgba(35,38,47,.16);
	color:var(--cw-faint);
	cursor:pointer;
	transition:color .16s ease,transform .16s ease,background .16s ease;
}
.cw-heart .cw-ic{display:block;fill:currentColor;pointer-events:none}
.cw-heart:hover{color:var(--cw-love);transform:translateY(-1px)}
.cw-heart:focus-visible{outline:2px solid var(--cw-brand);outline-offset:2px}
.cw-heart.is-saved{color:var(--cw-love)}
.cw-heart.is-busy{opacity:.55;pointer-events:none}

/* Single product — sits beside Add to cart, so it needs to read as a peer
   control rather than an overlay chip. */
.cw-wrap--single{margin-left:10px;vertical-align:middle}
.cw-heart--single{
	width:46px;height:46px;
	background:#fff;
	border:1px solid var(--cw-line);
	box-shadow:none;
	-webkit-backdrop-filter:none;backdrop-filter:none;
}
.cw-heart--single:hover{border-color:var(--cw-love)}

.cw-listpick{
	-webkit-appearance:none;appearance:none;
	display:grid;place-items:center;
	width:24px;height:46px;padding:0;
	border:0;background:none;color:var(--cw-faint);cursor:pointer;
}
.cw-listpick:hover{color:var(--cw-ink)}
.cw-listpick:focus-visible{outline:2px solid var(--cw-brand);outline-offset:2px}

@keyframes cw-pulse{0%{transform:scale(1)}40%{transform:scale(1.28)}100%{transform:scale(1)}}
.cw-pulse{animation:cw-pulse .34s ease}

@media (prefers-reduced-motion:reduce){
	.cw-pulse{animation:none}
	.cw-heart{transition:none}
}

.cw-sr{
	position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
	overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* Header count bubble injected onto any wishlist link. */
.cw-badge{
	display:inline-grid;place-items:center;
	min-width:17px;height:17px;padding:0 5px;margin-left:5px;
	border-radius:999px;background:var(--cw-love);
	color:#fff;font-size:10.5px;font-weight:600;line-height:1;
	vertical-align:middle;
}

/* ------------------------------------------------------------- popover --- */

.cw-pop{
	position:absolute;z-index:9999;width:262px;
	background:var(--cw-bg);border:1px solid var(--cw-line);border-radius:var(--cw-radius);
	box-shadow:0 12px 34px rgba(35,38,47,.18);
	font-size:14px;color:var(--cw-ink);
	overflow:hidden;
}
.cw-pop[hidden]{display:none}
.cw-pop__head{
	display:flex;align-items:center;justify-content:space-between;
	padding:11px 12px;border-bottom:1px solid var(--cw-line);
}
.cw-pop__title{font-size:13px;font-weight:600}
.cw-pop__x{
	-webkit-appearance:none;appearance:none;border:0;background:none;
	font-size:20px;line-height:1;color:var(--cw-faint);cursor:pointer;padding:0 2px;
}
.cw-pop__x:hover{color:var(--cw-ink)}

.cw-pop__lists{max-height:230px;overflow-y:auto;padding:5px 0}
.cw-pop__row{
	display:flex;align-items:center;gap:8px;width:100%;
	padding:9px 12px;border:0;background:none;text-align:left;cursor:pointer;
	font-size:13.5px;color:var(--cw-ink);
}
.cw-pop__row:hover{background:#F7F8FA}
.cw-pop__name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cw-pop__n{color:var(--cw-faint);font-size:12px}
.cw-pop__tick{width:16px;color:var(--cw-love);opacity:0;font-size:13px}
.cw-pop__row.is-in .cw-pop__tick{opacity:1}

.cw-pop__new{display:flex;gap:6px;padding:10px 12px;border-top:1px solid var(--cw-line)}
.cw-pop__new input{
	flex:1 1 auto;min-width:0;padding:7px 9px;font-size:13px;
	border:1px solid var(--cw-line);border-radius:8px;background:#fff;color:var(--cw-ink);
}
.cw-pop__new input:focus{outline:none;border-color:var(--cw-brand)}
.cw-pop__new button{
	-webkit-appearance:none;appearance:none;border:0;border-radius:8px;
	padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;
	background:var(--cw-ink);color:#fff;
}

/* --------------------------------------------------------------- toast --- */

.cw-toast{
	position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);
	z-index:100000;max-width:88vw;
	padding:11px 18px;border-radius:999px;
	background:var(--cw-ink);color:#fff;font-size:13.5px;font-weight:500;
	box-shadow:0 10px 30px rgba(35,38,47,.28);
	opacity:0;transition:opacity .18s ease,transform .18s ease;
	pointer-events:none;
}
.cw-toast[hidden]{display:none}
.cw-toast.is-in{opacity:1;transform:translate(-50%,0)}
.cw-toast--error{background:var(--cw-love)}

/* ----------------------------------------------------------- my account -- */

.cw-app{font-size:15px;color:var(--cw-ink)}

.cw-tabs{
	display:flex;flex-wrap:wrap;gap:7px;
	margin:0 0 16px;padding:0 0 14px;border-bottom:1px solid var(--cw-line);
}
.cw-tab{
	-webkit-appearance:none;appearance:none;
	display:inline-flex;align-items:center;gap:6px;
	padding:7px 13px;border:1px solid var(--cw-line);border-radius:999px;
	background:#fff;color:var(--cw-muted);
	font-family:inherit;font-size:13.5px;font-weight:500;line-height:1.3;
	text-decoration:none;cursor:pointer;
	transition:border-color .15s ease,color .15s ease;
}
.cw-tab:hover{border-color:var(--cw-ink);color:var(--cw-ink)}
.cw-tab.is-active{background:var(--cw-ink);border-color:var(--cw-ink);color:#fff}
.cw-tab__n{font-size:12px;color:var(--cw-faint)}
.cw-tab.is-active .cw-tab__n{color:rgba(255,255,255,.72)}
.cw-tab--new{border-style:dashed}

.cw-bar{
	display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
	gap:10px;margin:0 0 14px;
}
.cw-bar__left,.cw-bar__right{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cw-bar__count{font-size:13px;color:var(--cw-faint)}
.cw-selall{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--cw-muted);cursor:pointer}
.cw-selall input{width:15px;height:15px;margin:0;accent-color:var(--cw-ink)}

/* Move / copy destination picker. */
.cw-bar__right select,.cw-sel--dest{
	padding:7px 10px;border:1px solid var(--cw-line);border-radius:9px;
	font-family:inherit;font-size:13.5px;background:#fff;color:var(--cw-ink);
	max-width:190px;
}

.cw-btn{
	-webkit-appearance:none;appearance:none;
	display:inline-flex;align-items:center;gap:6px;
	padding:8px 14px;border:1px solid var(--cw-line);border-radius:9px;
	background:#fff;color:var(--cw-ink);
	font-size:13.5px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;
	transition:border-color .15s ease,background .15s ease;
}
.cw-btn:hover{border-color:var(--cw-ink)}
.cw-btn:disabled{opacity:.45;cursor:not-allowed}
.cw-btn--primary{background:var(--cw-brand);border-color:var(--cw-brand);color:var(--cw-ink)}
.cw-btn--primary:hover{filter:brightness(.96)}

.cw-listmeta{
	display:flex;flex-wrap:wrap;align-items:center;gap:12px;
	margin:0 0 16px;font-size:13px;color:var(--cw-faint);
}
.cw-link{background:none;border:0;padding:0;font-size:13px;color:var(--cw-muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cw-link:hover{color:var(--cw-ink)}
.cw-link--danger:hover{color:var(--cw-love)}

.cw-shareurl{
	width:100%;max-width:420px;padding:8px 10px;margin-top:4px;
	border:1px solid var(--cw-line);border-radius:8px;
	font-size:12.5px;color:var(--cw-muted);background:#F7F8FA;
}

/* ------------------------------------------------------------ card grid -- */

.cw-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
	gap:18px 14px;
	margin:0;padding:0;list-style:none;
}

.cw-card{position:relative;display:flex;flex-direction:column;min-width:0}
.cw-card.is-going{opacity:.4;transition:opacity .2s ease}

/* Selection checkbox — a label wrapping the real input, so the whole chip is
   a hit target and the box still reads to a screen reader. */
.cw-card__pick{
	position:absolute;top:7px;left:7px;z-index:4;
	display:grid;place-items:center;width:26px;height:26px;
	border-radius:7px;background:rgba(255,255,255,.86);
	box-shadow:0 1px 6px rgba(35,38,47,.14);cursor:pointer;
}
.cw-card__pick .cw-sel{width:15px;height:15px;margin:0;accent-color:var(--cw-ink);cursor:pointer}

.cw-card__media{position:relative;display:block;margin:0 0 9px;border-radius:10px;overflow:hidden;background:#F4F5F7}
.cw-card__media img{display:block;width:100%;height:auto}

.cw-card__title{
	margin:0 0 4px;font-size:14px;font-weight:500;line-height:1.35;color:var(--cw-ink);
	text-decoration:none;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.cw-card__title:hover{color:var(--cw-accent)}

.cw-card__price{font-size:15px;font-weight:600;color:var(--cw-ink);margin:0 0 4px}
.cw-card__price del{font-weight:400;color:var(--cw-faint);margin-right:5px}
.cw-drop{margin-left:6px;font-size:12px;font-weight:600;color:var(--cw-love)}

.cw-card__stock{font-size:12.5px;margin:0 0 8px}
.cw-in{color:#15803D}
.cw-out{color:var(--cw-faint)}

/* The CTA carries the theme's own .button class, so only layout is set here —
   colour and radius stay whatever Blocksy is using elsewhere on the site. */
.cw-card__cta{
	margin-top:auto;display:block;width:100%;
	text-align:center;font-size:13.5px;line-height:1.2;
}

.cw-card__rm{
	position:absolute;top:8px;right:8px;z-index:4;
	display:grid;place-items:center;width:24px;height:24px;
	border:0;border-radius:999px;background:rgba(255,255,255,.86);
	color:var(--cw-faint);font-size:15px;line-height:1;cursor:pointer;
	box-shadow:0 1px 6px rgba(35,38,47,.14);
}
.cw-card__rm:hover{color:var(--cw-love)}

.cw-ghost{opacity:.5;pointer-events:none}

.cw-empty{
	padding:40px 20px;text-align:center;color:var(--cw-muted);
	border:1px dashed var(--cw-line);border-radius:var(--cw-radius);
}
.cw-empty p{margin:0 0 14px}

/* -------------------------------------------------------- price tracker -- */

.cw-tracker__intro{margin:0 0 18px;color:var(--cw-muted);font-size:14px}

.cw-track{width:100%;border-collapse:collapse;font-size:14px}
.cw-track th{
	text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;
	letter-spacing:.04em;color:var(--cw-faint);
	padding:0 10px 9px;border-bottom:1px solid var(--cw-line);
}
.cw-track td{padding:12px 10px;border-bottom:1px solid var(--cw-line);vertical-align:middle}
.cw-track td:not(:first-child),.cw-track th:not(:first-child){text-align:right;white-space:nowrap}
.cw-track__name{color:var(--cw-ink);font-weight:500;text-decoration:none}
.cw-track__name:hover{color:var(--cw-accent)}
.cw-down{color:var(--cw-love);font-weight:600}
.cw-up{color:var(--cw-faint)}
.cw-watch{width:16px;height:16px;margin:0;accent-color:var(--cw-ink);cursor:pointer}

/* ------------------------------------------------------- shared / public -- */

.cw-public__head{margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid var(--cw-line)}
.cw-public__head h2{margin:0 0 6px;font-size:26px;line-height:1.25}
.cw-public__head p{margin:0 0 14px;color:var(--cw-faint);font-size:14px}

/* -------------------------------------------------------------- mobile --- */

@media (max-width:690px){
	.cw-app{font-size:15px}

	.cw-tabs{gap:6px;margin-bottom:13px;padding-bottom:11px;
		flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
		scrollbar-width:none;}
	.cw-tabs::-webkit-scrollbar{display:none}
	.cw-tab{flex:0 0 auto;padding:6px 12px;font-size:13px}

	.cw-bar{gap:8px;margin-bottom:11px}
	.cw-bar__right{width:100%}
	.cw-bar__right .cw-btn,.cw-bar__right select{flex:1 1 auto;justify-content:center;max-width:none}

	.cw-listmeta{gap:10px;margin-bottom:13px}

	.cw-grid{grid-template-columns:repeat(2,1fr);gap:15px 11px}

	.cw-card__title{font-size:13.5px}
	.cw-card__price{font-size:14.5px}

	.cw-heart--single{width:44px;height:44px}

	.cw-pop{width:min(300px,92vw)}

	/* Table collapses to stacked rows — a 5-column table at 390px is unreadable. */
	.cw-track thead{display:none}
	.cw-track,.cw-track tbody,.cw-track tr,.cw-track td{display:block;width:100%}
	.cw-track tr{padding:12px 0;border-bottom:1px solid var(--cw-line)}
	.cw-track td{padding:2px 0;border:0;text-align:left!important;white-space:normal}
	.cw-track td[data-l]::before{
		content:attr(data-l) " ";display:inline-block;min-width:78px;
		font-size:12px;color:var(--cw-faint);
	}
	.cw-track__name{font-size:14px;font-weight:600}

	.cw-toast{bottom:18px;font-size:13px;padding:10px 16px}
}

@media (max-width:380px){
	.cw-grid{gap:13px 9px}
}
