.il-reviews-portal,
.il-reviews-modal {
	font-family: "Poppins", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.il-reviews-portal {
	background: #fdfcf8;
	padding: var(--wp--preset--spacing--large) var(--wp--preset--spacing--small) var(--wp--preset--spacing--x-large);
}

.il-reviews-portal__header {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 1rem;
	margin: 0 auto var(--wp--preset--spacing--large);
	max-width: 1280px;
}

.il-reviews-portal__eyebrow {
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
	color: #5c5e5c;
	margin: 0 0 .35rem;
}

.il-reviews-portal__title {
	font-size: clamp(1.6rem, 3vw, 2.25rem);
	font-weight: 700;
	color: #2c3e2d;
	margin: 0;
}

.il-reviews-portal__note {
	display: none;
}

.il-reviews-portal__meta {
	color: #5c5e5c;
	margin: .3rem 0 0;
}

.il-reviews-portal__write-btn {
	white-space: nowrap;
}

.il-reviews-portal__featured,
.il-reviews-portal__wall {
	margin: 0 auto var(--wp--preset--spacing--x-large);
	max-width: 1280px;
}

.il-reviews-portal__featured h2,
.il-reviews-portal__wall h2 {
	margin: 0 0 var(--wp--preset--spacing--small);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	color: #2c3e2d;
}

.il-reviews-portal__wall-head {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: .75rem;
	align-items: end;
	margin-bottom: var(--wp--preset--spacing--small);
}

.il-reviews-portal__filters {
	display: flex;
	gap: .5rem;
}

.il-reviews-portal__filters select {
	background: #fff;
	border: 1px solid #e2e6de;
	border-radius: 6px;
	padding: .55rem .75rem;
	color: #1a1c1a;
}

.il-reviews-grid {
	display: grid;
	gap: var(--wp--preset--spacing--medium);
}

.il-reviews-grid--featured {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.il-reviews-grid--wall {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.il-review-card {
	background: #fff;
	border: 1px solid #e2e6de;
	border-radius: 8px;
	padding: 1rem;
}

.il-review-card__head,
.il-review-card__footer {
	display: flex;
	gap: .75rem;
	align-items: center;
}

.il-review-card__footer {
	margin-top: .85rem;
	padding-top: .75rem;
	border-top: 1px solid #e8ebe6;
}

.il-review-card__date {
	margin: .25rem 0 .5rem;
	font-size: .78rem;
	color: #7a7d78;
}

.il-review-card__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #2c3e2d;
	color: #fff;
	font-weight: 700;
}

.il-review-card__author {
	margin: 0;
	font-weight: 600;
	color: #1a1c1a;
}

.il-review-card__verified {
	margin: 0;
	font-size: 12px;
	color: #1e6b3a;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: .3rem;
}

.il-review-card__stars {
	color: #d4a017;
	letter-spacing: .08em;
}

.il-review-card.is-pending,
.il-review-testimonial-card.is-pending {
	opacity: 0.88;
	border-style: dashed;
}

.il-review-card__pending-badge {
	margin: 0 0 0.65rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #7a4a00;
}

.il-review-card__title {
	margin: 0 0 .35rem;
	font-size: 1rem;
	font-weight: 700;
	color: #1a1c1a;
}

.il-review-card__body {
	color: #5c5e5c;
	font-size: .93rem;
	line-height: 1.7;
}

.il-reviews-portal__pagination {
	display: flex;
	justify-content: center;
	margin-top: var(--wp--preset--spacing--medium);
}

.il-reviews-load-more.is-style-outline,
.il-reviews-load-more {
	background: transparent !important;
	color: #2c3e2d !important;
	border: 1px solid #2c3e2d !important;
}

.il-reviews-honeypot {
	position: absolute !important;
	left: -9999px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.il-reviews-modal {
	position: fixed;
	inset: 0;
	background: rgba(26, 28, 26, .35);
	display: none;
	z-index: 100000;
	padding: 1rem;
}

.il-reviews-modal.is-open {
	display: grid;
	place-items: start center;
	animation: ilnatural-review-drop .24s ease;
}

.il-reviews-modal__panel {
	width: min(640px, 100%);
	background: #fdfcf8;
	border: 1px solid #e2e6de;
	border-radius: 10px;
	margin-top: 6vh;
	max-height: 88vh;
	overflow: auto;
}

.il-reviews-modal__head {
	padding: .9rem 1rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #e2e6de;
}

.il-reviews-modal__head h3 {
	margin: 0;
	font-weight: 700;
}

.il-reviews-modal__close {
	border: none;
	background: transparent;
	font-size: 1.5rem;
	cursor: pointer;
}

.il-reviews-modal__form {
	display: grid;
	gap: .8rem;
	padding: 1rem;
}

.il-reviews-modal__form label {
	display: grid;
	gap: .4rem;
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #5c5e5c;
	font-weight: 600;
}

.il-reviews-modal__field {
	display: grid;
	gap: .4rem;
}

.il-reviews-modal__field > label {
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #5c5e5c;
	font-weight: 600;
}

.il-reviews-modal__form input,
.il-reviews-modal__form textarea,
.il-reviews-modal__form select,
.il-reviews-modal__select {
	background: #fff;
	border: 1px solid #e2e6de;
	border-radius: 6px;
	padding: .65rem .75rem;
	width: 100%;
	max-width: 100%;
	font-size: 1rem;
	text-transform: none;
	letter-spacing: normal;
	color: #1a1c1a;
}

.il-reviews-modal__select {
	appearance: auto;
	min-height: 44px;
	cursor: pointer;
}

/* Reviews page: full-width hero and portal bands inside constrained templates */
body.page-template-page-reviews main.wp-block-group,
body.page-template-templates-page-reviews-html main.wp-block-group {
	max-width: none !important;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.il-reviews-page > .wp-block-group.alignfull,
.il-reviews-page__portal.alignfull,
.il-reviews-page__samples.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.il-reviews-page__portal .il-reviews-portal {
	background: transparent;
	padding-left: var(--wp--preset--spacing--large, 1.5rem);
	padding-right: var(--wp--preset--spacing--large, 1.5rem);
}

.ilnatural-feedback-modal.is-open {
	display: grid;
	place-items: start center;
}

.ilnatural-feedback-modal.is-error .ilnatural-modal__head h3 {
	color: #9d1f1f;
}

.ilnatural-feedback-modal.is-success .ilnatural-modal__head h3 {
	color: #1e6b3a;
}

@keyframes ilnatural-review-drop {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 1000px) {
	.il-reviews-grid--wall {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.il-reviews-grid--featured {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.il-reviews-grid--wall,
	.il-reviews-grid--featured {
		grid-template-columns: 1fr;
	}
	.il-reviews-portal__header,
	.il-reviews-portal__wall-head {
		grid-template-columns: 1fr;
	}
}
