/* Chapter Drop WooCommerce Suite
   Merged quote builder + AJAX mini-cart
*/

:root{
	--cd-primary:#4F8B8D;
	--cd-primary-dark:#3C6E70;
	--cd-bg:#F8FCFC;
	--cd-border:#DCEBEC;
	--cd-hover:#EDF7F7;
	--cd-active:#DDEEEE;
	--cd-text:#36585A;
	--cd-muted:#6D8587;
	--cd-shadow:0 18px 55px rgba(54,88,90,.18);
}

/* Product custom builder */
.cdws-custom-builder{
	width:100%;
	max-width:760px;
	margin-top:25px;
	padding:25px;
	background:rgba(255,255,255,.65);
	border-radius:18px;
	border:1px solid var(--cd-border);
	box-sizing:border-box;
}

.cdws-custom-field{margin-bottom:22px}
.cdws-custom-field label{
	display:block;
	margin-bottom:9px;
	font-size:15px;
	font-weight:600;
	color:var(--cd-text);
}

.cdws-custom-builder textarea,
.cdws-custom-builder select{
	width:100%;
	max-width:100%;
	padding:14px 15px;
	border:1px solid var(--cd-border);
	border-radius:12px;
	background:#fff;
	font-size:15px;
	color:var(--cd-text);
	box-sizing:border-box;
}

.cdws-custom-builder textarea{
	min-height:120px;
	resize:vertical;
}

.cdws-custom-builder textarea:focus,
.cdws-custom-builder select:focus{
	outline:none;
	border-color:var(--cd-primary);
	box-shadow:0 0 0 4px rgba(79,139,141,.12);
}

.cdws-quote-warning{
	margin-top:15px;
	padding:14px 16px;
	background:#FFF8EE;
	border-left:4px solid var(--cd-primary);
	border-radius:9px;
	color:var(--cd-text);
	font-size:14px;
	line-height:1.6;
}

/* Product button */
.single_add_to_cart_button.cdws-quote-mode{
	background:var(--cd-primary-dark)!important;
}

/* Admin */
#cdws-builder-wrap{margin-top:15px}
.cdws-field-row{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	align-items:center;
	margin:0 0 12px;
	padding:13px;
	background:#fff;
	border:1px solid #ddd;
	border-radius:8px;
}
.cdws-field-row input[type=text]{min-width:210px}
.cdws-field-row select{min-width:150px}

/* Quote badge */
.cdws-quote-badge{
	display:inline-block;
	margin-left:6px;
	padding:3px 7px;
	border-radius:999px;
	background:#EDF7F7;
	color:var(--cd-primary-dark);
	font-size:11px;
	font-weight:700;
}

/* Quote form */
.cdws-quote-cart-box{
	margin-top:25px;
	padding:24px;
	border:1px solid var(--cd-border);
	border-radius:16px;
	background:var(--cd-bg);
}

.cdws-quote-cart-heading h3{
	margin:0 0 6px;
	color:var(--cd-text);
}

.cdws-quote-cart-heading p{
	margin:0 0 16px;
	color:var(--cd-muted);
	font-size:14px;
}

.cdws-quote-form input,
.cdws-quote-form textarea{
	width:100%;
	padding:13px 14px;
	margin-bottom:10px;
	border:1px solid var(--cd-border);
	border-radius:10px;
	background:#fff;
	color:var(--cd-text);
	box-sizing:border-box;
}

.cdws-quote-form textarea{min-height:105px;resize:vertical}

.cdws-quote-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}

.cdws-quote-submit{
	cursor:pointer;
}

.cdws-quote-submit:disabled{opacity:.65;cursor:wait}

.cdws-quote-response{
	margin-top:10px;
	font-size:13px;
	line-height:1.5;
}

.cdws-quote-response.success{color:#3C6E70}
.cdws-quote-response.error{color:#9A4545}

/* Mini cart */
.cdws-overlay{
	position:fixed;
	inset:0;
	z-index:99990;
	background:rgba(25,45,46,.42);
	opacity:0;
	visibility:hidden;
	transition:opacity .22s ease,visibility .22s ease;
}

.cdws-overlay.is-visible{
	opacity:1;
	visibility:visible;
}

.cdws-drawer{
	position:fixed;
	top:0;
	right:0;
	width:min(430px,94vw);
	height:100dvh;
	z-index:99991;
	display:flex;
	flex-direction:column;
	background:#fff;
	box-shadow:var(--cd-shadow);
	transform:translateX(105%);
	transition:transform .25s ease;
	overflow:hidden;
}

.cdws-drawer.is-open{transform:translateX(0)}
body.cdws-lock-scroll{overflow:hidden!important}

.cdws-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:20px 20px 16px;
	border-bottom:1px solid var(--cd-border);
}

.cdws-title-wrap{
	display:flex;
	align-items:center;
	gap:10px;
}

.cdws-title-wrap h2{
	margin:0;
	color:var(--cd-text);
	font-size:22px;
	line-height:1.2;
}

.cdws-drawer-count{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:25px;
	height:25px;
	padding:0 7px;
	border-radius:999px;
	background:var(--cd-primary);
	color:#fff;
	font-size:12px;
	font-weight:700;
}

.cdws-close{
	width:38px;
	height:38px;
	padding:0!important;
	border:0!important;
	border-radius:50%;
	background:#EEF7F7!important;
	color:var(--cd-text)!important;
	font-size:26px;
	line-height:1;
	cursor:pointer;
}

.cdws-body{
	position:relative;
	flex:1;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	padding:8px 18px 20px;
}

.cdws-item{
	display:grid;
	grid-template-columns:72px minmax(0,1fr);
	gap:14px;
	padding:16px 2px;
	border-bottom:1px solid #EDF3F3;
}

.cdws-item-image{
	width:72px;
	height:94px;
	border-radius:9px;
	overflow:hidden;
	background:#F3F7F7;
}

.cdws-item-image img{
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
}

.cdws-item-info{min-width:0}
.cdws-item-name{
	color:var(--cd-text)!important;
	font-size:15px;
	line-height:1.35;
	font-weight:700;
	text-decoration:none!important;
}

.cdws-item-price{
	margin-top:5px;
	color:var(--cd-primary-dark);
	font-size:14px;
	font-weight:700;
}

.cdws-item-meta{
	margin-top:7px;
	color:var(--cd-muted);
	font-size:11px;
	line-height:1.45;
}

.cdws-item-controls{
	margin-top:12px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
}

.cdws-qty{
	display:inline-flex;
	align-items:center;
	height:34px;
	border:1px solid var(--cd-border);
	border-radius:9px;
	overflow:hidden;
	background:#fff;
}

.cdws-qty-btn{
	width:32px;
	height:32px;
	padding:0!important;
	border:0!important;
	background:#F8FCFC!important;
	color:var(--cd-text)!important;
	font-size:18px;
	cursor:pointer;
}

.cdws-qty-value{
	min-width:28px;
	text-align:center;
	color:var(--cd-text);
	font-size:13px;
	font-weight:700;
}

.cdws-remove{
	border:0!important;
	background:transparent!important;
	color:var(--cd-muted)!important;
	padding:5px 0!important;
	font-size:12px;
	text-decoration:underline;
	cursor:pointer;
}

.cdws-footer{
	padding:17px 20px 20px;
	border-top:1px solid var(--cd-border);
	background:#fff;
}

.cdws-subtotal-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:14px;
	color:var(--cd-text);
}

.cdws-subtotal{color:var(--cd-primary-dark);font-size:18px}

.cdws-normal-actions{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
}

.cdws-button{
	min-height:45px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:10px 14px;
	border-radius:9px;
	text-align:center;
	font-size:14px;
	font-weight:700;
	text-decoration:none!important;
	box-sizing:border-box;
}

.cdws-button-primary{
	background:var(--cd-primary);
	color:#fff!important;
	border:1px solid var(--cd-primary);
}

.cdws-button-primary:hover{
	background:var(--cd-primary-dark);
}

.cdws-button-secondary{
	background:#EDF7F7;
	color:var(--cd-primary-dark)!important;
	border:1px solid var(--cd-border);
}

.cdws-quote-area{
	margin-top:2px;
}

.cdws-quote-area .cdws-button{
	width:100%;
	margin-top:4px;
}

.cdws-empty{
	padding:70px 20px 50px;
	text-align:center;
	color:var(--cd-muted);
}

.cdws-empty-icon{font-size:42px;margin-bottom:12px}
.cdws-empty h3{margin:0 0 7px;color:var(--cd-text)}
.cdws-empty p{margin:0;font-size:14px}


.cdws-suggestions{padding:0 18px 24px;text-align:left}
.cdws-suggestions h4{margin:0 0 12px;text-align:center;color:var(--cd-text);font-size:15px;font-weight:700}
.cdws-suggestion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cdws-suggestion{display:flex;align-items:center;gap:9px;min-width:0;padding:9px;text-decoration:none!important;background:rgba(255,255,255,.48);border:1px solid var(--cd-border);border-radius:10px;color:var(--cd-text)!important;transition:transform .15s ease,background .15s ease}
.cdws-suggestion:hover{transform:translateY(-1px);background:rgba(255,255,255,.75)}
.cdws-suggestion-image{width:48px;height:60px;flex:0 0 48px;overflow:hidden;border-radius:6px;background:#fff}
.cdws-suggestion-image img{width:100%;height:100%;object-fit:cover;display:block}
.cdws-suggestion-info{min-width:0;display:flex;flex-direction:column;gap:3px}
.cdws-suggestion-name{font-size:12px;line-height:1.25;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cdws-suggestion-price{font-size:11px;font-weight:700;color:var(--cd-primary-dark)}

.cdws-loading{
	position:relative;
	inset:auto;
	z-index:2;
	width:100%;
	min-height:160px;
	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin:0;
	padding:20px 0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
	color:var(--cd-text);
	font-size:12px;
	text-align:center;
}

.cdws-spinner{
	width:13px;
	height:13px;
	border:2px solid #DCEBEC;
	border-top-color:var(--cd-primary);
	border-radius:50%;
	animation:cdws-spin .7s linear infinite;
}

@keyframes cdws-spin{to{transform:rotate(360deg)}}

.cdws-drawer.is-loading .cdws-items{
	opacity:.62;
	pointer-events:none;
}

.cdws-error{
	margin:10px 0;
	padding:10px 12px;
	border-radius:8px;
	background:#FFF4F4;
	color:#8A4040;
	font-size:13px;
}

@media(max-width:768px){
	.cdws-custom-builder{padding:20px}
	.cdws-field-row{flex-direction:column;align-items:flex-start}
	.cdws-field-row input[type=text],
	.cdws-field-row select{width:100%;min-width:100%}
	.cdws-quote-grid{grid-template-columns:1fr}
}

@media(max-width:480px){
	.cdws-drawer{width:100vw}
	.cdws-header{padding:18px 16px 15px}
	.cdws-body{padding-left:14px;padding-right:14px}
	.cdws-footer{padding:15px 14px calc(15px + env(safe-area-inset-bottom))}
	.cdws-item{grid-template-columns:62px minmax(0,1fr);gap:12px}
	.cdws-item-image{width:62px;height:82px}
	.cdws-normal-actions{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
	.cdws-overlay,.cdws-drawer{transition:none!important}
}


/* =========================================================
   Chapter Drop menu-matched mobile cart
   Inspired by the site's mobile menu: soft aqua panel,
   centered brand, rounded corners, dark typography.
========================================================= */

.cdws-brand{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	min-width:0;
	flex:1;
}

.cdws-brand img{
	display:block;
	width:auto;
	max-width:180px;
	max-height:76px;
	object-fit:contain;
	margin:0 auto 8px;
}

.cdws-brand-text{
	font-family:Georgia, "Times New Roman", serif;
	font-size:26px;
	font-weight:700;
	letter-spacing:.03em;
	color:#2F4142;
	margin-bottom:7px;
}

.cdws-cart-heading{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
}

.cdws-cart-heading h2{
	margin:0;
	font-size:19px;
	font-weight:400;
	letter-spacing:.01em;
	color:#354748;
}

.cdws-header .cdws-drawer-count{
	min-width:22px;
	height:22px;
	padding:0 6px;
	font-size:11px;
	background:#5B8586;
}

@media(max-width:768px){

	.cdws-overlay{
		background:rgba(39,64,65,.48);
		backdrop-filter:blur(2px);
		-webkit-backdrop-filter:blur(2px);
	}

	.cdws-drawer{
		top:50%;
		right:auto;
		left:50%;
		width:calc(100vw - 72px);
		max-width:620px;
		height:auto;
		height:calc(100dvh - 24px);
		max-height:calc(100dvh - 24px);
		min-height:0;
		border-radius:18px;
		background:rgba(184,214,213,.97);
		box-shadow:0 22px 65px rgba(30,54,55,.32);
		transform:translate(110%,-50%);
		overflow:hidden;
	}

	.cdws-drawer.is-open{
		transform:translate(-50%,-50%);
	}

	.cdws-header{
		position:relative;
		min-height:156px;
		padding:25px 54px 15px;
		border-bottom:1px solid rgba(60,92,93,.16);
		background:rgba(184,214,213,.98);
	}

	.cdws-brand img{
		max-width:150px;
		max-height:72px;
		margin:2px auto 14px;
	}

	.cdws-close{
		position:absolute!important;
		top:18px!important;
		right:18px!important;
		width:32px!important;
		height:32px!important;
		min-width:32px!important;
		min-height:32px!important;
		padding:0!important;
		margin:0!important;
		border:0!important;
		border-radius:0!important;
		outline:0!important;
		background:transparent!important;
		color:#354748!important;
		font-family:Arial,Helvetica,sans-serif!important;
		font-size:27px!important;
		font-weight:500!important;
		line-height:32px!important;
		box-shadow:none!important;
		appearance:none!important;
		-webkit-appearance:none!important;
	}

	.cdws-close:hover,
	.cdws-close:focus,
	.cdws-close:active{
		border:0!important;
		outline:0!important;
		background:transparent!important;
		box-shadow:none!important;
		transform:none!important;
	}

	.cdws-body{
		padding:8px 24px 18px;
		background:rgba(184,214,213,.97);
	}

	.cdws-item{
		padding:16px 0;
		border-bottom:1px solid rgba(60,92,93,.14);
	}

	.cdws-item-name,
	.cdws-item-price,
	.cdws-item-meta{
		color:#354748!important;
	}

	.cdws-item-price{
		color:#4F7778!important;
	}

	.cdws-item-image{
		background:rgba(255,255,255,.55);
	}

	.cdws-qty{
		border-color:rgba(60,92,93,.2);
		background:rgba(255,255,255,.45);
	}

	.cdws-qty-btn{
		background:rgba(255,255,255,.22)!important;
		color:#354748!important;
	}

	.cdws-qty-value{
		color:#354748;
	}

	.cdws-remove{
		color:#4F6667!important;
	}

	.cdws-footer{
		padding:17px 24px 22px;
		background:rgba(184,214,213,.99);
		border-top:1px solid rgba(60,92,93,.16);
	}

	.cdws-subtotal-row{
		color:#354748;
	}

	.cdws-subtotal{
		color:#4F7778;
	}

	.cdws-button{
		border-radius:8px;
		min-height:46px;
		font-weight:400;
		letter-spacing:.01em;
	}

	.cdws-button-primary{
		background:#5B8586;
		border-color:#5B8586;
		color:#fff!important;
	}

	.cdws-button-secondary{
		background:rgba(255,255,255,.36);
		border-color:rgba(60,92,93,.18);
		color:#354748!important;
	}

	.cdws-empty{
		padding:45px 12px 35px;
		color:#4F6667;
	}

	.cdws-empty h3{
		color:#354748;
		font-weight:400;
	}

	.cdws-quote-cart-box{
		background:transparent;
		border:0;
		padding:12px 0;
	}

	.cdws-quote-area .cdws-quote-cart-heading h3,
	.cdws-quote-area .cdws-quote-cart-heading p{
		color:#354748;
	}

	.cdws-quote-form input,
	.cdws-quote-form textarea{
		background:rgba(255,255,255,.42);
		border-color:rgba(60,92,93,.18);
		color:#354748;
	}

	.cdws-quote-form input::placeholder,
	.cdws-quote-form textarea::placeholder{
		color:#617879;
	}

	.cdws-loading{
		min-height:170px;
		width:100%;
		margin:0;
		padding:20px 0;
		background:transparent;
		box-shadow:none;
		justify-content:center;
		align-items:center;
		color:#354748;
	}
}

@media(max-width:480px){

	.cdws-drawer{
		width:calc(100vw - 40px);
		max-width:620px;
		height:calc(100dvh - 20px);
		max-height:calc(100dvh - 20px);
		min-height:0;
		border-radius:17px;
	}

	.cdws-header{
		min-height:142px;
		padding:22px 48px 12px;
	}

	.cdws-brand img{
		max-width:140px;
		max-height:68px;
		margin:3px auto 12px;
	}

	.cdws-close{
		top:16px!important;
		right:16px!important;
		width:30px!important;
		height:30px!important;
		min-width:30px!important;
		min-height:30px!important;
		font-size:25px!important;
		line-height:30px!important;
	}

	.cdws-cart-heading h2{
		font-size:17px;
	}

	.cdws-header .cdws-drawer-count{
		min-width:20px;
		height:20px;
	}

	.cdws-body{
		padding:4px 18px 14px;
	}

	.cdws-footer{
		padding:14px 18px 18px;
	}

	.cdws-normal-actions{
		grid-template-columns:1fr 1fr;
	}

	.cdws-item{
		grid-template-columns:56px minmax(0,1fr);
		gap:11px;
	}

	.cdws-item-image{
		width:56px;
		height:75px;
	}
}

/* =========================================================
   Chapter Drop desktop theme styling
   Keeps mobile menu styling intact while giving the desktop
   cart the site's blue/aqua visual language.
========================================================= */
@media(min-width:769px){
	.cdws-overlay{
		background:rgba(26,55,67,.52);
		backdrop-filter:blur(3px);
		-webkit-backdrop-filter:blur(3px);
	}

	.cdws-drawer{
		width:min(460px,92vw);
		background:#D8EEF3;
		border-left:1px solid rgba(49,91,105,.14);
		box-shadow:-18px 0 55px rgba(28,61,73,.22);
	}

	.cdws-header{
		position:relative;
		min-height:156px;
		padding:24px 58px 18px 28px;
		border-bottom:1px solid rgba(49,91,105,.16);
		background:#D8EEF3;
	}

	.cdws-brand img{
		max-width:155px;
		max-height:70px;
		margin:0 auto 12px;
	}

	.cdws-brand-text{
		color:#304B55;
		margin-bottom:10px;
	}

	.cdws-cart-heading h2{
		color:#304B55;
		font-size:21px;
		font-weight:400;
	}

	.cdws-header .cdws-drawer-count{
		background:#5B8586;
		color:#fff;
	}

	.cdws-close{
		position:absolute!important;
		top:20px!important;
		right:20px!important;
		width:34px!important;
		height:34px!important;
		min-width:34px!important;
		min-height:34px!important;
		padding:0!important;
		border:0!important;
		border-radius:0!important;
		background:transparent!important;
		color:#304B55!important;
		font-family:Arial,Helvetica,sans-serif!important;
		font-size:28px!important;
		font-weight:400!important;
		line-height:34px!important;
		box-shadow:none!important;
		appearance:none!important;
		-webkit-appearance:none!important;
	}

	.cdws-close:hover,
	.cdws-close:focus,
	.cdws-close:active{
		border:0!important;
		outline:0!important;
		background:transparent!important;
		box-shadow:none!important;
		transform:none!important;
	}

	.cdws-body{
		padding:8px 24px 18px;
		background:#D8EEF3;
	}

	.cdws-item{
		padding:17px 0;
		border-bottom:1px solid rgba(49,91,105,.14);
	}

	.cdws-item-name{
		color:#304B55!important;
		font-size:15px;
		font-weight:500;
	}

	.cdws-item-price{
		color:#4F7778;
	}

	.cdws-item-meta{
		color:#607980;
	}

	.cdws-item-image{
		background:rgba(255,255,255,.55);
		border-radius:10px;
	}

	.cdws-qty{
		border-color:rgba(49,91,105,.18);
		background:rgba(255,255,255,.55);
	}

	.cdws-qty-btn{
		background:rgba(255,255,255,.28)!important;
		color:#304B55!important;
	}

	.cdws-qty-value{
		color:#304B55;
	}

	.cdws-remove{
		color:#4F6667!important;
	}

	.cdws-footer{
		padding:18px 24px 24px;
		background:#D8EEF3;
		border-top:1px solid rgba(49,91,105,.16);
	}

	.cdws-subtotal-row{
		color:#304B55;
	}

	.cdws-subtotal{
		color:#4F7778;
		font-size:19px;
	}

	.cdws-button{
		min-height:46px;
		border-radius:8px;
		font-weight:400;
		letter-spacing:.01em;
	}

	.cdws-button-secondary{
		background:rgba(255,255,255,.48);
		border-color:rgba(49,91,105,.16);
		color:#304B55!important;
	}

	.cdws-button-secondary:hover{
		background:rgba(255,255,255,.68);
	}

	.cdws-button-primary{
		background:#5B8586;
		border-color:#5B8586;
		color:#fff!important;
	}

	.cdws-button-primary:hover{
		background:#496F70;
		border-color:#496F70;
	}

	.cdws-loading{
		top:14px;
		right:24px;
		background:rgba(255,255,255,.78);
		color:#304B55;
	}

	.cdws-empty{
		padding:70px 20px 55px;
		color:#607980;
	}

	.cdws-empty h3{
		color:#304B55;
		font-weight:400;
	}
}


/* v1.1.2: Loading is shown only during the initial empty-cart retrieval. */
.cdws-loading {
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:120px;
	padding:24px;
	text-align:center;
	font-weight:600;
	opacity:.75;
}

/* v1.1.5: Desktop loading indicator matches the cart panel and stays centered. */
@media(min-width:769px){
	.cdws-loading{
		position:relative!important;
		top:auto!important;
		right:auto!important;
		bottom:auto!important;
		left:auto!important;
		width:100%!important;
		min-height:160px!important;
		margin:0!important;
		padding:20px 0!important;
		box-sizing:border-box!important;
		display:flex!important;
		align-items:center!important;
		justify-content:center!important;
		gap:8px!important;
		background:transparent!important;
		border:0!important;
		border-radius:0!important;
		box-shadow:none!important;
		color:#304B55!important;
		text-align:center!important;
	}
}

@media (max-width:767px){
 .cdws-suggestions{padding:0 12px 18px}
 .cdws-suggestion-grid{gap:8px}
 .cdws-suggestion{padding:7px;gap:7px}
 .cdws-suggestion-image{width:42px;height:54px;flex-basis:42px}
 .cdws-suggestion-name{font-size:11px}
 .cdws-suggestion-price{font-size:10px}
}

/* =========================================================
   Desktop hover cart dropdown
   Appears beneath the Blocksy header cart on desktop only.
========================================================= */
.cdws-hover-cart{
	position:fixed;
	display:flex;
	flex-direction:column;
	z-index:100000;
	max-width:calc(100vw - 24px);
	max-height:min(620px, calc(100vh - 90px));
	overflow:hidden;
	background:#B8D6D5;
	border:1px solid rgba(60,92,93,.18);
	border-radius:14px;
	box-shadow:0 18px 48px rgba(30,54,55,.24);
	opacity:0;
	visibility:hidden;
	transform:translateY(-6px);
	pointer-events:none;
	transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.cdws-hover-cart.is-visible{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
	pointer-events:auto;
}

.cdws-hover-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:13px 15px;
	background:rgba(184,214,213,.98);
	border-bottom:1px solid rgba(60,92,93,.15);
	color:#354748;
	font-size:15px;
}

.cdws-hover-count{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:22px;
	height:22px;
	padding:0 6px;
	border-radius:999px;
	background:#5B8586;
	color:#fff;
	font-size:11px;
	font-weight:700;
}

.cdws-hover-body{
	min-height:80px;
	max-height:430px;
	overflow-y:auto;
	padding:4px 14px;
}

.cdws-hover-items{width:100%;}

.cdws-hover-item{
	display:grid;
	grid-template-columns:48px minmax(0,1fr);
	gap:10px;
	padding:11px 0;
	border-bottom:1px solid rgba(60,92,93,.13);
}

.cdws-hover-item-image{
	width:48px;
	height:62px;
	overflow:hidden;
	border-radius:6px;
	background:rgba(255,255,255,.5);
}

.cdws-hover-item-image img{
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
}

.cdws-hover-item-info{min-width:0;}

.cdws-hover-item-name{
	display:block;
	color:#354748!important;
	font-size:12px;
	font-weight:700;
	line-height:1.3;
	text-decoration:none!important;
}

.cdws-hover-item-price{
	margin-top:3px;
	color:#4F7778;
	font-size:11px;
	font-weight:700;
}

.cdws-hover-item-controls{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	margin-top:7px;
}

.cdws-hover-qty{
	display:inline-flex;
	align-items:center;
	height:27px;
	border:1px solid rgba(60,92,93,.2);
	border-radius:7px;
	overflow:hidden;
	background:rgba(255,255,255,.35);
}

.cdws-hover-qty button{
	width:27px;
	height:27px;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	color:#354748!important;
	font-size:15px;
	line-height:27px;
	cursor:pointer;
}

.cdws-hover-qty span{
	min-width:24px;
	text-align:center;
	color:#354748;
	font-size:11px;
	font-weight:700;
}

.cdws-hover-remove,
.cdws-hover-add,
.cdws-hover-view{
	border:0!important;
	padding:4px 7px!important;
	border-radius:6px;
	font-size:10px;
	font-weight:700;
	line-height:1.2;
	cursor:pointer;
	text-decoration:none!important;
}

.cdws-hover-remove,
.cdws-hover-view{
	background:rgba(255,255,255,.3)!important;
	color:#4F6667!important;
}

.cdws-hover-add{
	background:#5B8586!important;
	color:#fff!important;
}

.cdws-hover-footer{
	padding:12px 14px 14px;
	background:rgba(184,214,213,.99);
	border-top:1px solid rgba(60,92,93,.15);
}

.cdws-hover-subtotal{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:9px;
	color:#354748;
	font-size:12px;
}

.cdws-hover-subtotal strong{
	color:#4F7778;
	font-size:14px;
}

.cdws-hover-actions{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:7px;
}

.cdws-hover-btn{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:34px;
	padding:7px 9px;
	border-radius:7px;
	font-size:11px;
	font-weight:700;
	text-decoration:none!important;
	box-sizing:border-box;
}

.cdws-hover-btn-primary{
	background:#5B8586;
	border:1px solid #5B8586;
	color:#fff!important;
}

.cdws-hover-btn-secondary{
	background:rgba(255,255,255,.36);
	border:1px solid rgba(60,92,93,.18);
	color:#354748!important;
}

.cdws-hover-empty{
	padding:18px 8px 12px;
	text-align:center;
	color:#354748;
}

.cdws-hover-empty strong,
.cdws-hover-empty span{
	display:block;
}

.cdws-hover-empty strong{font-size:13px;}
.cdws-hover-empty span{margin-top:3px;font-size:11px;color:#4F6667;}

.cdws-hover-suggestions{padding-bottom:8px;}

.cdws-hover-suggestion{
	display:flex;
	align-items:center;
	gap:7px;
	padding:7px 0;
	border-top:1px solid rgba(60,92,93,.12);
}

.cdws-hover-suggestion-main{
	display:flex;
	align-items:center;
	gap:8px;
	min-width:0;
	flex:1;
	text-decoration:none!important;
}

.cdws-hover-suggestion-image{
	width:34px;
	height:44px;
	flex:0 0 34px;
	overflow:hidden;
	border-radius:5px;
	background:rgba(255,255,255,.5);
}

.cdws-hover-suggestion-image img{width:100%;height:100%;object-fit:cover;display:block;}

.cdws-hover-suggestion-info{min-width:0;display:flex;flex-direction:column;gap:2px;}
.cdws-hover-suggestion-info strong{font-size:10px;line-height:1.25;color:#354748;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cdws-hover-suggestion-info span{font-size:10px;font-weight:700;color:#4F7778;}

.cdws-hover-loading{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	min-height:90px;
	padding:12px 0;
	color:#354748;
	font-size:11px;
}

.cdws-hover-error{
	padding:18px 8px;
	text-align:center;
	color:#8A4040;
	font-size:11px;
}

@media(max-width:768px){
	.cdws-hover-cart{display:none!important;}
}
