/* ORIGONA Reviews public component family. Bricks owns the parent layout. */
.c-review-form {
  width: 100%;
  margin: 0;
  color: var(--og-color-component-field-text, var(--og-text-main));
  font-family: var(--og-font-body);
}

.c-review-form h2 {
  margin-block: 0 var(--og-spacing-semantic-stack-s, 1rem);
  color: var(--og-color-semantic-text-primary, var(--og-text-main));
  font-family: var(--og-font-heading);
  font-size: var(--og-text-2xl, 1.5rem);
  line-height: var(--og-leading-snug, 1.25);
}

.c-review-form > p:not(.c-review-form__consent) {
  display: grid;
  gap: var(--og-spacing-component-form-fieldgap, var(--og-spacing-semantic-stack-xs, 0.5rem));
  margin: 0;
}

.c-review-form > p + p,
.c-review-form > fieldset + p {
  margin-top: var(--og-spacing-component-form-rowgap, var(--og-spacing-semantic-stack-s, 1rem));
}

.c-review-form label,
.c-review-form legend {
  color: var(--og-color-component-field-label, var(--og-color-semantic-form-label));
  font-weight: var(--og-weight-semibold, 600);
}

.c-review-form__helper {
  color: var(--og-color-component-field-help-text, var(--og-color-semantic-form-help-text));
  font-size: var(--og-text-s, 0.875rem);
  line-height: var(--og-leading-normal, 1.5);
}

.c-review-form input[type='text'],
.c-review-form textarea {
  width: 100%;
  border: 1px solid var(--og-color-component-field-border, var(--og-color-semantic-form-input-border));
  border-radius: var(--og-radius-component-input, var(--og-radius-semantic-control));
  color: var(--og-color-component-field-text, var(--og-color-semantic-form-input-text));
  background: var(--og-color-component-field-surface, var(--og-color-semantic-form-input-surface));
  font: inherit;
}

.c-review-form input[type='text'] {
  min-height: var(--og-size-component-form-input-height-m, 48px);
  padding-inline: var(--og-spacing-semantic-inline-s, 0.75rem);
}

.c-review-form textarea {
  min-height: 7.5rem;
  padding: var(--og-spacing-semantic-inline-s, 0.75rem);
  resize: vertical;
}

.c-review-form input[type='text']:hover,
.c-review-form textarea:hover {
  border-color: var(--og-color-component-field-border-hover, var(--og-color-semantic-form-input-border-hover));
}

.c-review-form input[type='text']:focus-visible,
.c-review-form textarea:focus-visible {
  border-color: var(--og-color-component-field-border-focus, var(--og-color-semantic-form-input-border-focus));
  outline: 2px solid var(--og-focus-ring);
  outline-offset: 2px;
}

.c-review-form__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--og-spacing-semantic-stack-xs, 0.5rem);
  margin: 0;
  padding: 0;
  border: 0;
}

.c-review-form__rating > legend {
  flex-basis: 100%;
  margin-bottom: var(--og-spacing-semantic-stack-xs, 0.5rem);
  padding: 0;
}

.c-review-form__rating-option {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--og-size-semantic-touch-l, 48px);
  min-width: var(--og-size-semantic-touch-l, 48px);
  height: var(--og-size-semantic-touch-l, 48px);
  color: var(--og-color-semantic-text-subtle, #9A9DA1);
  font-size: var(--og-text-2xl, 1.5rem);
  cursor: pointer;
}

.c-review-form__rating-option + .c-review-form__rating-option {
  margin-left: var(--og-spacing-semantic-inline-xs, 0.5rem);
}

.c-review-form__rating-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.c-review-form__rating-option > span[aria-hidden='true'] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: var(--og-radius-semantic-subtle, 0.25rem);
  transition: color var(--og-motion-semantic-hover-duration) var(--og-motion-semantic-hover-easing), background-color var(--og-motion-semantic-hover-duration) var(--og-motion-semantic-hover-easing);
}

.c-review-form__rating-option:hover > span[aria-hidden='true'],
.c-review-form__rating-option input:checked + span[aria-hidden='true'] {
  color: var(--og-color-semantic-text-brand, var(--og-brand-primary));
  background: var(--og-color-semantic-surface-brand, var(--og-brand-primary-l-10));
}

.c-review-form__rating-option input:focus-visible + span[aria-hidden='true'] {
  outline: 2px solid var(--og-focus-ring);
  outline-offset: 2px;
}

.c-review-form__consent {
  display: grid;
  gap: var(--og-spacing-semantic-stack-xs, 0.5rem);
  margin-block: var(--og-spacing-component-form-rowgap, var(--og-spacing-semantic-stack-s, 1rem)) 0;
}

.c-review-form__consent label {
  display: inline-flex;
  align-items: flex-start;
  gap: var(--og-spacing-semantic-inline-s, 0.75rem);
}

.c-review-form__consent input[type='checkbox'] {
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.1rem;
  accent-color: var(--og-brand-primary);
}

.c-review-form > .c-button {
  margin-top: var(--og-spacing-component-form-rowgap, var(--og-spacing-semantic-stack-s, 1rem));
}

.c-review-form__notice {
  width: min(100%, var(--og-lay-prose, 780px));
  margin-inline: auto;
  padding: var(--og-spacing-semantic-inset-card, 1.5rem);
  border: 1px solid var(--og-color-semantic-border-subtle);
  border-radius: var(--og-radius-semantic-card);
  color: var(--og-color-semantic-text-secondary);
  background: var(--og-color-semantic-surface-card-muted);
}

@media (max-width: 480px) {
  .c-review-form__rating-option {
    width: var(--og-size-semantic-touch-m, 44px);
    min-width: var(--og-size-semantic-touch-m, 44px);
    height: var(--og-size-semantic-touch-m, 44px);
  }

  .c-review-form__rating-option + .c-review-form__rating-option {
    margin-left: var(--og-spacing-semantic-inline-xs, 0.35rem);
  }
}

.c-review-card,
.c-rating-summary {
  border: 1px solid var(--og-color-component-review-card-border, var(--og-color-semantic-border-subtle, #E5E6E8));
  border-radius: var(--og-rad-l);
  background: var(--og-color-component-review-card-surface, var(--og-color-semantic-surface-card, #FFFFFF));
  color: var(--og-color-component-review-card-text, var(--og-color-semantic-text-secondary, #252626));
}

.c-review-card {
  --origona-review-card-star-size: var(--og-text-l, 1.25rem);
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--og-spacing-semantic-stack-s, 1rem);
  padding: var(--og-spacing-semantic-inset-l, var(--og-spacing-semantic-inset-card, 1.5rem));
}

.c-review-card--compact {
  gap: var(--og-spacing-semantic-stack-xs, 0.5rem);
  padding: var(--og-spacing-semantic-inset-m, 1rem);
}

.c-review-card__rating {
  display: inline-flex;
  gap: 0.18em;
  color: var(--og-color-semantic-text-subtle, #9A9DA1);
  font-size: var(--origona-review-card-star-size);
  line-height: 1;
}

.c-review-card__star.is-filled {
  color: var(--og-color-semantic-text-brand, var(--og-color-primitive-raspberry-500, #E03553));
}

.c-rating-summary__rating {
  display: inline-flex;
  gap: 0.18em;
  color: var(--og-color-semantic-text-subtle, #9A9DA1);
  font-size: var(--og-text-2xl, 1.5rem);
  line-height: 1;
}

.c-review-card__body,
.c-review-card__text {
  min-width: 0;
}

.c-review-card__text {
  overflow: hidden;
  font-family: var(--og-font-body);
  line-height: var(--og-leading-relaxed, 1.6);
}

.c-review-card__text--long:not(.is-expanded) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 8;
  max-height: none;
}

.c-review-card__text--long.is-expanded {
  display: block;
  max-height: none;
  overflow: visible;
}

.c-review-card__text p:last-child,
.c-review-card__response-text p:last-child {
  margin-bottom: 0;
}

.c-review-card__text--compact {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  max-height: calc(5 * var(--og-leading-normal, 1.25rem));
  margin-bottom: 0;
  line-height: var(--og-leading-normal, 1.25rem);
}

.c-review-card__text--compact.is-expanded {
  display: block;
  max-height: none;
  overflow: visible;
}

.c-review-card--compact .c-review-card__footer {
  margin-top: var(--og-spacing-semantic-stack-xs, 0.5rem);
}

.c-review-card__text.is-expanded {
  max-height: none;
}

.c-review-card__toggle {
  margin-top: var(--og-spacing-semantic-stack-xs, 0.5rem);
  padding: 0.35rem 0;
  border: 0;
  color: var(--og-color-semantic-text-link, var(--og-color-primitive-raspberry-600, #E03553));
  background: transparent;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 0.16em;
  cursor: pointer;
}

.c-review-card__toggle:focus-visible {
  outline: 2px solid var(--og-focus-ring, var(--og-color-primitive-raspberry-500, #E03553));
  outline-offset: 3px;
  border-radius: var(--og-rad-xs);
}

.c-review-card__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--og-spacing-semantic-inline-s, 0.65rem);
  color: var(--og-color-component-review-card-date, var(--og-color-semantic-text-muted, #9A9DA1));
  font-size: var(--og-text-s);
}

.c-review-card__separator {
  color: var(--og-color-semantic-text-subtle, #9A9DA1);
  font-size: 1.1em;
  font-weight: var(--og-weight-medium, 500);
}

.c-review-card__name {
  color: var(--og-color-component-review-card-name, var(--og-color-semantic-text-primary, #252626));
  font-weight: var(--og-weight-semibold);
}

.c-review-card__date,
.c-review-card__source {
  color: var(--og-color-semantic-text-secondary, #252626);
  font-weight: var(--og-weight-medium, 500);
}

.c-review-card__verified {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  flex-basis: auto;
  padding: 0.2rem 0.55rem;
  border: 1px solid var(--og-color-semantic-border-subtle, #E5E6E8);
  border-radius: var(--og-radius-semantic-badge, var(--og-rad-round));
  color: var(--og-color-semantic-text-secondary, #252626);
  background: var(--og-color-semantic-surface-card-muted, #F7F7F7);
  font-size: var(--og-text-s, 0.875rem);
  font-weight: var(--og-weight-medium, 500);
}

.c-review-card__verified::before {
  content: '✓';
  color: var(--og-color-semantic-text-success, var(--og-color-primitive-green-700, #2F7D4A));
  font-weight: var(--og-weight-semibold, 600);
}

.c-review-card__response {
  padding-top: var(--og-spacing-semantic-stack-s, 1rem);
  border-top: 1px solid var(--og-color-component-review-card-border, var(--og-color-semantic-border-subtle, #E5E6E8));
}

.c-review-card__response-label {
  display: block;
  margin-bottom: var(--og-spacing-semantic-stack-xs, 0.5rem);
  color: var(--og-color-component-review-card-name, var(--og-color-semantic-text-primary, #252626));
  font-size: var(--og-text-s);
}

.c-review-card__response-text {
  font-size: var(--og-text-s);
  line-height: var(--og-leading-relaxed, 1.6);
}

.c-rating-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--og-spacing-semantic-stack-s, 1rem);
  padding: var(--og-spacing-semantic-inset-l, var(--og-spacing-semantic-inset-card, 1.5rem));
}

.c-rating-summary__score {
  display: grid;
  gap: 0.2rem;
}

.c-rating-summary__score strong {
  color: var(--og-color-component-review-card-name, var(--og-color-semantic-text-primary, #252626));
  font-family: var(--og-font-heading);
  font-size: var(--og-text-xl);
}

.c-rating-summary__score span {
  color: var(--og-color-component-review-card-date, var(--og-color-semantic-text-muted, #9A9DA1));
  font-size: var(--og-text-s);
}

.c-rating-summary__distribution {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.7rem;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--og-color-semantic-text-secondary, #252626);
  font-size: var(--og-text-s, 0.875rem);
}

.c-rating-summary__distribution li {
  display: inline-flex;
  gap: 0.25rem;
  align-items: baseline;
}

.c-rating-summary__distribution li span {
  color: var(--og-color-semantic-text-brand, var(--og-color-primitive-raspberry-500, #E03553));
}

.c-rating-summary__distribution-count-suffix {
  margin-left: 0.08em;
}

.c-rating-summary__distribution-bar {
  display: inline-flex;
  width: 5rem;
  height: 0.35rem;
  overflow: hidden;
  border-radius: var(--og-rad-round);
  background: var(--og-color-semantic-surface-card-muted, #F7F7F7);
  vertical-align: middle;
}

.c-rating-summary__distribution-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--og-color-semantic-text-brand, var(--og-color-primitive-raspberry-500, #E03553));
}

.c-reviews-archive {
  background: var(--og-color-semantic-surface-page, var(--og-bg-surface, #FFFFFF));
}

.c-reviews-archive__section {
  padding-block: var(--og-spacing-semantic-section-l, clamp(3rem, 7vw, 6rem));
}

.c-reviews-archive__intro,
.c-reviews-archive__trust,
.c-reviews-archive__cta {
  display: grid;
  gap: var(--og-spacing-semantic-stack-s, 1rem);
}

.c-reviews-archive .c-page-hero__breadcrumb nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.c-reviews-archive .c-page-hero__inner--stacked {
  max-width: var(--og-lay-content);
}

.c-reviews-archive__intro {
  max-width: var(--og-lay-prose);
  margin-inline: auto;
  text-align: center;
}

.c-reviews-archive__trust {
  max-width: var(--og-lay-prose);
  margin-inline: auto;
  padding: var(--og-spacing-semantic-inset-l, 1.5rem);
  border: 1px solid var(--og-color-semantic-border-subtle, #E5E6E8);
  border-radius: var(--og-rad-l);
  background: var(--og-color-semantic-surface-card-muted, #F7F7F7);
}

.c-reviews-archive__trust p:last-child {
  margin-bottom: 0;
}

.c-reviews-archive__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--og-spacing-semantic-stack-l, 1.5rem);
  align-items: start;
}

.c-reviews-archive__grid > .brxe-shortcode {
  display: contents;
}

.c-reviews-archive__controls,
.c-reviews-archive__cta {
  justify-items: center;
  text-align: center;
}

.c-reviews-archive__status {
  min-height: 1.5em;
  margin: 0;
  color: var(--og-color-semantic-text-secondary, #252626);
}

.c-reviews-archive__load-more[aria-busy='true'] {
  cursor: wait;
  opacity: 0.7;
}

.c-homepage-reviews__summary,
.c-homepage-reviews__grid,
.c-homepage-reviews__archive,
.c-pdp__reviews-summary,
.c-pdp__reviews-grid,
.c-pdp__reviews-archive {
  min-width: 0;
}

.c-homepage-reviews__grid,
.c-pdp__reviews-grid {
  margin-top: var(--og-spacing-semantic-stack-l, 1.5rem);
}

.c-homepage-reviews__grid > .brxe-shortcode,
.c-pdp__reviews-grid > .brxe-shortcode {
  display: contents;
}

.c-homepage-reviews__archive,
.c-pdp__reviews-archive {
  margin-top: var(--og-spacing-semantic-stack-l, 1.5rem);
}

@media (max-width: 767px) {
  .c-reviews-archive__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .c-rating-summary__distribution {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .c-review-card,
  .c-rating-summary {
    padding: var(--og-spacing-semantic-inset-m, 1rem);
  }

  .c-review-card__footer {
    row-gap: 0.25rem;
  }

  .c-homepage-reviews__grid,
  .c-pdp__reviews-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .c-homepage-reviews__grid,
  .c-pdp__reviews-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
