/* ==========================================================================
   Al Rahma Testimonials Section  Premium Design
   Brand: --primary #ff2714 | --dark #02435b | --secondary #5F656F
   ========================================================================== */

/* ---------- Section ---------- */
.alrahma-testimonials-section {
position: relative;
padding: 100px 0 90px;
background: linear-gradient(160deg, #011e2b 0%, var(--dark, #02435b) 50%, #033a50 100%);
overflow: hidden;
color: #fff;
}

/* ---------- Decorative blobs ---------- */
.alrahma-testimonials-deco {
position: absolute;
border-radius: 50%;
pointer-events: none;
}
.alrahma-testimonials-deco--1 {
width: 420px;
height: 420px;
top: -120px;
right: -100px;
background: radial-gradient(circle, rgba(255, 39, 20, .12) 0%, transparent 70%);
}
.alrahma-testimonials-deco--2 {
width: 350px;
height: 350px;
bottom: -80px;
left: -80px;
background: radial-gradient(circle, rgba(255, 39, 20, .08) 0%, transparent 70%);
}

/* ---------- Section Header ---------- */
.alrahma-testimonials-header {
text-align: center;
margin-bottom: 60px;
position: relative;
z-index: 2;
}

.alrahma-testimonials-badge {
display: inline-block;
padding: 6px 22px;
border-radius: 30px;
font-size: 0.85rem;
font-weight: 600;
letter-spacing: 0.04em;
color: var(--primary, #ff2714);
background: rgba(255, 39, 20, .12);
border: 1px solid rgba(255, 39, 20, .25);
margin-bottom: 18px;
}

.alrahma-testimonials-title {
font-size: clamp(1.75rem, 4vw, 2.5rem);
font-weight: 800;
color: #fff;
margin: 0 0 14px;
line-height: 1.3;
}

.alrahma-testimonials-desc {
font-size: 1.05rem;
color: rgba(255, 255, 255, .65);
max-width: 600px;
margin: 0 auto 20px;
line-height: 1.7;
}

/* title divider */
.alrahma-testimonials-title-divider {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
margin-top: 4px;
}
.alrahma-testimonials-title-divider span {
display: block;
width: 40px;
height: 2px;
background: var(--primary, #ff2714);
border-radius: 2px;
}
.alrahma-testimonials-title-divider i {
font-size: 0.7rem;
color: var(--primary, #ff2714);
}

/* ---------- Card ---------- */
.alrahma-testimonial-card {
position: relative;
background: rgba(255, 255, 255, .06);
border: 1px solid rgba(255, 255, 255, .1);
border-radius: 18px;
padding: 36px 30px 28px;
transition: transform 0.4s cubic-bezier(.25,.8,.25,1),
box-shadow 0.4s cubic-bezier(.25,.8,.25,1),
border-color 0.4s ease,
background 0.4s ease;
overflow: hidden;
height: 100%;
display: flex;
flex-direction: column;
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.alrahma-testimonial-card:hover {
transform: translateY(-6px);
background: rgba(255, 255, 255, .10);
border-color: rgba(255, 39, 20, .35);
box-shadow: 0 20px 50px rgba(0, 0, 0, .25),
0 0 30px rgba(255, 39, 20, .08);
}

/* accent stripe at top */
.alrahma-card-accent {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--primary, #ff2714), #ff6b59);
transform: scaleX(0);
transform-origin: center;
transition: transform 0.5s cubic-bezier(.25,.8,.25,1);
}
.alrahma-testimonial-card:hover .alrahma-card-accent {
transform: scaleX(1);
}

/* watermark quote */
.alrahma-card-quote {
position: absolute;
top: 16px;
right: 20px;
font-size: 2.8rem;
color: rgba(255, 39, 20, .10);
line-height: 1;
transition: color 0.4s ease, transform 0.4s ease;
}
.alrahma-testimonial-card:hover .alrahma-card-quote {
color: rgba(255, 39, 20, .20);
transform: scale(1.08) rotate(-4deg);
}

/* ---------- Avatar ---------- */
.alrahma-card-avatar {
width: 72px;
height: 72px;
border-radius: 50%;
margin-bottom: 22px;
flex-shrink: 0;
position: relative;
z-index: 1;
}
.alrahma-card-avatar img {
width: 72px;
height: 72px;
border-radius: 50%;
object-fit: cover;
border: 3px solid rgba(255, 39, 20, .35);
transition: border-color 0.3s ease;
}
.alrahma-testimonial-card:hover .alrahma-card-avatar img {
border-color: var(--primary, #ff2714);
}
.alrahma-avatar-initials {
display: flex;
align-items: center;
justify-content: center;
width: 72px;
height: 72px;
border-radius: 50%;
font-size: 1.35rem;
font-weight: 700;
color: #fff;
background: linear-gradient(135deg, var(--primary, #ff2714), #ff6b59);
box-shadow: 0 4px 14px rgba(255, 39, 20, .30);
letter-spacing: 0.02em;
}

/* ---------- Review ---------- */
.alrahma-card-review {
flex: 1;
margin: 0 0 18px;
padding: 0;
border: 0;
}
.alrahma-card-review p {
font-size: 0.98rem;
line-height: 1.85;
color: rgba(255, 255, 255, .80);
margin: 0;
display: -webkit-box;
-webkit-line-clamp: 5;
-webkit-box-orient: vertical;
overflow: hidden;
}

/* ---------- Rating ---------- */
.alrahma-card-rating {
margin-bottom: 20px;
display: flex;
gap: 3px;
}
.alrahma-card-rating .fas.fa-star {
color: #fbbf24;
font-size: 0.85rem;
}
.alrahma-card-rating .far.fa-star {
color: rgba(251, 191, 36, .35);
font-size: 0.85rem;
}

/* ---------- Card Footer ---------- */
.alrahma-card-footer {
border-top: 1px solid rgba(255, 255, 255, .08);
padding-top: 18px;
margin-top: auto;
}
.alrahma-card-name {
font-size: 1.05rem;
font-weight: 700;
color: #fff;
margin: 0 0 8px;
}

/* Meta list */
.alrahma-card-meta {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
gap: 6px 16px;
}
.alrahma-card-meta li {
display: flex;
align-items: center;
gap: 6px;
font-size: 0.82rem;
color: rgba(255, 255, 255, .50);
white-space: nowrap;
}
.alrahma-card-meta li i {
color: var(--primary, #ff2714);
font-size: 0.72rem;
flex-shrink: 0;
}

/* ========================================================================
   Carousel (Owl Carousel)
   ======================================================================== */
.alrahma-testimonials-carousel {
position: relative;
z-index: 2;
}

/* Navigation arrows */
.alrahma-testimonials-carousel .owl-nav {
display: flex;
justify-content: center;
gap: 12px;
margin-top: 40px;
}
.alrahma-testimonials-carousel .owl-nav button.owl-prev,
.alrahma-testimonials-carousel .owl-nav button.owl-next {
width: 48px;
height: 48px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, .08) !important;
border: 1px solid rgba(255, 255, 255, .15) !important;
color: #fff;
font-size: 1rem;
transition: all 0.3s ease;
}
.alrahma-testimonials-carousel .owl-nav button.owl-prev:hover,
.alrahma-testimonials-carousel .owl-nav button.owl-next:hover {
background: var(--primary, #ff2714) !important;
border-color: var(--primary, #ff2714) !important;
color: #fff;
transform: scale(1.1);
box-shadow: 0 4px 20px rgba(255, 39, 20, .35);
}
.alrahma-testimonials-carousel .owl-nav button span {
font-size: 0;
line-height: 0;
}

/* Dots */
.alrahma-testimonials-carousel .owl-dots {
display: flex;
justify-content: center;
gap: 8px;
margin-top: 30px;
}
.alrahma-testimonials-carousel .owl-dot span {
display: block;
width: 10px;
height: 10px;
border-radius: 50%;
background: rgba(255, 255, 255, .20);
transition: all 0.3s ease;
}
.alrahma-testimonials-carousel .owl-dot.active span {
background: var(--primary, #ff2714);
width: 28px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(255, 39, 20, .40);
}
.alrahma-testimonials-carousel .owl-dot:hover span {
background: rgba(255, 39, 20, .50);
}

/* ---------- Grid ---------- */
.alrahma-testimonials-grid {
position: relative;
z-index: 2;
}

/* ==========================================================================
   CTA Section
   ========================================================================== */
.alrahma-testimonials-cta {
position: relative;
z-index: 2;
margin-top: 64px;
}
.alrahma-testimonials-cta-inner {
text-align: center;
background: rgba(255, 255, 255, .05);
border: 1px solid rgba(255, 255, 255, .10);
border-radius: 20px;
padding: 44px 36px;
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}

.alrahma-cta-title {
font-size: 1.35rem;
font-weight: 700;
color: #fff;
margin: 0 0 8px;
}
.alrahma-cta-desc {
font-size: 0.95rem;
color: rgba(255, 255, 255, .60);
margin: 0 0 28px;
}

.alrahma-cta-buttons {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 14px;
}

/* CTA buttons */
.alrahma-btn {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 13px 32px;
border-radius: 12px;
font-size: 0.95rem;
font-weight: 600;
text-decoration: none;
transition: all 0.35s cubic-bezier(.25,.8,.25,1);
border: 2px solid transparent;
}
.alrahma-btn-primary {
background: linear-gradient(135deg, var(--primary, #ff2714), #e02010);
color: #fff;
border-color: transparent;
box-shadow: 0 4px 18px rgba(255, 39, 20, .30);
}
.alrahma-btn-primary:hover {
background: linear-gradient(135deg, #e02010, #c01a0a);
color: #fff;
transform: translateY(-2px);
box-shadow: 0 8px 28px rgba(255, 39, 20, .45);
}
.alrahma-btn-outline {
background: transparent;
color: #fff;
border-color: rgba(255, 255, 255, .30);
}
.alrahma-btn-outline:hover {
background: rgba(255, 255, 255, .10);
border-color: #fff;
color: #fff;
transform: translateY(-2px);
}

/* ==========================================================================
   Animations
   ========================================================================== */
.alrahma-animate-on-scroll {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.7s cubic-bezier(.25,.8,.25,1),
transform 0.7s cubic-bezier(.25,.8,.25,1);
}
.alrahma-animate-on-scroll.is-visible {
opacity: 1;
transform: translateY(0);
}

/* staggered card entrance */
.alrahma-testimonials-carousel.is-visible .alrahma-testimonial-card,
.alrahma-testimonials-grid.is-visible .alrahma-testimonial-card {
animation: alrahmaCardIn 0.6s cubic-bezier(.25,.8,.25,1) both;
animation-delay: calc(var(--card-index, 0) * 0.12s);
}
@keyframes alrahmaCardIn {
from {
opacity: 0;
transform: translateY(24px) scale(0.97);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}

/* header stagger */
.alrahma-testimonials-header.is-visible .alrahma-testimonials-badge {
animation: alrahmaFadeDown 0.5s ease both;
}
.alrahma-testimonials-header.is-visible .alrahma-testimonials-title {
animation: alrahmaFadeDown 0.5s ease 0.1s both;
}
.alrahma-testimonials-header.is-visible .alrahma-testimonials-desc {
animation: alrahmaFadeDown 0.5s ease 0.2s both;
}
.alrahma-testimonials-header.is-visible .alrahma-testimonials-title-divider {
animation: alrahmaFadeDown 0.5s ease 0.3s both;
}
@keyframes alrahmaFadeDown {
from { opacity: 0; transform: translateY(16px); }
to   { opacity: 1; transform: translateY(0); }
}

/* CTA slide up */
.alrahma-testimonials-cta.is-visible .alrahma-testimonials-cta-inner {
animation: alrahmaFadeDown 0.6s ease 0.15s both;
}

/* ==========================================================================
   RTL Support
   ========================================================================== */
[dir="rtl"] .alrahma-card-quote {
right: auto;
left: 20px;
}
[dir="rtl"] .alrahma-card-meta {
direction: rtl;
}
[dir="rtl"] .alrahma-testimonials-title {
letter-spacing: 0;
}
[dir="rtl"] .alrahma-testimonials-badge {
letter-spacing: 0;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 991.98px) {
.alrahma-testimonials-section {
padding: 70px 0 60px;
}
.alrahma-testimonials-header {
margin-bottom: 40px;
}
.alrahma-testimonials-cta {
margin-top: 48px;
}
.alrahma-testimonials-cta-inner {
padding: 32px 24px;
}
}

@media (max-width: 767.98px) {
.alrahma-testimonials-section {
padding: 56px 0 48px;
}
.alrahma-testimonials-header {
margin-bottom: 32px;
}
.alrahma-testimonial-card {
padding: 28px 22px 22px;
}
.alrahma-card-avatar {
width: 60px;
height: 60px;
margin-bottom: 16px;
}
.alrahma-card-avatar img,
.alrahma-avatar-initials {
width: 60px;
height: 60px;
}
.alrahma-avatar-initials {
font-size: 1.1rem;
}
.alrahma-card-review p {
font-size: 0.92rem;
-webkit-line-clamp: 4;
}
.alrahma-card-meta {
flex-direction: column;
gap: 4px;
}
.alrahma-cta-buttons {
flex-direction: column;
align-items: center;
}
.alrahma-btn {
width: 100%;
max-width: 280px;
justify-content: center;
}
.alrahma-testimonials-deco--1 {
width: 250px;
height: 250px;
}
.alrahma-testimonials-deco--2 {
width: 200px;
height: 200px;
}
}

@media (max-width: 575.98px) {
.alrahma-testimonials-section {
padding: 44px 0 38px;
}
.alrahma-testimonials-title {
font-size: 1.5rem;
}
.alrahma-testimonial-card {
padding: 24px 18px 20px;
border-radius: 14px;
}
.alrahma-card-quote {
font-size: 2rem;
}
.alrahma-cta-title {
font-size: 1.15rem;
}
}

/* ==========================================================================
   Reduced Motion
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
.alrahma-animate-on-scroll {
opacity: 1;
transform: none;
transition: none;
}
.alrahma-testimonials-carousel.is-visible .alrahma-testimonial-card,
.alrahma-testimonials-grid.is-visible .alrahma-testimonial-card,
.alrahma-testimonials-header.is-visible .alrahma-testimonials-badge,
.alrahma-testimonials-header.is-visible .alrahma-testimonials-title,
.alrahma-testimonials-header.is-visible .alrahma-testimonials-desc,
.alrahma-testimonials-header.is-visible .alrahma-testimonials-title-divider,
.alrahma-testimonials-cta.is-visible .alrahma-testimonials-cta-inner {
animation: none;
opacity: 1;
transform: none;
}
.alrahma-testimonial-card,
.alrahma-card-accent,
.alrahma-card-quote {
transition: none;
}
}

/* ==========================================================================
   Print
   ========================================================================== */
@media print {
.alrahma-testimonials-section {
background: #fff !important;
color: #000 !important;
padding: 30px 0;
}
.alrahma-testimonials-deco,
.alrahma-card-accent,
.alrahma-card-quote,
.alrahma-testimonials-title-divider,
.alrahma-testimonials-cta,
.alrahma-testimonials-carousel .owl-nav,
.alrahma-testimonials-carousel .owl-dots {
display: none !important;
}
.alrahma-testimonial-card {
background: #fff !important;
border: 1px solid #ddd !important;
color: #000 !important;
break-inside: avoid;
page-break-inside: avoid;
}
.alrahma-testimonials-title,
.alrahma-card-name {
color: #000 !important;
}
.alrahma-testimonials-desc,
.alrahma-card-review p,
.alrahma-card-meta li {
color: #333 !important;
}
.alrahma-testimonials-badge {
color: var(--primary, #ff2714) !important;
border-color: var(--primary, #ff2714) !important;
background: transparent !important;
}
.alrahma-card-footer {
border-color: #ddd !important;
}
}
