/*
 * Reference Packs CPT — frontend parity stylesheet
 *
 * Auto-generated from Reference-Packs-Library/ahr-ref-assets.php <style> block,
 * scoped under `.ahr-refpack-preview-root` so the CPT library matches the legacy look without
 * requiring `.ahr-ref-root` on the outer wrapper (avoids legacy footer JS binding).
 *
 * Regenerate: python3 scripts/build_parity_css.py
 */


	.ahr-refpack-preview-root{ --ahr-brand:#1e8be5; --ahr-sub:#475569; --ahr-card:#fff; }

	.ahr-refpack-preview-root{ max-width:1280px; margin:20px auto 50px; padding:0 12px; }
	
	/* Search bar */
	.ahr-refpack-preview-root .ahr-ref-search-wrap{
		position:relative;
		margin:0 auto 32px auto;
		width:500px;
		max-width:100%;
		box-sizing:border-box;
	}
	.ahr-refpack-preview-root .ahr-ref-search-input{
		width:100%;
		padding:12px 40px 12px 16px;
		border:2px solid #e5e7eb;
		border-radius:999px;
		font-size:14px;
		color:rgba(15, 23, 42, 0.6);
		background:#fff;
		transition:border-color .2s ease, box-shadow .2s ease;
		outline:none;
		box-sizing:border-box;
	}
	.ahr-refpack-preview-root .ahr-ref-search-input:focus{
		border-color:var(--ahr-brand);
		box-shadow:0 0 0 3px rgba(30,139,229,.1);
	}
	.ahr-refpack-preview-root .ahr-ref-search-input::placeholder{
		color:rgba(148, 163, 184, 0.6);
	}
	.ahr-refpack-preview-root .ahr-ref-search-clear{
		position:absolute;
		right:8px;
		top:50%;
		transform:translateY(-50%);
		margin-top:-2px;
		width:28px;
		height:28px;
		border:none;
		background:transparent;
		color:#64748b;
		font-size:20px;
		line-height:1;
		cursor:pointer;
		display:flex;
		align-items:center;
		justify-content:center;
		transition:color .2s ease;
		padding:0;
	}
	.ahr-refpack-preview-root .ahr-ref-search-clear:hover{
		background:none !important;
		color:#475569;
	}
	.ahr-refpack-preview-root .ahr-ref-search-clear:active{
		transform:translateY(-50%) scale(0.95);
	}
	
	.ahr-refpack-preview-root .ahr-ref-grid{
		display:grid;
		grid-template-columns: repeat(4, minmax(0,1fr));
		gap:18px;
		align-items:start;
	}
	.ahr-refpack-preview-root .ahr-ref-card{
		background:var(--ahr-card);
		border:1px solid #e5e7eb;
		border-radius:16px;
		box-shadow:0 2px 8px rgba(0,0,0,0.04);
		overflow:hidden;
		transition:all 0.2s ease;
	}
	.ahr-refpack-preview-root .ahr-ref-card:hover{
		box-shadow:0 8px 24px rgba(0,0,0,0.12);
		transform:translateY(-2px);
	}

	.ahr-refpack-preview-root .ahr-ref-card.ahr-ref-card--touch{
		box-shadow:0 8px 24px rgba(0,0,0,0.12);
		transform:translateY(-2px);
	}

	@media (hover:none) and (pointer:coarse){
		.ahr-refpack-preview-root .ahr-ref-card.inview, .ahr-refpack-preview-root .ahr-ref-card.ahr-ref-card--touch{
			box-shadow:0 8px 24px rgba(0,0,0,0.12);
			transform:translateY(-2px);
		}
	}
	/* square cover */
	.ahr-refpack-preview-root .ahr-ref-thumb{
		position:relative;
		width:100%;
		aspect-ratio:1/1;
		overflow:hidden;
		background:#f8fafc;
		display:block;
	}
	.ahr-refpack-preview-root .ahr-ref-thumb--cover{
		background-size:cover;
		background-position:center;
		background-repeat:no-repeat;
	}

	.ahr-refpack-preview-root .ahr-ref-card-link{
		display:block;
		text-decoration:none;
		color:inherit;
	}

	/* Full-image hover overlay + eye on card link hover */
	.ahr-refpack-preview-root .ahr-ref-thumb-hover{
		position:absolute;
		inset:0;
		z-index:2;
		pointer-events:none;
		opacity:0;
		transition:opacity 0.2s ease;
	}
	.ahr-refpack-preview-root .ahr-ref-thumb-hover-shade{
		position:absolute;
		inset:0;
		background:rgba(0,0,0,0.35);
	}
	.ahr-refpack-preview-root .ahr-ref-thumb-hover-center{
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(-50%,-50%);
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:4px;
		z-index:1;
	}
	.ahr-refpack-preview-root .ahr-ref-thumb-hover-eye{
		display:block;
		width:52px;
		height:52px;
		flex-shrink:0;
		background-color:#fff;
		-webkit-mask-image:url('/wp-content/uploads/2025/12/eye.svg');
		mask-image:url('/wp-content/uploads/2025/12/eye.svg');
		-webkit-mask-repeat:no-repeat;
		mask-repeat:no-repeat;
		-webkit-mask-position:center;
		mask-position:center;
		-webkit-mask-size:contain;
		mask-size:contain;
	}
	.ahr-refpack-preview-root .ahr-ref-thumb-hover-label{
		font-size:11px;
		font-weight:600;
		line-height:1.2;
		letter-spacing:0.02em;
		color:rgba(255,255,255,0.82);
		text-shadow:0 1px 3px rgba(0,0,0,0.35);
		white-space:nowrap;
	}
	@media (hover:hover){
		.ahr-refpack-preview-root .ahr-ref-card .ahr-ref-card-link:hover .ahr-ref-thumb-hover{
			opacity:1;
		}
		.ahr-refpack-preview-root .ahr-ref-card .ahr-ref-card-link:hover .ahr-ref-thumb-hover-center{
			opacity:0.95;
		}
	}

	/* centered, slightly bolder title */
	.ahr-refpack-preview-root .ahr-ref-title{
		font-size:16px; font-weight:700; text-align:center;
		margin:12px 16px 8px; color:#0f172a;
	}

	.ahr-refpack-preview-root .ahr-ref-actions{
		padding:10px 16px 13px;
		display:flex;
		flex-direction:column;
		gap:10px;
		row-gap:6px;
		position:relative;
		z-index:2;
	}

	/* Full-width ZIP download row */
	.ahr-refpack-preview-root .ahr-ref-split-actions{
		display:block;
		width:100%;
	}
	.ahr-refpack-preview-root .ahr-ref-split-btn{
		display:flex;
		align-items:center;
		justify-content:center;
		min-height:40px;
		padding:0 10px;
		font-weight:600;
		font-size:14px;
		line-height:1.2;
		text-align:center;
		text-decoration:none;
		box-sizing:border-box;
		border:1px solid #2ba1e9;
		border-radius:12px;
		background:#2ba1e9;
		color:#ffffff;
		box-shadow:0 1px 2px rgba(15,23,42,0.04);
		transition:background 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
	}
	.ahr-refpack-preview-root a.ahr-ref-split-btn:hover{
		background:#1a83c4;
		border-color:#1a83c4;
		color:#ffffff;
		box-shadow:0 2px 6px rgba(15,23,42,0.1);
		transform:none;
	}
	.ahr-refpack-preview-root .ahr-ref-split-btn--download,
	.ahr-refpack-preview-root .ahr-ref-split-btn--zip{
		width:100%;
	}
	.ahr-refpack-preview-root .ahr-ref-split-zip-inner{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		gap:8px;
	}
	.ahr-refpack-preview-root .ahr-ref-split-zip-icon{
		display:block;
		width:18px;
		height:18px;
		flex-shrink:0;
		object-fit:contain;
		filter:brightness(0) invert(1);
	}
	.ahr-refpack-preview-root .ahr-ref-split-zip-sep{
		display:block;
		width:1px;
		height:20px;
		flex-shrink:0;
		background:rgba(255,255,255,0.38);
	}
	.ahr-refpack-preview-root .ahr-ref-split-zip-text{
		font-size:14px;
		font-weight:700;
		line-height:1.2;
		color:#fff;
		white-space:nowrap;
	}
	.ahr-refpack-preview-root .ahr-ref-split-actions--locked .ahr-ref-split-btn,
	.ahr-refpack-preview-root .ahr-ref-split-btn--disabled{
		background:#e5e7eb;
		color:#94a3b8;
		border-color:#e2e8f0;
		box-shadow:none;
		cursor:not-allowed;
		pointer-events:none;
	}
	.ahr-refpack-preview-root .ahr-ref-split-actions--locked .ahr-ref-split-zip-icon,
	.ahr-refpack-preview-root .ahr-ref-split-btn--disabled .ahr-ref-split-zip-icon{
		filter:brightness(0) saturate(100%) invert(62%) sepia(8%) saturate(497%) hue-rotate(176deg) brightness(91%) contrast(86%);
	}
	.ahr-refpack-preview-root .ahr-ref-split-actions--locked .ahr-ref-split-zip-sep,
	.ahr-refpack-preview-root .ahr-ref-split-btn--disabled .ahr-ref-split-zip-sep{
		background:rgba(148,163,184,0.45);
	}
	.ahr-refpack-preview-root .ahr-ref-split-actions--locked .ahr-ref-split-zip-text,
	.ahr-refpack-preview-root .ahr-ref-split-btn--disabled .ahr-ref-split-zip-text{
		color:#94a3b8;
	}

	/* Accordion (legacy preview shortcode; archive cards use split actions) */
	.ahr-refpack-preview-root .ahr-ref-details{
		background:#f8fafc; border:1px solid #e5e7eb; border-radius:12px; padding:0; overflow:hidden;
	}
	.ahr-refpack-preview-root .ahr-ref-details > summary{
		cursor:pointer; font-weight:700; color:#0f172a; outline:none; list-style:none;
		padding:12px 14px;
		display:flex; align-items:center; justify-content:space-between;
	}
	.ahr-refpack-preview-root .ahr-ref-details > summary::-webkit-details-marker{ display:none; }
	.ahr-refpack-preview-root .ahr-ref-sum-text{ display:inline-block; color:#245b80; }

	/* icons via mask */
	.ahr-refpack-preview-root .ahr-ref-sum-icon{
		width:22px; height:22px; flex:0 0 22px; margin-left:10px;
		background-color:#ffffff;
	}
	.ahr-refpack-preview-root .ahr-ref-icon-down{
		-webkit-mask-image:url('/wp-content/uploads/2025/11/angle-circle-down.svg');
		mask-image:url('/wp-content/uploads/2025/11/angle-circle-down.svg');
		-webkit-mask-size:cover; mask-size:cover;
	}
	.ahr-refpack-preview-root .ahr-ref-icon-up{
		-webkit-mask-image:url('/wp-content/uploads/2025/11/angle-circle-up.svg');
		mask-image:url('/wp-content/uploads/2025/11/angle-circle-up.svg');
		-webkit-mask-size:cover; mask-size:cover;
		display:none;
	}
	.ahr-refpack-preview-root .ahr-ref-details[open] .ahr-ref-icon-down{ display:none; }
	.ahr-refpack-preview-root .ahr-ref-details[open] .ahr-ref-icon-up{ display:inline-block; }

	/* Smooth accordion open/close (ease-in-out) */
	.ahr-refpack-preview-root .ahr-ref-details .ahr-ref-details-content{
		display:grid;
		grid-template-rows:0fr;
		transition:grid-template-rows 0.35s ease-in-out;
	}
	.ahr-refpack-preview-root .ahr-ref-details[open] .ahr-ref-details-content{
		grid-template-rows:1fr;
	}
	.ahr-refpack-preview-root .ahr-ref-details .ahr-ref-details-content-inner{
		overflow:hidden;
		min-height:0;
	}
	.ahr-refpack-preview-root .ahr-ref-details.ahr-ref-details-closing .ahr-ref-details-content{
		grid-template-rows:0fr;
	}

	.ahr-refpack-preview-root .ahr-ref-gallery{
		padding:12px 12px 8px;
		display:grid;
		grid-template-columns: repeat(2, minmax(0,1fr));
		gap:8px;
	}
	.ahr-refpack-preview-root .ahr-ref-img{
		display:block; border-radius:10px; overflow:hidden; border:1px solid #e5e7eb; background:#fff; position:relative;
	}
	.ahr-refpack-preview-root .ahr-ref-img img{
		width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:1/1;
	}

	.ahr-refpack-preview-root .ahr-ref-tip{
		padding:0 12px 12px; color:#475569; font-size:12px;
		display:flex; align-items:center; gap:8px;
	}
	.ahr-refpack-preview-root .ahr-ref-i{
		width:15px; height:15px; display:inline-block;
		position:relative;
		filter:invert(39%) sepia(63%) saturate(1638%) hue-rotate(187deg) brightness(93%) contrast(93%);
		opacity:.9;
	}

	.ahr-refpack-preview-root .ahr-note-btn{
		display:inline-block;
		padding:6px 18px;
		border-radius:999px;
		font-weight:700; font-size:15px;
		color:var(--ahr-brand);
		border:1px solid #8dcaff;
		text-decoration:none;
		transition:all .18s ease;
		text-align:center;
		background:#fff;
	}
	.ahr-refpack-preview-root .ahr-note-btn:hover{
		background:var(--ahr-brand);
		color:#fff;
		border-color:var(--ahr-brand);
		box-shadow:0 8px 22px rgba(46,160,255,.28);
		transform:translateY(-1px);
	}
	.ahr-refpack-preview-root .ahr-note-btn:active{ transform:translateY(0); }
	.ahr-refpack-preview-root .ahr-ref-btn{ display:block; width:100%; }

	.ahr-refpack-preview-root .ahr-ref-controls{ display:flex; justify-content:center; margin:18px 0 0; }
	.ahr-refpack-preview-root .ahr-ref-controls--mobile{ display:none; }
	.ahr-refpack-preview-root .ahr-ref-load{ min-width:220px; }
	.ahr-refpack-preview-root .ahr-ref-load-mobile{ min-width:220px; }
	
	/* Mobile pagination - show controls only on phones */
	@media (max-width:640px){
		.ahr-refpack-preview-root .ahr-ref-controls--mobile{ display:flex; }
	}

	.ahr-refpack-preview-root .ahr-ref-tile{ display:flex; flex-direction:column; gap:6px; }
	.ahr-refpack-preview-root .ahr-ref-mini-btn{ display:block; width:100%; padding:1px 10px; font-size:12px; border-radius:10px; text-align:center; }

	@media (max-width:960px){
		.ahr-refpack-preview-root .ahr-ref-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
		.ahr-refpack-preview-root .ahr-ref-gallery{ grid-template-columns: repeat(2, minmax(0,1fr)); }
	}
	@media (max-width:640px){
		.ahr-refpack-preview-root .ahr-ref-grid{
			grid-template-columns:1fr;
			justify-items:center;
		}
		.ahr-refpack-preview-root .ahr-ref-card{
			width:100%;
			max-width:300px;
		}
		.ahr-refpack-preview-root .ahr-ref-gallery{ grid-template-columns: repeat(2, minmax(0,1fr)); }
		.ahr-refpack-preview-root .ahr-ref-tip{ font-size:12px; }
		.ahr-refpack-preview-root .ahr-ref-i{ width:15px; height:15px; }
		.ahr-refpack-preview-root .ahr-ref-search-wrap{ width:100%; max-width:100%; }
	}

	.ahr-refpack-preview-root .ahr-ref-teaser{ cursor:not-allowed; user-select:none; }
	.ahr-refpack-preview-root .ahr-ref-teaser .ahr-ref-card{ position:relative; }
	.ahr-refpack-preview-root .ahr-ref-teaser .ahr-ref-thumb{ position:relative; overflow:hidden; }
	.ahr-refpack-preview-root .ahr-ref-teaser .ahr-ref-thumb::after{
		content:"";
		position:absolute; inset:0;
		background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(15,23,42,.05));
		pointer-events:none;
	}

	.ahr-refpack-preview-root .ahr-ref-thumb{ position:relative; overflow:hidden; }
	.ahr-refpack-preview-root .ahr-ref-thumb img{ position:relative; z-index:0; }

	/* Corner fade behind badges — hidden (sticker drop-shadow only for now) */
	.ahr-refpack-preview-root .ahr-ref-thumb.ahr-has-emoji::before{
		display:none;
	}

	/*
	.ahr-refpack-preview-root .ahr-ref-thumb.ahr-has-emoji::before{
		content:"";
		position:absolute;
		right:0;
		bottom:0;
		z-index:1;
		width:74%;
		height:34%;
		min-width:104px;
		min-height:84px;
		max-width:288px;
		max-height:80px;
		pointer-events:none;
		background:radial-gradient(
			ellipse 100% 155% at 100% 100%,
			rgba(0,0,0,0.667) 0%,
			rgba(0,0,0,0.477) 55%,
			transparent 88%
		);
		-webkit-mask-image:radial-gradient(
			ellipse 92% 88% at 100% 100%,
			#000 18%,
			transparent 100%
		);
		mask-image:radial-gradient(
			ellipse 92% 88% at 100% 100%,
			#000 18%,
			transparent 100%
		);
	}
	*/

	.ahr-refpack-preview-root .ahr-ref-badge{
		position:absolute;
		right:10px;
		bottom:10px;
		z-index:2;
		display:flex !important;
		align-items:center; justify-content:center;
		width:48px; height:48px; line-height:1;
		pointer-events:none; user-select:none;
	}

	.ahr-refpack-preview-root .ahr-ref-badge[data-state="new"]{
		transform:rotate(-15deg);
	}

	.ahr-refpack-preview-root .ahr-ref-badge--emoji{
		font-size:32px;
		color:#fff;
		text-shadow:0 2px 6px rgba(0,0,0,.55);
		font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",system-ui,sans-serif !important;
	}

	.ahr-refpack-preview-root .ahr-ref-badge--sticker img{
		display:block;
		width:100%;
		height:100%;
		object-fit:contain;
		filter:drop-shadow(2px 8px 15px rgba(0,0,0,2));
	}

	@media (max-width:640px){
		/*
		.ahr-refpack-preview-root .ahr-ref-thumb.ahr-has-emoji::before{
			min-width:88px;
			min-height:70px;
			max-width:200px;
			max-height:68px;
		}
		*/
		.ahr-refpack-preview-root .ahr-ref-badge{ width:38px; height:38px; right:8px; bottom:8px; }
		.ahr-refpack-preview-root .ahr-ref-badge--emoji{ font-size:26px; }
	}

	.ahr-refpack-preview-root .ahr-ref-details > summary{
		background:#2ba1e9;
		color:#ffffff;
		font-weight:600;
		border:none;
	}
	.ahr-refpack-preview-root .ahr-ref-details > summary:hover{
		background:#2690d1;
	}
	.ahr-refpack-preview-root .ahr-ref-details > summary .ahr-ref-sum-text{
		color:#ffffff;
	}
	.ahr-refpack-preview-root .ahr-ref-count{
		color:#c1e7ff;
		font-weight:500;
		font-size:1em;
	}

	.ahr-refpack-preview-root .ahr-ref-title{
		background:linear-gradient(90deg,#0e2435,#194461);
		color:#ffffff;
		font-size:15px;
		font-weight:700;
		text-align:center;
		margin:0;
		padding:12px 10px 10px;
		border-top:1px solid #909090;
		border-bottom:1px solid #0c1b2a;
		letter-spacing:0.2px;
		line-height:1.3;
		text-transform:none;
		border-radius:0 0 15px 15px;
	}

	/* Compact cards (archive grid + suggested widget): cover + title only */
	.ahr-refpack-preview-root .ahr-ref-card--sidebar .ahr-ref-title{
		font-size:15px;
		margin:0;
		border-radius:0 0 15px 15px;
	}
	.ahr-refpack-preview-root .ahr-ref-card--sidebar .ahr-ref-actions{
		display:none !important;
	}

	/*
	 * Compact / sidebar cards: padding-bottom square box (reliable when thumb
	 * has only absolutely positioned children — aspect-ratio alone can fail).
	 */
	.ahr-refpack-preview-root .ahr-ref-card--sidebar .ahr-ref-card-link{
		display:block;
		min-width:0;
	}
	.ahr-refpack-preview-root .ahr-ref-card--sidebar .ahr-ref-thumb{
		display:block;
		width:100%;
		max-width:100%;
		height:0;
		padding-bottom:100%;
		aspect-ratio:auto;
		min-height:0;
		max-height:none;
		flex:none;
		box-sizing:border-box;
	}
	.ahr-refpack-preview-root .ahr-ref-card--sidebar .ahr-ref-thumb--cover{
		background-size:cover;
		background-position:center;
		background-repeat:no-repeat;
	}
	.ahr-refpack-preview-root .ahr-ref-card--sidebar .ahr-ref-thumb-hover,
	.ahr-refpack-preview-root .ahr-ref-card--sidebar .ahr-ref-badge{
		position:absolute;
	}

	.ahr-refpack-preview-root .ahr-ref-grid{
		gap:25px;
	}

	/* Locked states */
	.ahr-refpack-preview-root .ahr-ref-card--locked .ahr-ref-details{
		background:#f1f5f9;
		border:1px solid #e5e7eb;
		border-radius:12px;
		overflow:hidden;
	}
	.ahr-refpack-preview-root .ahr-ref-card--locked .ahr-ref-details > summary{
		cursor:not-allowed;
		background:#e5e7eb;
		color:#94a3b8;
	}
	.ahr-refpack-preview-root .ahr-ref-card--locked .ahr-ref-details > summary .ahr-ref-sum-text{ color:#94a3b8; }
	.ahr-refpack-preview-root .ahr-ref-card--locked .ahr-ref-sum-icon{ background-color:#b8c2cc; }
	.ahr-refpack-preview-root .ahr-ref-card--locked .ahr-ref-details[open] .ahr-ref-icon-up{ display:none; }

	.ahr-refpack-preview-root .ahr-locked-btn{
		display:block;
		width:100%;
		background:#f1f5f9;
		color:#94a3b8;
		border-color:#e2e8f0;
		pointer-events:none;
		box-shadow:none;
	}
	.ahr-refpack-preview-root .ahr-locked-btn:hover{
		background:#f1f5f9;
		color:#94a3b8;
		border-color:#e2e8f0;
		transform:none;
	}

	.ahr-refpack-preview-root .ahr-lock-i{
		width:16px; height:16px; vertical-align:-3px; margin-right:8px; display:inline-block;
		filter:grayscale(100%);
	}

	.ahr-refpack-preview-root .ahr-ref-card--locked:hover{
		box-shadow:0 8px 24px rgba(0,0,0,0.12);
		transform:translateY(-2px);
	}

	.ahr-refpack-preview-root .ahr-ref-card--locked .ahr-ref-count{
		color:#b3bdc9 !important;
	}

	/* Coming soon (scheduled, not yet released): same card shape, grey pills, not clickable */
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon{
		opacity: 0.88;
		pointer-events: none;
		cursor: default;
	}
	/* Scheduled-for thin line at bottom of image area */
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon{
		position: relative;
	}
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-coming-soon-meta{
		position: absolute;
		left: 0;
		right: 0;
		bottom: 10px;
		z-index: 6;
		display: block;
		padding: 0 10px;
		color: rgba(255,255,255,0.92);
		font-size: 11px;
		line-height: 1.2;
		font-weight: 600;
		text-align: center;
		pointer-events: none;
	}
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-coming-soon-meta .ahr-ref-coming-soon-date-text{
		display: block;
		text-align: center;
	}
	@media (max-width:640px){
		.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-coming-soon-meta{
			font-size: 10.5px;
		}
	}
	/*
	 * Library card thumb overlay: reuse the existing "hover eye overlay" layer
	 * so the coming-soon cards match the normal overlay styling.
	 */
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-thumb-hover{
		opacity: 1;
	}
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-thumb-hover-center{
		opacity: 1;
		gap: 6px;
		text-align: center;
		filter: drop-shadow(0 10px 18px rgba(0,0,0,0.45));
	}
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-thumb-hover-shade{
		background: rgba(0,0,0,0.45);
	}
	/* Make the icon white + swap it to the time-check icon */
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-thumb-hover-eye{
		width: 40px;
		height: 40px;
		background-color: #fff;
		-webkit-mask-image: url('/wp-content/uploads/2026/02/time-check-line.svg');
		mask-image: url('/wp-content/uploads/2026/02/time-check-line.svg');
		filter: drop-shadow(0 3px 8px rgba(0,0,0,0.55));
	}
	/* Replace label text with "Coming / Soon" */
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-thumb-hover-label{
		font-size: 0;
		line-height: 0;
	}
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-thumb-hover-label::before{
		content: "Coming\A Soon";
		white-space: pre;
		display: block;
		text-align: center;
		font-size: 15px;
		line-height: 1.1;
		font-weight: 800;
		letter-spacing: 0.02em;
		color: rgba(255,255,255,0.95);
		text-shadow:
			0 3px 12px rgba(0,0,0,0.55),
			0 1px 2px rgba(0,0,0,0.35);
	}
	@media (max-width:640px){
		.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-thumb-hover-eye{
			width: 36px;
			height: 36px;
		}
		.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-thumb-hover-label::before{
			font-size: 14px;
		}
	}

	/* Title bar should look disabled too */
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-title{
		filter:saturate(0);
		opacity:0.78;
	}
	/* Hide the corner badge icon for scheduled packs */
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-badge{
		display: none !important;
	}
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon:hover{
		box-shadow:0 8px 24px rgba(0,0,0,0.12);
		transform:none;
	}
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-coming-soon-pill{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		box-sizing: border-box;
		border-radius: 12px;
		border: 1px solid #e2e8f0;
		background: #f1f5f9;
		color: #64748b;
		font-weight: 600;
		line-height: 1.3;
	}
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-coming-soon-pill--top{
		padding: 12px 14px;
		font-size: 17px;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		opacity: 0.8;
	}
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-coming-soon-pill--date{
		padding: 10px 14px;
		font-size: 13px;
		font-weight: 500;
		color: #94a3b8;
		gap: 8px;
	}
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-coming-soon-date-icon{
		width: 16px;
		height: 16px;
		flex-shrink: 0;
		display: inline-block;
		background-color: currentColor;
		-webkit-mask-image: url('/wp-content/uploads/2026/02/time-check-line.svg');
		mask-image: url('/wp-content/uploads/2026/02/time-check-line.svg');
		-webkit-mask-size: contain;
		mask-size: contain;
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
	}
	.ahr-refpack-preview-root .ahr-ref-card--coming-soon .ahr-ref-coming-soon-date-text{
		line-height: 1.2;
	}

	.ahr-refpack-preview-root .ahr-locked-pill{
		display:block;
		width:100%;
		padding:6px 18px;
		border-radius:999px;
		font-weight:700;
		font-size:15px;
		text-align:center;
		background:#f4f6f8;
		color:#606c7a;
		border:1px solid #e0e4e9;
		pointer-events:none;
		box-shadow:none;
		transform:none;
	}
	.ahr-refpack-preview-root .ahr-locked-pill:hover, .ahr-refpack-preview-root .ahr-locked-pill:focus, .ahr-refpack-preview-root .ahr-locked-pill:active{
		background:#f4f6f8;
		color:#606c7a;
		border-color:#e0e4e9;
		box-shadow:none;
		transform:none;
	}
	.ahr-refpack-preview-root .ahr-locked-pill .ahr-lock-i{
		width:16px; height:16px;
		vertical-align:-2px;
		margin-right:4px;
		display:inline-block;
		opacity:0.9;
		filter:brightness(0) saturate(100%) invert(42%) sepia(6%) saturate(678%) hue-rotate(175deg) brightness(91%) contrast(87%);
	}
	
/* ===========================================
   Studio Points locked state + helper text
   =========================================== */

/* Slightly stronger shadow for cards that can be unlocked with points */
.ahr-refpack-preview-root .ahr-ref-card--points-locked{
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
}

/* Tip text under the accordion */
.ahr-refpack-preview-root .ahr-ref-tip{
  font-size: 12px;
  line-height: 1.3;
  margin: 8px 0 0 0;
  color: #526475;
}

/* Info icon inside tip */
.ahr-refpack-preview-root .ahr-ref-tip .ahr-ref-i{
  width: 16px;
  height: 16px;
  margin-right: 4px;
}

/* Button in points locked cards */
.ahr-refpack-preview-root .ahr-ref-card--points-locked .ahr-ref-btn.ahr-ref-unlock{
  font-size: 15px;
  line-height: 1.2;
  padding: 10px 22px;
}

/* Membership unlock button (exact copy from realtime tutorial) */
.ahr-refpack-preview-root .ahr-ref-card .ahr-unlock-membership-btn{
  width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  min-height: 35px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1px 18px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #ffffff !important;
  border: 1px solid #2ba1e9 !important;
  background: #2ba1e9 !important;
}

.ahr-refpack-preview-root .ahr-ref-card .ahr-unlock-membership-btn:hover{
  background: #1e8be5 !important;
  color: #fff !important;
  border-color: #1e8be5 !important;
}

/* Realtime tutorial unlock button design (exact copy) */
.ahr-refpack-preview-root .ahr-ref-card .ahr-rt-unlock{
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 1px 18px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  background: #ffffff !important;
  border-color: #2ba1e9 !important;
  color: #2ba1e9 !important;
}

.ahr-refpack-preview-root .ahr-ref-card .ahr-rt-unlock:hover{
  background: #2ba1e9 !important;
  color: #ffffff !important;
  border-color: #2ba1e9 !important;
  box-shadow: none !important;
}

/* Message area for realtime unlock button */
.ahr-refpack-preview-root .ahr-rt-unlock-msg{
  margin: 6px auto 4px;
  width: 100%;
  box-sizing: border-box;
  font-size: 11px;
  line-height: 1.35;
  text-align: center;
}

/* Mini "Unlock to download" chip in gallery */
.ahr-refpack-preview-root .ahr-ref-mini-btn--locked{
  background: #edf3fb;
  color: #47607a;
  border-color: #d3e0f2;
  font-size: 11px;
  line-height: 1.3;
  cursor: default;
}

/* row-gap for .ahr-ref-actions is set in the main archive card block above */

/* Base message area under the button */
.ahr-refpack-preview-root .ahr-ref-unlock-msg, .ahr-refpack-preview-root .ahr-ref-points-message{
  margin: 6px auto 4px;
  max-width: 78%;
  font-size: 11px;
  line-height: 1.35;
  text-align: center;
}

/* Common sizing for specific message types */
.ahr-refpack-preview-root .ahr-ref-card .ahr-ref-error, .ahr-refpack-preview-root .ahr-ref-card .ahr-ref-success, .ahr-refpack-preview-root .ahr-ref-card .ahr-ref-warning, .ahr-refpack-preview-root .ahr-ref-card .ahr-ref-balance{
  display: block;
  margin: 6px auto 4px;
  max-width: 78%;
  font-size: 11px;
  line-height: 1.35;
  text-align: center;
}

/* Error message (not enough points or other failure) */
.ahr-refpack-preview-root .ahr-ref-card .ahr-ref-error{
  color: #b53333;
  background: #fdecec;
  border-radius: 10px;
  padding: 4px 10px;
}

/* Success message (pack unlocked) */
.ahr-refpack-preview-root .ahr-ref-card .ahr-ref-success{
  color: #138a4b;
  background: #e7f7ee;
  border-radius: 999px;
  padding: 4px 10px;
}

/* Warning or soft error (generic issues) */
.ahr-refpack-preview-root .ahr-ref-card .ahr-ref-warning{
  color: #b97818;
  background: #fff4e2;
  border-radius: 10px;
  padding: 4px 10px;
}

/* Balance info line under success or error */
.ahr-refpack-preview-root .ahr-ref-card .ahr-ref-balance{
  color: #4b91c2;
  margin-top: 2px;
}

/* ================================
   Sign In / Register Popup (exact copy from realtime tutorial)
   ================================ */

.ahr-mp-auth-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
  display: grid;
  place-items: center;
  z-index: 9999;
}

.ahr-mp-auth-overlay[hidden] {
  display: none !important;
}

.ahr-mp-confirm-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 32px 32px 30px;
  width: min(92vw, 560px);
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
  position: relative;
  text-align: center;
  animation: ahr-mp-pop-in .18s ease;
}

.ahr-mp-auth-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 22px;
  height: 22px;
  border: none;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  color: #64748b;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.15s ease;
  padding: 0;
}

.ahr-mp-auth-close:hover {
  color: #0f172a;
  background:none !important;
}

@keyframes ahr-mp-pop-in {
  from { transform: scale(.96); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}

.ahr-mp-confirm-title {
  font-weight: 700;
  font-size: 25px;
  color: #0f172a;
  margin-bottom: 16px;
}

.ahr-mp-confirm-text {
  font-size: 13px;
  line-height: 1.2;
  padding: 0 12px;
  color: #475569;
  margin-bottom: 25px;
}

.ahr-mp-confirm-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
}

.ahr-mp-auth-signin, .ahr-mp-auth-register{
  padding: 6px 32px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}

.ahr-mp-auth-signin {
  background: #ffffff;
  border: 1px solid #32a2e7;
  color: #32a2e7;
  transition: all 0.18s ease;
}
.ahr-mp-auth-signin:hover {
  background: #32a2e7;
  color: #ffffff;
}

.ahr-mp-auth-register {
  background: #32a2e7;
  border: none;
  color: #ffffff;
}

.ahr-mp-auth-register:hover {
  background: #228ad0;
  color: #ffffff;
}

/* Mobile: smaller title and buttons for phone screens */
@media (max-width: 480px) {
  .ahr-mp-confirm-title {
    font-size: 22px;
  }
  
  .ahr-mp-auth-signin, .ahr-mp-auth-register{
    font-size: 14px !important;
    line-height: 1.3 !important;
    padding: 8px 24px !important;
  }
}

	

/*
 * CPT parity shim (appended by scripts/build_parity_css.py).
 * Re-asserts legacy per-image download pill metrics inside the gallery.
 * Not duplicated in Reference-Packs-Library — needed because CPT CSS
 * is enqueued earlier than some global theme rules.
 */
.ahr-refpack-preview-root .ahr-ref-gallery .ahr-note-btn.ahr-ref-mini-btn,
.ahr-refpack-preview-root .ahr-ref-gallery a.ahr-note-btn.ahr-ref-mini-btn {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 1px 10px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	border-radius: 10px !important;
	text-align: center !important;
	min-height: 0 !important;
	min-width: 0 !important;
}
.ahr-refpack-preview-root .ahr-ref-gallery .ahr-note-btn.ahr-ref-mini-btn:hover,
.ahr-refpack-preview-root .ahr-ref-gallery a.ahr-note-btn.ahr-ref-mini-btn:hover {
	padding: 1px 10px !important;
	font-size: 12px !important;
	line-height: 1.25 !important;
}

/* Phone: library banner matches RT archive breakout (20px screen gutters) */
@media (max-width: 640px) {
	.ahr-refpack-library-root .ahr-page-banner {
		width: calc(100vw - 40px);
		max-width: none;
		margin-left: calc(50% - 50vw + 20px);
		margin-right: 0;
		margin-top: -30px;
		box-sizing: border-box;
	}

	.ahr-refpack-library-root .ahr-page-banner-text p {
		max-width: 90%;
	}

	/* Banner pills: New + Popular on top, Recommended centered below */
	.ahr-refpack-library-root .ahr-page-banner--has-pills .ahr-page-banner-pills {
		display: grid;
		grid-template-columns: auto auto;
		justify-content: center;
		column-gap: 0.3rem;
		row-gap: 0.5rem;
		align-items: center;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 10px;
	}

	.ahr-refpack-library-root .ahr-page-banner--has-pills .ahr-page-banner-pills .pill {
		width: auto;
		max-width: 100%;
		justify-content: center;
	}

	.ahr-refpack-library-root .ahr-page-banner--has-pills .ahr-page-banner-pills .pill:nth-child(1) {
		grid-column: 1 / -1;
		grid-row: 2;
		justify-self: center;
	}

	.ahr-refpack-library-root .ahr-page-banner--has-pills .ahr-page-banner-pills .pill:nth-child(2) {
		grid-row: 1;
		grid-column: 1;
	}

	.ahr-refpack-library-root .ahr-page-banner--has-pills .ahr-page-banner-pills .pill:nth-child(3) {
		grid-row: 1;
		grid-column: 2;
	}
}
