/* ============================================================
   GOOGLE REVIEWS — REWRITTEN FROM SCRATCH
   STABLE 5 DESKTOP / 2 MOBILE
============================================================ */

/* =====================
   WRAPPER
===================== */
.google-reviews-section{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:56px 24px;
  background:linear-gradient(180deg,#ffffff,#fff6f0);
  overflow:hidden;
}

.google-reviews-inner{
  width:100%;
  max-width:100%;
}

.google-reviews-section .google-reviews-inner{
  width:100%;
  max-width:100%;
  margin:0 auto;
}

.google-reviews-section .google-reviews-viewport{
  width:100%;
  max-width:100%;
  margin:0 auto;
  overflow:hidden;
}

/* =====================
   TRACK
===================== */
.google-reviews-section .google-reviews-track{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  width:100%;
}

/* =====================
   CARD
===================== */
.google-reviews-section .google-review-card{
  position:relative;
  width:100%;
  min-width:0;
  min-height:240px;
  background:#fff;
  border:1px solid rgba(255,106,0,.12);
  border-radius:24px;
  padding:20px;
  box-sizing:border-box;
  overflow:hidden;
  cursor:pointer;

  display:flex;
  flex-direction:column;
  justify-content:flex-start;

  box-shadow:0 8px 22px rgba(0,0,0,.06);
  transition:transform .3s ease, box-shadow .3s ease;
}

.google-reviews-section .google-review-card:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 30px rgba(0,0,0,.14);
}

/* glow */
.google-reviews-section .google-review-card::before{
  content:"";
  position:absolute;
  inset:-14px;
  border-radius:36px;
  background:linear-gradient(120deg,var(--sun1),var(--sun2),var(--sun3));
  filter:blur(10px);
  opacity:0;
  z-index:-1;
  transition:opacity .35s ease;
}

.google-reviews-section .google-review-card:hover::before{
  opacity:.25;
}

/* =====================
   HEADER
===================== */
.google-reviews-section .review-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
}

.google-reviews-section .review-avatar{
  width:54px;
  height:54px;
  min-width:54px;
  min-height:54px;
  max-width:54px;
  max-height:54px;
  border-radius:50%;
  object-fit:cover;
  flex-shrink:0;
  border:3px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(120deg,var(--sun1),var(--sun2)) border-box;
}

/* =====================
   TEXT
===================== */
.google-reviews-section .review-name{
  font-size:14px;
  font-weight:700;
  color:#111;
  line-height:1.35;
  margin-bottom:3px;
}

.google-reviews-section .review-time{
  font-size:12px;
  color:#666;
}

.google-reviews-section .google-verified-row{
  display:flex;
  align-items:center;
  gap:6px;
  margin-bottom:4px;
}

.google-reviews-section .google-g-icon{
  width:16px;
  height:16px;
  min-width:16px;
  max-width:16px;
}

.google-reviews-section .google-verified-row span{
  font-size:12px;
  font-weight:600;
  color:#1a73e8;
}

/* =====================
   STARS
===================== */
.google-reviews-section .review-stars{
  display:flex;
  gap:4px;
  margin:10px 0 12px;
}

.google-reviews-section .review-stars img{
  width:16px;
  height:16px;
  min-width:16px;
  max-width:16px;
  flex-shrink:0;
}

/* =====================
   TEXT BODY
===================== */
.google-reviews-section .review-text{
  font-size:14px;
  line-height:1.55;
  color:#333;
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:break-word;
  min-height:5.8em;
}

/* =====================
   CTA
===================== */
.google-reviews-section .google-reviews-cta{
  display:flex;
  justify-content:center;
  margin-top:40px;
}

.google-reviews-section .google-review-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:14px 34px;
  border-radius:999px;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  color:#fff !important;
  background:linear-gradient(135deg,#ff6a00,#ee0979);
  box-shadow:0 12px 28px rgba(255,106,0,.22);
  transition:all .3s ease;
}

.google-reviews-section .google-review-btn:hover{
  transform:translateY(-3px);
}

/* =====================
   MOBILE = 2
===================== */
@media (max-width:768px){
  .google-reviews-section{
    width:100%;
    margin:0;
    padding:40px 16px;
  }

  .google-reviews-track{
    grid-template-columns:repeat(2,1fr);
    gap:14px;
  }
}

  .google-reviews-section .google-review-card{
    min-height:220px;
    padding:16px;
    border-radius:20px;
  }

  .google-reviews-section .google-review-btn{
    width:90%;
    justify-content:center;
    font-size:14px;
    padding:14px 20px;
  }

/* ============================================================
   SUCCESS STORIES — RESTORED + FIXED (SAFE)
============================================================ */

.success-section {
  overflow-x: hidden;
  overflow-y: visible;
}

.success-slider-wrap {
  max-width: var(--content-max);
  margin: auto;
  padding:50px 0 50px;
  overflow: visible; /* allow hover pop */
}

/* STATIC HOLDER — DO NOT TRANSFORM */
.success-row{
  display:flex;
  overflow: visible !important;  /* <— IMPORTANT FIX */
}

/* MOVING TRACK — ONLY THIS MOVES */
.success-track {
  display: flex;
  gap: 22px;
  will-change: transform;
  flex-shrink: 0;
  flex-wrap: nowrap;
}

/* =====================
   CARD
===================== */
.success-card {
  width: calc(((var(--content-max) - 5 * 22px) / 5));
  min-width: 220px;
  background: #fff;
  border-radius: 22px;
  position: relative;
  overflow: visible;
  flex-shrink: 0;
  cursor: pointer;
  box-shadow: 0 8px 28px rgba(0,0,0,.08);

  /* reserve safe space so hover never clips */
  padding-top: 4px;

  /* stacking context */
  z-index: 1;

  transition:
    transform .45s cubic-bezier(.2,.9,.25,1),
    box-shadow .45s ease;
  transform-origin: center bottom;
}

/* Glow ring */
.success-card::before {
  content: "";
  position: absolute;
  inset: -14px;
  border-radius: 34px;
  background: linear-gradient(120deg,var(--sun1),var(--sun2),var(--sun3));
  opacity: 0;
  filter: blur(8px);
  z-index: -1;
  transition: opacity .45s ease;
}

/* Hover pop — adjusted to avoid crop */
.success-card:hover {
  transform: translateY(-12px) scale(1.06);  /* <— slightly reduced */
  box-shadow: 0 20px 48px rgba(0,0,0,.22);
  z-index: 100; /* <— always above */
}

.success-card:hover::before {
  opacity: .6;
}

/* =====================
   IMAGE
===================== */
.success-img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  border-radius: 22px 22px 0 0;
  display:block;              /* prevents height collapse */
  pointer-events:none;
  aspect-ratio: 4 / 5;  /* or 1/1 or 3/2 */
}

/* =====================
   FLAG
===================== */
.flag-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  position: absolute;
  top: 12px;
  right: 12px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.25);
  z-index: 3;
}

/* =====================
   BADGE
===================== */
.badge {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 26px;
  background: linear-gradient(90deg,var(--sun1),var(--sun2));
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity .35s ease;
}

.success-card:hover .badge {
  opacity: 0;
}

/* =====================
   INFO
===================== */
.success-info {
  padding: 14px 14px 36px;
}

.success-info h4 {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
}

.visa-type {
  color: var(--sun1);
  font-weight: 700;
  margin-top: 4px;
  font-size: 14px;
}

.success-desc {
  font-size: 13px;
  line-height: 1.5;
  color: #333;
  margin-top: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* =====================
   MOBILE
===================== */
@media (max-width: 600px){

  .success-card{
    width: 88vw;
    min-width: 88vw;
  }

  .success-card:hover{
    transform: translateY(-8px) scale(1.04);
  }

  .success-img{
    height: auto;
    object-fit: contain;
  }
}