/* Cart Composition Rules — storefront styles */
.occr-banner{
	background:#fff7e6;
	border:1px solid #f0c36d;
	border-radius:8px;
	padding:12px 16px;
	margin:0 0 18px;
	font-size:15px;
	line-height:1.5;
	color:#5a4500;
}
.occr-banner--mini{
	margin:10px 0;
	padding:10px 12px;
	font-size:14px;
}
.occr-banner__row + .occr-banner__row{ margin-top:6px; }
.occr-readmore{
	display:inline;
	background:none;
	border:none;
	color:#b3541e;
	font:inherit;
	font-size:inherit;
	font-weight:600;
	text-decoration:underline;
	cursor:pointer;
	padding:0;
	margin-inline-start:4px;
	white-space:nowrap;
}
.occr-readmore:hover{ color:#8a3d12; }

/* modal */
.occr-modal{
	position:fixed;
	inset:0;
	z-index:99999;
	display:flex;
	align-items:center;
	justify-content:center;
}
.occr-modal[hidden]{ display:none; }
.occr-modal__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.5); }
.occr-modal__box{
	position:relative;
	background:#fff;
	max-width:560px;
	width:calc(100% - 40px);
	max-height:85vh;
	overflow:auto;
	border-radius:12px;
	padding:24px 26px;
	box-shadow:0 12px 40px rgba(0,0,0,.25);
}
.occr-modal__title{ margin:0 0 12px; font-size:20px; }
.occr-modal__body{ font-size:15px; line-height:1.6; }
.occr-sep{ border:0; border-top:1px solid #e5e5e5; margin:14px 0; }
.occr-modal__close{
	position:absolute;
	top:8px;
	inset-inline-end:12px;
	background:none;
	border:none;
	font-size:26px;
	line-height:1;
	cursor:pointer;
	color:#888;
}
.occr-modal__close:hover{ color:#222; }
body.occr-modal-open{ overflow:hidden; }

/* products-to-add inside the popup */
.occr-products{ margin-top:16px; }
.occr-products__title{ font-weight:700; font-size:15px; margin-bottom:10px; }
.occr-products__grid{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:12px;
}
.occr-product{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	border:1px solid #eee;
	border-radius:10px;
	padding:10px;
	text-decoration:none;
	color:inherit;
	transition:box-shadow .15s, border-color .15s;
}
.occr-product:hover{ box-shadow:0 4px 14px rgba(0,0,0,.12); border-color:#e0c089; }
.occr-product__img img{ width:100%; height:auto; border-radius:8px; margin-bottom:8px; display:block; }
.occr-product__name{ font-weight:600; font-size:13px; line-height:1.3; }
.occr-product__price{ font-size:13px; color:#b3541e; margin-top:4px; }
@media (max-width:560px){
	.occr-products__grid{ grid-template-columns:repeat(2, 1fr); }
}

/*
 * NOTE: the side-cart (#site-cart-new) layout fix is injected inline from
 * OCCR_Enforcer::side_cart_css() using the admin-configurable panel selector,
 * so the plugin stays theme-agnostic. See Settings → "Side-cart panel selector".
 */
