/* ==========================================================
   Pagination
   ========================================================== */

.cmcp-pagination{

	margin:50px 0;

	text-align:center;
}

.cmcp-load-more{

	max-width:260px;

	margin:auto;
}

body.cmcp-catalog-active .cmcp-load-more{
	position:relative;
	max-width:340px;
	min-height:44px;
	border:1px solid #222;
	border-radius:5px;
	background:#fff;
	color:#222 !important;
	font-weight:600;
	text-transform:uppercase;
}

body.cmcp-catalog-active .cmcp-load-more::after{
	content:'›';
	margin-left:10px;
	font-size:18px;
	line-height:1;
}

body.cmcp-catalog-active .cmcp-load-more.is-loading::after{
	width:14px;
	height:14px;
	border:2px solid #d0d5dd;
	border-top-color:#222;
	border-radius:50%;
	content:'';
	animation:cmcp-load-more-spin .7s linear infinite;
}

@keyframes cmcp-load-more-spin {
	to { transform:rotate(360deg); }
}

body.cmcp-catalog-active .cmcp-load-more:hover{
	background:#f5f5f5;
}

body.cmcp-catalog-active .cmcp-pagination{margin:42px 0 68px}
body.cmcp-catalog-active .cmcp-load-more{width:min(100%,260px);max-width:260px;border-color:#0a6cff;border-radius:9px;color:#0a6cff!important;font-size:14px;text-transform:none}
body.cmcp-catalog-active .cmcp-load-more:hover{background:#eef5ff}


/* Premium catalog pagination */
body.cmcp-catalog-active .cmcp-pagination{
	dis:flex;
	flex-direction:column;
	align-items:center;
	gap:38px;
	margin:24px 0 88px;
}

body.cmcp-catalog-active .cmcp-load-more{
	width:min(100%,300px);
	max-width:300px;
	min-height:46px;
	border:0 !important;
	border-radius:12px !important;
	background:#0097b8 !important;
	color:#fff !important;
	font-size:14px;
	font-weight:700;
	text-transform:none;
	box-shadow:0 4px 12px rgba(0,151,184,.12);
	transition:background .18s ease,transform .18s ease,box-shadow .18s ease;
}

body.cmcp-catalog-active .cmcp-load-more:hover{
	background:#0085a3 !important;
	color:#fff !important;
	box-shadow:0 7px 18px rgba(0,151,184,.20);
	transform:translateY(-1px);
}

body.cmcp-catalog-active .cmcp-load-more::after{
	color:currentColor;
}

body.cmcp-catalog-active .cmcp-page-numbers{
	dis:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	flex-wrap:wrap;
}

body.cmcp-catalog-active .cmcp-page-number{
	dis:inline-flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	padding:0;
	border:1px solid #e4e9f0;
	border-radius:8px;
	background:#fbfcfd;
	color:#667085;
	font-size:14px;
	font-weight:600;
	line-height:1;
	cursor:pointer;
	box-shadow:0 1px 2px rgba(15,23,42,.02);
	transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}

body.cmcp-catalog-active .cmcp-page-number:hover{
	border-color:#8fd4df;
	background:#f1fbfd;
	color:#0085a3;
	box-shadow:0 2px 5px rgba(15,23,42,.04);
}

body.cmcp-catalog-active .cmcp-page-number.is-current{
	border-color:#0097b8;
	background:#0097b8;
	color:#fff;
	box-shadow:0 4px 10px rgba(0,151,184,.16);
	cursor:default;
}

body.cmcp-catalog-active .cmcp-page-number--arrow{
	font-size:14px;
	font-weight:600;
	line-height:1;
	padding-bottom:1px;
}

body.cmcp-catalog-active .cmcp-page-number__ellipsis{
	dis:inline-flex;
	width:26px;
	height:38px;
	align-items:center;
	justify-content:center;
	color:#98a2b3;
	font-size:14px;
}

@media(max-width:600px){
	body.cmcp-catalog-active .cmcp-pagination{
		gap:30px;
		margin:22px 0 64px;
	}
	body.cmcp-catalog-active .cmcp-load-more{
		width:min(100%,280px);
		max-width:280px;
		min-height:44px;
	}
	body.cmcp-catalog-active .cmcp-page-numbers{
		gap:5px;
	}
	body.cmcp-catalog-active .cmcp-page-number{
		width:34px;
		height:34px;
		font-size:13px;
	}
	body.cmcp-catalog-active .cmcp-page-number--arrow{
		font-size:13px;
	}
}


/* Position pagination reliably below the final product row */
body.cmcp-catalog-active .cmcp-pagination-container{
	display:flow-root !important;
	margin-top:0 !important;
	padding-top:42px !important;
}

body.cmcp-catalog-active .cmcp-pagination{
	margin-top:0 !important;
}

@media(max-width:600px){
	body.cmcp-catalog-active .cmcp-pagination-container{
		padding-top:30px !important;
	}
}


/* Separate page numbers from load-more button */
body.cmcp-catalog-active .cmcp-page-numbers{
	margin-top:18px !important;
}

@media(max-width:600px){
	body.cmcp-catalog-active .cmcp-page-numbers{
		margin-top:14px !important;
	}
}


/* Unified lavender-blue pagination buttons — Sep 2026 */
.cmcp-pagination-container .cmcp-load-more,
.cmcp-pagination-container button.cmcp-load-more{
    border-color:#786fbd!important;
    background:#786fbd!important;
    color:#fff!important;
}
.cmcp-pagination-container .cmcp-load-more:hover,
.cmcp-pagination-container button.cmcp-load-more:hover{
    border-color:#675ca8!important;
    background:#675ca8!important;
    color:#fff!important;
}
.cmcp-page-numbers .current,
.cmcp-page-numbers button[aria-current="page"],
.cmcp-page-numbers a[aria-current="page"]{
    border-color:#786fbd!important;
    background:#786fbd!important;
    color:#fff!important;
}


/* Match pagination controls to catalog add-to-cart CTA — Sep 2026 */
body.cmcp-catalog-active .cmcp-pagination-container .cmcp-load-more,
body.cmcp-catalog-active .cmcp-pagination-container button.cmcp-load-more{
    border-color:#0097b8!important;
    background:#0097b8!important;
    color:#fff!important;
}
body.cmcp-catalog-active .cmcp-pagination-container .cmcp-load-more:hover,
body.cmcp-catalog-active .cmcp-pagination-container button.cmcp-load-more:hover{
    border-color:#0085a3!important;
    background:#0085a3!important;
    color:#fff!important;
}
body.cmcp-catalog-active .cmcp-page-numbers .cmcp-page-number.is-current{
    border-color:#0097b8!important;
    background:#0097b8!important;
    color:#fff!important;
}
body.cmcp-catalog-active .cmcp-page-numbers .cmcp-page-number:not(.is-current):hover{
    border-color:#8fd4df!important;
    background:#f1fbfd!important;
    color:#0085a3!important;
}


/* Final compact catalog pagination rhythm — Sep 2026 */
body.cmcp-catalog-active .cmcp-pagination-container{
    padding-top:26px!important;
    padding-bottom:8px!important;
}
body.cmcp-catalog-active .cmcp-page-numbers{
    margin-top:12px!important;
}
body.cmcp-catalog-active .cmcp-pagination{
    margin-bottom:34px!important;
}
@media(max-width:600px){
    body.cmcp-catalog-active .cmcp-pagination-container{
        padding-top:22px!important;
    }
    body.cmcp-catalog-active .cmcp-page-numbers{
        margin-top:10px!important;
    }
}
