/**
 * Trustpilot Widget Block Component Styles
 */

/* Base Trustpilot Block */
.trustpilot-widget-block {
  width: 100%;
}

.trustpilot-widget-block__inner {
  width: 100%;
}

/* Alignment */
.trustpilot-widget-block.alignment--left {
  text-align: left;
}

.trustpilot-widget-block.alignment--center {
  text-align: center;
}

.trustpilot-widget-block.alignment--right {
  text-align: right;
}

/* Padding Variants */
.trustpilot-widget-block.padding--none {
  padding: 0;
}

.trustpilot-widget-block.padding--small {
  padding: var(--spacing-16);
}

.trustpilot-widget-block.padding--normal {
  padding: var(--spacing-32);
}

.trustpilot-widget-block.padding--large {
  padding: var(--spacing-48);
}

/* Title Styles */
.trustpilot-widget-block__title {
  font-size: var(--font-size-24);
  line-height: var(--font-line-height-24);
  font-weight: var(--font-weight-semibold);
  color: var(--content-on-surface);
  margin: 0 0 var(--spacing-24) 0;
}

.trustpilot-widget-block__title--inside {
  margin-bottom: var(--spacing-16);
}

/* Widget Container */
.trustpilot-widget-block__widget {
  width: 100%;
}

/* Trustpilot Widget Override Styles */
.trustpilot-widget-block .trustpilot-widget {
  width: 100%;
  max-width: 100%;
}

/* Ensure Trustpilot widget is responsive */
.trustpilot-widget-block iframe {
  max-width: 100%;
}

/* Prevent loading flash on page navigation */
.trustpilot-widget {
  min-height: 100px;
}

/* Hide fallback link until widget loads */
.trustpilot-widget > a {
  display: none;
}

.trustpilot-widget iframe {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.trustpilot-widget iframe[style*="visibility: visible"],
.trustpilot-widget iframe[style*="height:"] {
  opacity: 1;
}

/* Responsive Styles */
@media (max-width: 768px) {
  .trustpilot-widget-block.padding--normal {
    padding: var(--spacing-24);
  }

  .trustpilot-widget-block.padding--large {
    padding: var(--spacing-32);
  }

  .trustpilot-widget-block__title {
    font-size: var(--font-size-20);
    line-height: var(--font-line-height-20);
    margin-bottom: var(--spacing-16);
  }
}
