.mrfe-form-wrapper { max-width: 480px; width: 100%; }
.mrfe-form { display: flex; flex-direction: column; gap: 14px; padding: 16px; border-radius: 8px; border: 1px solid rgba(0,0,0,0.06); background: #ffffff; }
.mrfe-field label { display: block; font-size: 13px; margin-bottom: 4px; color: #333333; }
.mrfe-field input[type="text"], .mrfe-field input[type="email"], .mrfe-field textarea { width: 100%; padding: 8px 10px; border-radius: 4px; border: 1px solid #dcdcdc; font-size: 14px; box-sizing: border-box; }
.mrfe-field input:focus, .mrfe-field textarea:focus { outline: none; border-color: #4a90e2; box-shadow: 0 0 0 1px rgba(74,144,226,0.2);}
.mrfe-stars { font-size: 20px; color: #cccccc; cursor: pointer; }
.mrfe-star { margin-right: 4px; transition: color 0.15s ease; }
.mrfe-star-active { color: #f5a623; }
.mrfe-form button { align-self: flex-start; padding: 8px 18px; border-radius: 4px; border: none; background: #111827; color: #fff; font-size: 14px; cursor: pointer; }
.mrfe-form button:hover { background: #000000; }
.mrfe-message { font-size: 13px; }
.mrfe-success { color: #15803d; }
.mrfe-error { color: #b91c1c; }

/* Container - respects Elementor column width */
.mrfe-testimonials-container { width: 100%; max-width: 100%; box-sizing: border-box; }
.elementor-widget-mrfe_minimal_testimonials .mrfe-testimonials-container { width: 100%; }
.mrfe-swiper { padding: 24px 0 38px 0; width: 100%; max-width: 100%; box-sizing: border-box; overflow: hidden; }
.mrfe-testimonials-wrapper { display: flex; gap: 0; width: 100%; max-width: 100%; }
.mrfe-testimonials-grid { display: grid; width: 100%; max-width: 100%; gap: var(--mrfe-grid-gap, 20px); grid-template-columns: repeat(var(--mrfe-grid-cols-desktop, 3), 1fr); box-sizing: border-box; }
.mrfe-testimonials-list { display: flex; flex-direction: column; width: 100%; max-width: 100%; gap: 20px; box-sizing: border-box; }
.swiper-wrapper { display: flex; width: 100%; }
.swiper-slide { height: auto; flex-shrink: 0; box-sizing: border-box; }
/* Cards - sized by their container, not full width */
.mrfe-testimonial-card { background: #fafdff; border-radius: 18px; box-shadow: 0 3px 26px 0 rgba(28, 77, 166, 0.05); border: none; padding: 24px 20px 16px 20px; display: flex; flex-direction: column; align-items: center; box-sizing: border-box; }
.mrfe-testimonial-card.mrfe-card-flex { flex: 1 1 auto; }
/* Grid cards fill their grid cell */
.mrfe-testimonials-grid .mrfe-testimonial-card { width: 100%; height: 100%; }
/* List cards take full width of container */
.mrfe-testimonials-list .mrfe-testimonial-card { width: 100%; max-width: 100%; }
/* Carousel cards - fill the slide width completely */
.swiper-slide .mrfe-testimonial-card { width: 100%; height: 100%; }

/* Responsive Grid */
@media (max-width: 1024px) {
    .mrfe-testimonials-grid { grid-template-columns: repeat(var(--mrfe-grid-cols-tablet, 2), 1fr); }
}
@media (max-width: 767px) {
    .mrfe-testimonials-grid { grid-template-columns: repeat(var(--mrfe-grid-cols-mobile, 1), 1fr); }
}
.mrfe-avatar-wrapper { display: flex; justify-content: center; align-items: center; margin-bottom: 12px; }
.mrfe-avatar-img, .mrfe-avatar-initials { width: 56px; height: 56px; border-radius: 50%; display: block; object-fit: cover; background: #ddebf2; font-size: 29px; color: #2f3e66; font-weight: bold; line-height: 56px; text-align: center; }
.mrfe-avatar-img { border: 3px solid #d3f5fa; }
.mrfe-testimonial-name { margin-top: 8px; font-size: 16px; font-weight: 600; color: #127385; margin-bottom: 4px; text-align: center; }
.mrfe-testimonial-stars { font-size: 15px; color: #cad8e0; margin-bottom: 0; letter-spacing: 1px; text-align: center;}
.mrfe-testimonial-stars .mrfe-star-active { color: #ffc14f; }
.mrfe-swiper-nav { text-align: center; margin-top: -20px; position: relative; z-index: 2; }
.mrfe-swiper-next, .mrfe-swiper-prev { display: inline-block; border: none; background: #02afbe; color: white; border-radius: 50%; width: 38px; height: 38px; font-size: 23px; font-weight: bold; margin: 0 8px; cursor: pointer; box-shadow: 0 2px 8px 0 rgba(28, 77, 166, 0.05); transition: background .17s; }
.mrfe-swiper-next:hover, .mrfe-swiper-prev:hover { background: #114e92; }
.mrfe-no-reviews { font-size: 13px; color: #6b7280; }
