/* Testimonial Card */
.liv-card {
    border: 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    position: relative;
    max-width: 600px;
    margin: auto;
    padding: 1rem 1.5rem 10rem 1.5rem;  /* Adjust bottom padding to 9rem */
}

/* Testimonial Quote */
.liv-card .liv-quote {
    font-size: 1.25rem;
    font-style: italic;
    text-align: center;
    margin-bottom: 1rem;
    margin-top: 0;
}

/* Author Section */
.liv-card .liv-author-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 1rem;
    z-index: 10;  /* Ensures the text is above the image */
}

/* Author Image */
.liv-card .liv-author-img {
    border-radius: 50%;
    width: 100px;
    height: 100px;
    object-fit: cover;
    margin-bottom: 1rem; /* Pushes image down */
}

/* Author Info */
.liv-card .liv-author-info {
    text-align: right;
    margin-left: auto;
    margin-right: 1rem;
}

/* Author Name */
.liv-card .liv-author-info strong {
    font-size: 1.2rem;
}

/* Author Title */
.liv-card .liv-author-info small {
    color: #6c757d;
}

/* Author Rating */
.liv-card .liv-author-info .liv-rating {
    color: #ffcc00;
}

/* Responsive Styles for Small Devices */
@media (max-width: 768px) {
    .liv-card {
        padding: 1rem;  /* Adjust padding for smaller screens */
    }

    .liv-card .liv-author-section {
        position: relative;
        flex-direction: column;
        text-align: center;
        padding-bottom: 2rem;
    }

    .liv-card .liv-author-img {
        width: 80px;
        height: 80px;
        margin-bottom: 1rem;
    }

    .liv-card .liv-author-info {
        text-align: center;
        margin-left: 0;
        margin-right: 0;
    }

    .liv-card .liv-quote {
        font-size: 1rem;
    }
}


/* ensure same spacing as the Cheryl design intended */
.liv-author-section {
  padding-left: 1.5rem;  /* BS5 px-4 equivalent */
  padding-right: 1.5rem; /* BS5 px-4 equivalent */
}

/* muted text utility (BS5 .text-muted analogue) */
.liv-text-muted { color: #6c757d; }

/* keep for clarity: our component already has 9rem bottom padding */
.liv-card {
  padding: 1rem 1.5rem 9rem 1.5rem;
}

/* Mobile behavior stays the same (stacked, smaller avatar) */
@media (max-width: 768px) {
  .liv-card { padding: 1rem; }
  .liv-author-section {
    position: relative;
    flex-direction: column;
    text-align: center;
    padding-left: 1rem;   /* slightly tighter on mobile */
    padding-right: 1rem;
    padding-bottom: 2rem;
  }
  .liv-author-img { width: 80px; height: 80px; }
  .liv-author-info { text-align: center; margin-left: 0; margin-right: 0; }
  .liv-quote { font-size: 1rem; }
  .liv-card-top-magin {margin-top: 1rem;}
}
/* Spacing/utilities used in your snippet */
.liv-text-center { text-align: center; }
.liv-text-end { text-align: right; }
.liv-mb-3 { margin-bottom: 1rem; }
.liv-px-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
.liv-pb-3 { padding-bottom: 1rem; }
.liv-rounded { border-radius: .5rem; } /* for square-rounded corners */
.liv-border-0 { border: 0; }
.liv-shadow { box-shadow: 0 2px 10px rgba(0,0,0,.1); }
.liv-position-relative { position: relative; }
.liv-position-absolute { position: absolute; }
.liv-bottom-0 { bottom: 0; }
.liv-start-0 { left: 0; }
.liv-end-0 { right: 0; }
.liv-d-flex { display: -webkit-box; display: -ms-flexbox; display: flex; }
.liv-justify-content-between { -ms-flex-pack: justify; justify-content: space-between; }
.liv-align-items-center { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.liv-fs-5 { font-size: 1.25rem; }
.liv-fst-italic { font-style: italic; }
.liv-ms-auto { margin-left: auto; }
.liv-me-3 { margin-right: 1rem; }
.liv-card-top-magin {margin-top: 5rem;}
