.hacoon-review-page {
	max-width: 1040px;
	margin: 0 auto;
	padding: 32px 18px 56px;
	color: #23343d;
}

.hacoon-review-hero {
	display: flex;
	gap: 16px;
	align-items: end;
	justify-content: space-between;
	border-bottom: 1px solid #dce8ed;
	margin-bottom: 20px;
	padding-bottom: 18px;
}

.hacoon-review-kicker {
	margin: 0 0 6px;
	color: #116580;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.hacoon-review-hero h1 {
	margin: 0 0 8px;
	font-size: 28px;
	line-height: 1.35;
}

.hacoon-review-hero p {
	margin: 0;
	color: #5b717a;
}

.hacoon-review-write-link,
.hacoon-review-filter-form button,
.hacoon-review-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #116580;
	background: #116580;
	color: #fff;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
}

.hacoon-review-write-link {
	min-height: 42px;
	padding: 9px 16px;
	white-space: nowrap;
}

.hacoon-review-write-link:hover,
.hacoon-review-write-link:focus,
.hacoon-review-filter-form button:hover,
.hacoon-review-submit:hover {
	background: #1d3946;
	border-color: #1d3946;
	color: #fff;
	text-decoration: none;
}

.hacoon-review-summary,
.hacoon-product-review-summary {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
	gap: 18px;
	border: 1px solid #dce8ed;
	background: #fff;
	margin-bottom: 16px;
	padding: 16px;
}

.hacoon-review-score,
.hacoon-product-review-summary__score {
	display: grid;
	align-content: center;
	border-right: 1px solid #e4eef2;
	padding-right: 16px;
}

.hacoon-review-score__scope,
.hacoon-product-review-summary__score > span {
	color: #116580;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 10px;
}

.hacoon-review-score__label {
	color: #5b717a;
	font-size: 13px;
	font-weight: 700;
}

.hacoon-review-score strong,
.hacoon-product-review-summary__score strong {
	color: #23343d;
	font-size: 42px;
	line-height: 1.1;
	margin: 4px 0;
}

.hacoon-review-stars,
.hacoon-product-review-mini__stars {
	color: #d39113;
	font-style: normal;
	white-space: nowrap;
}

.hacoon-review-score__count,
.hacoon-product-review-summary__score a {
	color: #5b717a;
	font-size: 13px;
}

.hacoon-review-rating-breakdown,
.hacoon-product-review-summary__bars {
	display: grid;
	gap: 7px;
}

.hacoon-review-rating-reset,
.hacoon-review-rating-row {
	color: #23343d;
	text-decoration: none;
}

.hacoon-review-rating-reset {
	justify-self: start;
	border-bottom: 1px solid transparent;
	color: #5b717a;
	font-size: 13px;
	font-weight: 700;
}

.hacoon-review-rating-reset.is-active,
.hacoon-review-rating-reset:hover {
	border-bottom-color: #116580;
	color: #116580;
}

.hacoon-review-rating-row,
.hacoon-product-review-summary__bar {
	display: grid;
	grid-template-columns: 42px minmax(120px, 1fr) 58px;
	gap: 10px;
	align-items: center;
	min-height: 28px;
}

.hacoon-review-rating-row span,
.hacoon-product-review-summary__bar span {
	color: #5b717a;
	font-size: 13px;
}

.hacoon-review-rating-row span:last-child,
.hacoon-product-review-summary__bar span:last-child {
	text-align: right;
}

.hacoon-review-rating-row i,
.hacoon-product-review-summary__bar i {
	display: block;
	height: 8px;
	background: #eaf3f6;
	overflow: hidden;
}

.hacoon-review-rating-row b,
.hacoon-product-review-summary__bar b {
	display: block;
	height: 100%;
	background: #78bfd6;
}

.hacoon-review-filters {
	display: grid;
	gap: 12px;
	margin-bottom: 18px;
}

.hacoon-review-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.hacoon-review-tabs a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid #dce8ed;
	background: #fff;
	color: #23343d;
	padding: 8px 12px;
	text-decoration: none;
}

.hacoon-review-tabs a.is-active {
	border-color: #78bfd6;
	background: #f1fbff;
}

.hacoon-review-tabs span {
	color: #5b717a;
	font-size: 12px;
}

.hacoon-review-filter-form {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: end;
	background: #f4fafc;
	padding: 12px;
}

.hacoon-review-filter-form label,
.hacoon-review-form label {
	display: grid;
	gap: 6px;
}

.hacoon-review-filter-form label {
	min-width: 170px;
}

.hacoon-review-filter-form label span,
.hacoon-review-form label span {
	color: #415963;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
}

.hacoon-review-filter-form select,
.hacoon-review-filter-form button,
.hacoon-review-form input,
.hacoon-review-form select,
.hacoon-review-form textarea {
	border: 1px solid #dce8ed;
	background: #fff;
	color: #23343d;
	font-size: 15px;
	line-height: 1.45;
	min-height: 42px;
	padding: 9px 12px;
}

.hacoon-review-filter-form button {
	cursor: pointer;
}

.hacoon-review-checkbox {
	display: inline-flex !important;
	grid-template-columns: auto 1fr;
	gap: 6px;
	align-items: center;
	min-height: 42px;
}

.hacoon-review-list {
	display: grid;
	gap: 14px;
}

.hacoon-review-card,
.hacoon-product-review-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
	gap: 16px;
	border: 1px solid #dce8ed;
	background: #fff;
	padding: 16px;
}

.hacoon-product-review-item {
	display: block;
	margin-bottom: 12px;
}

.hacoon-review-card__meta,
.hacoon-product-review-item__header {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-bottom: 8px;
}

.hacoon-review-badge {
	background: #e6f6fc;
	color: #116580;
	font-size: 12px;
	font-weight: 700;
	padding: 3px 7px;
}

.hacoon-review-date,
.hacoon-review-author,
.hacoon-review-product p,
.hacoon-review-product span,
.hacoon-product-review-item time {
	color: #5b717a;
	font-size: 13px;
}

.hacoon-review-author,
.hacoon-product-review-item__header strong {
	font-weight: 700;
}

.hacoon-review-body p,
.hacoon-product-review-item__body p {
	margin: 0 0 10px;
	line-height: 1.8;
}

.hacoon-review-image img,
.hacoon-product-review-item__image img {
	display: block;
	max-width: 140px;
	height: auto;
	border: 1px solid #dce8ed;
}

.hacoon-review-product {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 10px;
	align-self: start;
	background: #f6fbfd;
	padding: 10px;
}

.hacoon-review-product--shop {
	grid-template-columns: 1fr;
}

.hacoon-review-product--no-image {
	grid-template-columns: 1fr;
}

.hacoon-review-product img {
	width: 74px;
	aspect-ratio: 1;
	object-fit: cover;
	background: #e4eef2;
}

.hacoon-review-product p,
.hacoon-review-product span {
	display: block;
	margin: 0 0 4px;
}

.hacoon-review-product a {
	display: -webkit-box;
	color: #23343d;
	font-weight: 700;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-height: 1.5;
	overflow: hidden;
}

.hacoon-review-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
	margin-top: 22px;
}

.hacoon-review-page-status {
	flex-basis: 100%;
	color: #5b717a;
	font-size: 13px;
	font-weight: 700;
}

.hacoon-review-page-link,
.hacoon-review-page-ellipsis {
	display: inline-grid;
	place-items: center;
	min-width: 34px;
	min-height: 34px;
	border: 1px solid #dce8ed;
	color: #23343d;
	padding: 0 10px;
	text-decoration: none;
}

.hacoon-review-page-link.is-active {
	background: #116580;
	border-color: #116580;
	color: #fff;
}

.hacoon-review-page-link.is-disabled,
.hacoon-review-page-ellipsis {
	background: #f4fafc;
	color: #8aa0a9;
	pointer-events: none;
}

.hacoon-review-form {
	display: grid;
	gap: 14px;
	max-width: 680px;
}

.hacoon-review-submit {
	justify-self: start;
	min-width: 300px;
	min-height: 48px;
	cursor: pointer;
	padding: 11px 28px;
}

.hacoon-review-trap {
	position: absolute;
	left: -9999px;
}

.hacoon-review-notice {
	margin: 0 0 16px;
	padding: 12px 14px;
}

.hacoon-review-notice--success {
	background: #edf8ef;
	border: 1px solid #b9dfc0;
}

.hacoon-review-notice--error {
	background: #fff0f0;
	border: 1px solid #e2b6b6;
}

.hacoon-product-review-summary {
	margin: 0 0 18px;
}

.hacoon-product-review-accordion .accordion-body {
	padding-block: 20px;
}

.hacoon-product-reviews {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
}

.hacoon-product-review-panel,
.hacoon-product-review-form,
.hacoon-product-review-login,
.hacoon-product-review-closed {
	border: 1px solid #dce8ed;
	background: #fff;
	padding: 16px;
}

.hacoon-product-reviews > .hacoon-product-review-summary,
.hacoon-product-reviews > .hacoon-product-review-panel {
	box-sizing: border-box;
	width: 100%;
}

.hacoon-product-reviews > .hacoon-product-review-form {
	box-sizing: border-box;
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}

.hacoon-product-review-heading,
.hacoon-product-review-form__heading {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: end;
	justify-content: space-between;
	margin: 0 0 14px;
}

.hacoon-product-review-heading span,
.hacoon-product-review-form__heading span {
	display: block;
	color: #116580;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

.hacoon-product-review-heading h3,
.hacoon-product-review-form__heading h3,
.hacoon-product-review-login h3 {
	margin: 0;
	color: #23343d;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.45;
}

.hacoon-product-review-heading a,
.hacoon-product-review-login a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #78bfd6;
	background: #f1fbff;
	color: #116580;
	font-size: 13px;
	font-weight: 700;
	min-height: 38px;
	padding: 7px 12px;
	text-decoration: none;
}

.hacoon-product-review-form__heading {
	display: grid;
	gap: 4px;
	align-items: start;
	justify-content: start;
}

.hacoon-product-review-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hacoon-product-review-list .hacoon-product-review-item:last-child {
	margin-bottom: 0;
}

.hacoon-product-review-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 18px;
}

.hacoon-product-review-pagination .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 36px;
	min-height: 36px;
	border: 1px solid #dce8ed;
	background: #fff;
	color: #23343d;
	font-weight: 700;
	padding: 0 10px;
	text-decoration: none;
}

.hacoon-product-review-pagination .page-numbers.current {
	background: #116580;
	border-color: #116580;
	color: #fff;
}

.hacoon-product-review-pagination a.page-numbers:hover {
	background: #f1fbff;
	border-color: #78bfd6;
	color: #116580;
}

.hacoon-product-review-empty,
.hacoon-product-review-closed,
.hacoon-product-review-login p {
	color: #5b717a;
	line-height: 1.8;
	margin: 0;
}

.hacoon-product-review-login {
	display: grid;
	gap: 10px;
}

.hacoon-product-review-login a {
	justify-self: start;
}

.hacoon-product-review-form #respond {
	margin: 0;
}

.hacoon-product-review-form #reply-title {
	display: none;
}

.hacoon-product-review-form #reviewform,
.hacoon-product-review-form .comment-form {
	display: grid;
	gap: 14px;
	margin: 0;
}

.hacoon-product-review-form #reviewform > p,
.hacoon-product-review-form .comment-form p {
	margin: 0;
}

.hacoon-product-review-form label {
	display: block;
	color: #23343d;
	font-weight: 700;
	margin: 0 0 6px;
}

.hacoon-product-review-form label span {
	color: #5b717a;
	font-size: 12px;
	font-weight: 400;
	margin-left: 4px;
}

.hacoon-product-review-form #input-type-star {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	border: 1px solid #dce8ed;
	background: #fafeff;
	min-height: 48px;
	padding: 10px 12px;
}

.hacoon-product-review-form #input-type-star label {
	margin: 0 6px 0 0;
}

.hacoon-product-review-form #input-type-star img,
.hacoon-product-review-form #input-type-star i {
	flex: 0 0 auto;
}

.hacoon-product-review-form #hint1 {
	display: block;
	min-height: 1.4em;
	color: #5b717a;
	font-size: 12px;
	line-height: 1.4;
}

.hacoon-product-review-form input[type="text"],
.hacoon-product-review-form input[type="email"],
.hacoon-product-review-form textarea {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #dce8ed;
	background: #fff;
	min-height: 44px;
	padding: 10px 12px;
}

.hacoon-product-review-form textarea {
	min-height: 130px;
}

.hacoon-product-review-form input[type="file"] {
	box-sizing: border-box;
	width: 100%;
	border: 1px dashed #b7d4de;
	background: #fafeff;
	padding: 10px 12px;
}

.hacoon-product-review-form .form-submit {
	display: flex;
	justify-content: flex-start;
	margin: 2px 0 0;
}

.hacoon-product-review-form #reviewform .form-submit input[type="submit"],
.hacoon-product-review-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: auto;
	max-width: 100%;
	border: 0;
	background: #116580;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	line-height: 1.35;
	min-height: 46px;
	min-width: 220px;
	padding: 10px 22px;
}

.hacoon-product-review-form #reviewform .form-submit input[type="submit"]:hover,
.hacoon-product-review-form #reviewform .form-submit input[type="submit"]:focus {
	background: #1d3946;
	color: #fff;
}

.hacoon-product-review-preview {
	margin: 18px 0 8px;
	border: 1px solid #dce8ed;
	background: #fff;
	padding: 16px;
}

.article-item > .hacoon-product-review-preview {
	box-sizing: border-box;
	grid-column: 1 / -1;
	grid-row: 2 / 3 !important;
	width: 100%;
}

.article-item > .hacoon-product-review-preview + #accordion-item-panels > #accordion-item-info {
	grid-row: 3 / 4 !important;
}

.article-item > .hacoon-product-review-preview + #accordion-item-panels > #accordion-reviews {
	grid-row: 4 / 5 !important;
}

.hacoon-product-review-preview__head {
	margin: 0 0 12px;
}

.hacoon-product-review-preview__head h2 {
	margin: 0;
	color: #23343d;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.45;
}

.hacoon-product-review-preview__kicker {
	color: #116580;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0;
	text-transform: uppercase;
}

.hacoon-product-review-preview__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.hacoon-product-review-preview--count-1 .hacoon-product-review-preview__list {
	grid-template-columns: 1fr;
}

.hacoon-product-review-preview--count-2 .hacoon-product-review-preview__list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hacoon-product-review-card {
	height: 100%;
	border: 1px solid #dce8ed;
	background: #fafeff;
	padding: 12px;
}

.hacoon-product-review-card__header {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 6px;
}

.hacoon-product-review-card__date {
	color: #5b717a;
	font-size: 12px;
	text-decoration: none;
}

.hacoon-product-review-card__author {
	color: #23343d;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 6px;
}

.hacoon-product-review-card__body {
	color: #23343d;
	font-size: 13px;
	line-height: 1.7;
}

.hacoon-product-review-card__body p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	margin: 0;
	overflow: hidden;
}

.hacoon-product-review-preview__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.hacoon-product-review-preview__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #78bfd6;
	background: #fff;
	color: #116580;
	font-size: 13px;
	font-weight: 700;
	min-height: 38px;
	padding: 7px 12px;
	text-decoration: none;
}

.hacoon-product-review-preview__link--write {
	background: #116580;
	border-color: #116580;
	color: #fff;
}

.hacoon-product-review-mini a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #23343d;
	text-decoration: none;
}

.hacoon-product-review-mini strong {
	color: #116580;
}

.hacoon-product-review-mini em {
	color: #116580;
	font-style: normal;
	text-decoration: underline;
	text-underline-offset: 2px;
}

@media (max-width: 760px) {
	.hacoon-review-hero {
		align-items: stretch;
		flex-direction: column;
	}
	.hacoon-review-write-link {
		align-self: start;
		white-space: normal;
	}
	.hacoon-review-summary,
	.hacoon-product-review-summary,
	.hacoon-review-card {
		grid-template-columns: 1fr;
	}
	.hacoon-review-score,
	.hacoon-product-review-summary__score {
		border-right: 0;
		border-bottom: 1px solid #e4eef2;
		padding: 0 0 14px;
	}
	.hacoon-review-filter-form {
		align-items: stretch;
		flex-direction: column;
	}
	.hacoon-review-filter-form label,
	.hacoon-review-filter-form select,
	.hacoon-review-filter-form button,
	.hacoon-review-submit,
	.hacoon-product-review-form input[type="submit"] {
		width: 100%;
	}
	.hacoon-product-review-heading,
	.hacoon-product-review-form__heading {
		align-items: stretch;
		flex-direction: column;
	}
	.hacoon-product-review-preview__list,
	.hacoon-product-review-preview--count-2 .hacoon-product-review-preview__list,
	.hacoon-product-review-preview--count-3 .hacoon-product-review-preview__list {
		grid-template-columns: 1fr;
	}
	.hacoon-product-review-preview__link {
		width: 100%;
	}
	.hacoon-review-rating-row,
	.hacoon-product-review-summary__bar {
		grid-template-columns: 40px minmax(0, 1fr) 48px;
	}
}
