* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
font-family: 'Inter', sans-serif;
background-color: white;
}

/* Header */
.top-bar {
background: #0a2540;
color: white;
font-size: 0.85rem;
padding: 6px 0;
}

.logo-area img {
max-height: 80px;
}

.cart-icon {
font-size: 1.6rem;
color: #0a2540;
position: relative;
}

.cart-badge {
position: absolute;
top: -8px;
right: -12px;
background: #e63946;
color: white;
border-radius: 50%;
width: 20px;
height: 20px;
font-size: 0.7rem;
display: flex;
align-items: center;
justify-content: center;
}

.navbar {
background: #F8E944 !important;
color: #1C1A1A !important;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.navbar-nav .nav-link {
font-weight: 600;
color: #1e2a3a !important;
margin: 0 6px;
}

.navbar-nav .nav-link:hover {
color: white !important;
background-color: black;
border-radius: 0.25em;
}

/* Botón flotante whatsapp */
.float-whats{
background:#25D366;
color:white;

width:60px;
height:60px;

border-radius:50%;

display:flex;
align-items:center;
justify-content:center;

font-size:40px;

text-decoration:none;

box-shadow:0 6px 18px rgba(0,0,0,.25);

transition:.3s ease;
}

.float-whats:hover {
background: #128C7E;
color: white;
}

@keyframes pulseText{
0%{
transform:scale(1);
}
50%{
transform:scale(1.03);
}
100%{
transform:scale(1);
}
}

/* MOBILE */
@media (max-width:768px){

.float-whats{
width:55px;
height:55px;
font-size:28px;
}
}

.whatsapp-container{
position:fixed;
right:25px;
bottom:25px;

display:flex;
align-items:center;
gap:6px;

z-index:1000;
}

.whatsapp-text{
background:gold;

color:#1C1A1A;

padding:10px 16px;

border-radius:30px;

font-size:14px;
font-weight:600;

box-shadow:0 4px 15px rgba(0,0,0,.15);

animation:pulseText 2s infinite;
}

/* Buscador principal */
.search-card {
border-radius: 24px;
color:white;
padding: 20px;
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
border: 1px solid #e9ecef;
background-color: #1C1A1A;
}

.search-card h2 {
font-size: 1.4rem;
font-weight: 700;
color: white;
border-left: 5px solid gold;
padding-left: 15px;
margin-bottom: 1.2rem;
}

.btn-orange {
background-color:#F8E944;
border: none;
color: white;
font-weight: 600;
padding: 10px 20px;
border-radius: 40px;
}

.btn-orange:hover {
background-color: black;
color: white;
}

.banner-img {
border-radius: 28px;
overflow: hidden;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

/* categorías */
.cat-card {
background: white;
border-radius: 24px;
padding: 18px 12px;
text-align: center;
transition: 0.2s;
border: 1px solid #eef2f6;
cursor: pointer;
}

.cat-card img {
max-width: 70px;
margin-bottom: 12px;
}

.cat-card h5 {
font-weight: 700;
margin-top: 8px;
font-size: 1rem;
}

.cat-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 20px rgba(0, 0, 0, 0.08);
border-color: #e67e22;
}

/* servicios */
.service-item {
background: white;
border-radius: 20px;
padding: 20px 12px;
text-align: center;
height: 100%;
transition: 0.2s;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.service-item i {
font-size: 2.4rem;
color: #e67e22;
margin-bottom: 12px;
}

/* footer */
footer {
background: #F8E944;
color: black;
padding-top: 3rem;
margin-top: 3rem;
}

footer h5 {
color: black;
font-weight: 700;
margin-bottom: 1rem;
}

footer a {
color: #bbb;
text-decoration: none;
}

footer a:hover {
color: #e67e22;
}

.social-icons a {
background: #1e3a5f;
display: inline-block;
width: 36px;
height: 36px;
line-height: 36px;
text-align: center;
border-radius: 50%;
margin-right: 8px;
transition: 0.2s;
}

.copyright {
background: black;
color:white;
padding: 1rem 0;
font-size: 0.8rem;
}

/* promociones owl */
.promo-card {
background: white;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 6px 14px rgba(0, 0, 0, 0.05);
margin: 10px;
}

.promo-card img {
width: 100%;
height: 180px;
object-fit: cover;
}

.promo-card .info {
padding: 15px;
}

.marcas-slider img {
filter: grayscale(0%);
transition: 0.2s;
margin: 10px auto;
max-height: 70px;
width: auto;
opacity: 0.7;
}

.marcas-slider img:hover {
opacity: 1;
}

.btn-outline-dark-custom {
border: 1px solid #e67e22;
color: #e67e22;
border-radius: 40px;
padding: 6px 20px;
font-weight: 500;
}

.btn-outline-dark-custom:hover {
background: #e67e22;
color: white;
}

.asesor-box {
background: #fef5e8;
border-radius: 20px;
padding: 20px;
}

@media (max-width: 768px) {
.logo-area img {
max-height: 55px;
}

.search-card {
margin-top: 20px;
}
}

.navbar .navbar-expand-lg .sticky-top:hover {
background-color: yellow !important;
}

.navbar .navbar-expand-lg .sticky-top #mainNav{

background-color: yellow;
}

.text-orange {
color: #e67e22
}

.btn-orange {
background: #F8E944;
border: none;
color:black
}

.btn-orange:hover {
background: black;
color:white;
}

.bg-orange-light {
background: #fef5e8
}

.rounded-4 {
border-radius: 1.25rem
}

.cart-icon {
cursor: pointer
}

.owl-nav button {
background: #e9ecef !important;
border-radius: 50% !important;
width: 35px;
height: 35px
}

.owl-prev,
.owl-next {
position: absolute;
top: 40%;
transform: translateY(-50%)
}

.owl-prev {
left: -20px
}

.owl-next {
right: -20px
}

@media (max-width:768px) {
.owl-prev {
left: -5px
}

.owl-next {
right: -5px
}

.navbar{
top: 0;
}

body{
padding-top: 0;
}
}

.marcas-slider .marca-item {
height: 120px;
display: flex;
align-items: center;
justify-content: center;
padding: 15px;
background: white;
border-radius: 12px;
margin: 5px;
box-shadow: -1px 1px 9px 0px rgba(25,25,21,0.88);
-webkit-box-shadow: -1px 1px 9px 0px rgba(25,25,21,0.88);
-moz-box-shadow: -1px 1px 9px 0px rgba(25,25,21,0.88);
}

.marcas-slider .marca-item img {
max-width: 100%;
max-height: 70px;
width: auto;
height: auto;
object-fit: contain;
transition: transform .3s ease;
}

.marcas-slider .marca-item img:hover {
transform: scale(1.05);
}

.payment-methods{
display:flex;
flex-wrap:wrap;
gap:14px;
align-items:center;
margin-top:15px;
}

.payment-methods img{
height:70px;
width:auto;
max-width:120px;
object-fit:contain;

padding:8px 12px;

background:rgba(255,255,255,1.15);

border-radius:12px;

transition:.3s ease;

box-shadow:0 3px 10px rgba(0,0,0,.15);
}

.payment-methods img:hover{
transform:scale(1.08);
}

.service-img{
width: 110px;
height: 110px;

object-fit: cover;

border-radius: 50%;

border: 1px solid black;

padding: 4px;

background: white;

box-shadow: 0 8px 20px rgba(0,0,0,.2);
}
.service-item {
background: white;
border-radius: 20px;
padding: 20px 12px;
text-align: center;
height: 100%;
transition: 0.2s;

border: 1px solid #eef2f6;

box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.service-item:hover{
transform: translateY(-5px);

border-color: #F8E944;

box-shadow: 0 10px 20px rgba(0,0,0,.12);
}

/* ===== TOP BAR ===== */

.top-bar{
background:#0a2540;
color:white;
font-size:.85rem;
padding:6px 0;

position:fixed;
top:0;
left:0;
width:100%;

z-index:1050;
}

/* ===== NAVBAR ===== */

.navbar{
background:#F8E944 !important;

box-shadow:0 2px 10px rgba(0,0,0,.05);

position:sticky;

top:32px;

z-index:1040;

padding:10px 0;
}

/* ===== BODY ===== */

body{
padding-top:32px;
}


.service-text{
display:flex;
align-items:center;
justify-content:center;
gap:8px;

font-size:15px;
color:#6c757d;

white-space:nowrap;
}

.service-text img{
width:60%;
height:60%;
object-fit:contain;
}
.title-highlight{

display:inline-block;

background: linear-gradient(135deg,#F8E944,#ffd000);

color:#1C1A1A;

padding:5px 28px;

border-radius:50px;

font-weight:400;

font-size:1.2rem;

box-shadow:0 6px 18px rgba(0,0,0,.12);

position:relative;

overflow:hidden;

transition:.3s ease;
}

.title-highlight:hover{

transform:translateY(-2px);

box-shadow:0 10px 24px rgba(0,0,0,.18);
}

.promo-card{
min-height: 100%;
}

.promo-card img{
height:120px;
object-fit:cover;
}

@media(max-width:768px){

.promo-card .info{
font-size:12px;
}

.promo-card img{
height:90px;
}
}

.promo-card{

background:white;

border-radius:20px;

overflow:hidden;

transition:.3s ease;

border:1px solid #f1f1f1;

box-shadow:0 6px 18px rgba(0,0,0,.08);

height:100%;
}

.promo-card:hover{

transform:translateY(-6px);

box-shadow:0 12px 28px rgba(0,0,0,.14);
}

.promo-card img{

width:100%;

height:180px;

object-fit:cover;
}

.promo-card .info{

text-align:center;

font-size:14px;

line-height:1.5;
background: gold;
}

.promo-card strong{

display:block;

font-size:18px;

margin-bottom:10px;

color:#1C1A1A;
}

.price-marquee {
    width: 100%;
    overflow: hidden;
    background: #000;
    border-top: 2px solid #f7c948;
    border-bottom: 2px solid #f7c948;
    padding: 12px 0;
    margin-bottom: 30px;
    position: relative;
    border-radius: 1.25em;
}

.price-marquee-content {
    display: inline-block;
    white-space: nowrap;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    animation: marqueeMove 18s linear infinite;
    padding-left: 100%;
    letter-spacing: 1px;
}

.price-highlight {
    color: #f7c948;
    font-size: 24px;
    margin: 0 10px;
    text-shadow: 0 0 10px rgba(247, 201, 72, 0.5);
}

@keyframes marqueeMove {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-100%);
    }
}



.navbar-toggler {
background: black !important;

}
/* =========================================================
   CUSTOMER REVIEWS - UNITAXIS
   ========================================================= */

.customer-reviews {
    position: relative;
    padding: 90px 20px;
    background: #f7f8fa;
    overflow: hidden;
}

/* Decoración de fondo */
.customer-reviews::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -180px;
    width: 420px;
    height: 420px;
    background: rgba(220, 38, 38, 0.06);
    border-radius: 50%;
}

.customer-reviews::after {
    content: "";
    position: absolute;
    bottom: -200px;
    left: -200px;
    width: 450px;
    height: 450px;
    background: rgba(220, 38, 38, 0.04);
    border-radius: 50%;
}

.customer-reviews .container {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
}


/* =========================================================
   TITULO
   ========================================================= */

.customer-reviews .section-title {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 55px;
}

.customer-reviews .section-title span {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 16px;
    border-radius: 50px;
    background: rgba(24, 119, 242, 0.8);
    color: white;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.customer-reviews .section-title h2 {
    margin: 0 0 14px;
    color: #151922;
    font-size: 40px;
    line-height: 1.15;
    font-weight: 800;
}

.customer-reviews .section-title p {
    margin: 0;
    color: #737985;
    font-size: 16px;
    line-height: 1.7;
}


/* =========================================================
   LISTA DE OPINIONES
   ========================================================= */

.reviews-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin-bottom: 65px;
}


/* =========================================================
   TARJETA DE OPINION
   ========================================================= */

.review-card {
    position: relative;
    padding: 30px;
    background: #ffffff;
    border: 1px solid #eceef2;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(20, 25, 35, 0.06);
    transition: all 0.3s ease;
}

.review-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 30px;
    width: 45px;
    height: 4px;
    background:black;
    border-radius: 0 0 5px 5px;
}

.review-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(20, 25, 35, 0.12);
}


/* Estrellas */

.review-card .stars {
    margin-bottom: 18px;
    color: #f5b301;
    font-size: 18px;
    letter-spacing: 2px;
}


/* Comentario */

.review-card p {
    position: relative;
    margin: 0 0 25px;
    color: #4f5663;
    font-size: 15px;
    line-height: 1.8;
}

.review-card p::before {
    content: "“";
    position: absolute;
    top: -22px;
    left: -4px;
    color: rgba(220, 38, 38, 0.12);
    font-family: Georgia, serif;
    font-size: 70px;
    font-weight: bold;
    z-index: 0;
}

.review-card strong {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #1b1f28;
    font-size: 15px;
}

.review-card strong::before {
    content: "";
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #dc2626;
}


/* =========================================================
   FORMULARIO
   ========================================================= */

.review-form-wrapper {
    max-width: 850px;
    margin: 0 auto;
    padding: 45px;
    background: #ffffff;
    border: 1px solid #e8eaf0;
    border-radius: 20px;
    box-shadow: 0 15px 45px rgba(20, 25, 35, 0.08);
}


/* Encabezado */

.review-form-header {
    text-align: center;
    margin-bottom: 35px;
}

.review-form-header h3 {
    margin: 0 0 10px;
    color: #171b24;
    font-size: 28px;
    font-weight: 800;
}

.review-form-header p {
    margin: 0;
    color: #777f8c;
    font-size: 15px;
}


/* =========================================================
   CAMPOS
   ========================================================= */

.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.review-form-wrapper .form-group {
    margin-bottom: 22px;
}

.review-form-wrapper .form-group > label {
    display: block;
    margin-bottom: 9px;
    color: #242936;
    font-size: 14px;
    font-weight: 700;
}

.review-form-wrapper input,
.review-form-wrapper textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    background: #fafbfc;
    border: 1px solid #dfe2e8;
    border-radius: 9px;
    color: #20242d;
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition: all 0.25s ease;
}

.review-form-wrapper input::placeholder,
.review-form-wrapper textarea::placeholder {
    color: #a4aab4;
}

.review-form-wrapper input:focus,
.review-form-wrapper textarea:focus {
    background: #ffffff;
    border-color: #dc2626;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, 0.08);
}

.review-form-wrapper textarea {
    min-height: 130px;
    resize: vertical;
}


/* =========================================================
   CALIFICACION
   ========================================================= */

.rating-group {
    padding: 20px;
    background: #fafbfc;
    border: 1px solid #eceef2;
    border-radius: 10px;
}

.rating {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 4px;
}

.rating input {
    display: none;
}

.rating label {
    color: #d6d9df;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
}

.rating label:hover,
.rating label:hover ~ label,
.rating input:checked ~ label {
    color: #f5b301;
    transform: scale(1.08);
}


/* =========================================================
   MENSAJE DE MODERACION
   ========================================================= */

.review-notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 5px 0 22px;
    padding: 13px 15px;
    background: #f5f7fa;
    border-left: 3px solid yellow;
    border-radius: 6px;
    color: #6c7380;
    font-size: 13px;
    line-height: 1.6;
}

.review-notice i {
    margin-top: 2px;
    color: orange;
}


/* =========================================================
   BOTON
   ========================================================= */

.review-submit {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 15px 25px;
    border: 0;
    border-radius: 9px;
    background: black;;
    color: #ffffff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(220, 38, 38, 0.22);
    transition: all 0.25s ease;
}

.review-submit:hover {
    background: #b91c1c;
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(220, 38, 38, 0.30);
}

.review-submit:active {
    transform: translateY(0);
}


/* =========================================================
   ERRORES
   ========================================================= */

.review-form-wrapper .text-danger {
    display: block;
    margin-top: 6px;
    color: #dc2626;
    font-size: 12px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 992px) {

    .reviews-list {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 768px) {

    .customer-reviews {
        padding: 65px 15px;
    }

    .customer-reviews .section-title h2 {
        font-size: 32px;
    }

    .reviews-list {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .review-form-wrapper {
        padding: 30px 22px;
        border-radius: 15px;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

}

@media (max-width: 480px) {

    .customer-reviews .section-title h2 {
        font-size: 27px;
    }

    .review-card {
        padding: 25px;
    }

    .review-form-header h3 {
        font-size: 24px;
    }

    .rating label {
        font-size: 30px;
    }

}

/* =========================================================
   UNITAXIS - TESTIMONIOS SLIDER
   ========================================================= */

.reviews-slider {
    position: relative;
    max-width: 950px;
    min-height: 300px;
    margin: 0 auto 65px;
    overflow: hidden;
    border-radius: 20px;
}


/* =========================================================
   SLIDES
   ========================================================= */

.review-slide {
    display: none;
    width: 100%;
    animation: reviewFade 0.6s ease;
}

.review-slide.active {
    display: block;
}

@keyframes reviewFade {
    from {
        opacity: 0;
        transform: translateX(25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


.customer-reviews {
    position: relative;
    padding: 85px 20px 95px;
    background: #f4f4f4;
    overflow: hidden;
}

.customer-reviews .container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}


/* =========================================================
   TITULO
   ========================================================= */

.customer-reviews .section-title {
    text-align: center;
    margin-bottom: 45px;
}

.customer-reviews .section-title .title-highlight {
    display: inline-block;
    padding: 8px 20px;

    background: #f5c400;
    color: #111;

    border-radius: 4px;

    font-size: 15px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;

    box-shadow: 0 5px 15px rgba(245, 196, 0, 0.25);
}


/* =========================================================
   SLIDER
   ========================================================= */

.reviews-slider {
    position: relative;

    width: 100%;
    max-width: 1250px;

    min-height: 390px;

    margin: 0 auto 70px;

    overflow: hidden;

    border-radius: 12px;

    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.20);
}


/* =========================================================
   SLIDES
   ========================================================= */

.review-slide {
    display: none;

    width: 100%;

    animation: reviewFade 0.6s ease;
}

.review-slide.active {
    display: block;
}

@keyframes reviewFade {

    from {
        opacity: 0;
        transform: translateX(35px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


/* =========================================================
   BANNER PRINCIPAL
   ========================================================= */

.review-banner {
    position: relative;

    min-height: 390px;

    padding: 65px 150px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            #080808 0%,
            #151515 55%,
            #222 100%
        );

    border: 1px solid #2c2c2c;

    overflow: hidden;
}


/* =========================================================
   LINEA AMARILLA SUPERIOR
   ========================================================= */

.review-banner::before {

    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 5px;

    background: #f5c400;

}


/* =========================================================
   DECORACION AMARILLA
   ========================================================= */

.review-banner::after {

    content: "";

    position: absolute;

    width: 450px;
    height: 450px;

    right: -250px;
    top: -220px;

    border-radius: 50%;

    border: 70px solid rgba(245, 196, 0, 0.04);

}


/* =========================================================
   COMILLAS
   ========================================================= */

.review-quote {

    position: absolute;

    top: 40px;
    left: 55px;

    z-index: 3;

    width: 65px;
    height: 65px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: #f5c400;

    color: #111;

    border-radius: 50%;

    font-size: 25px;

    box-shadow:
        0 8px 25px rgba(245, 196, 0, 0.25);

}


/* =========================================================
   ESTRELLAS
   ========================================================= */

.review-banner .stars {

    position: relative;

    z-index: 3;

    margin-bottom: 22px;

    color: #f5c400;

    font-size: 26px;

    letter-spacing: 5px;

    text-shadow:
        0 2px 12px rgba(245, 196, 0, 0.25);

}


/* =========================================================
   COMENTARIO
   ========================================================= */

.review-message {

    position: relative;

    z-index: 3;

    width: 100%;

    max-width: 900px;

    margin: 0 auto 32px;

    color: #ffffff;

    font-size: 24px;

    font-weight: 400;

    line-height: 1.7;

}


/* =========================================================
   AUTOR
   ========================================================= */

.review-author {

    position: relative;

    z-index: 3;

    display: flex;

    align-items: center;

    gap: 13px;

    text-align: left;

}


/* Avatar */

.review-avatar {

    width: 50px;
    height: 50px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: #f5c400;

    color: #111;

    border-radius: 50%;

    font-size: 19px;

    font-weight: 900;

    box-shadow:
        0 5px 18px rgba(245, 196, 0, 0.25);

}


/* Nombre */

.review-author strong {

    display: block;

    color: #ffffff;

    font-size: 16px;

    font-weight: 800;

}


/* Cliente */

.review-author span {

    display: block;

    margin-top: 3px;

    color: #f5c400;

    font-size: 12px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 0.5px;

}


/* =========================================================
   FLECHAS
   ========================================================= */

.review-arrow {

    position: absolute;

    top: 50%;

    z-index: 10;

    width: 52px;
    height: 52px;

    display: flex;

    align-items: center;
    justify-content: center;

    transform: translateY(-50%);

    border: 2px solid rgba(245, 196, 0, 0.6);

    border-radius: 50%;

    background: rgba(0, 0, 0, 0.65);

    color: #f5c400;

    font-size: 17px;

    cursor: pointer;

    transition: all 0.25s ease;

}


/* Hover */

.review-arrow:hover {

    background: #f5c400;

    border-color: #f5c400;

    color: #111;

    transform:
        translateY(-50%)
        scale(1.08);

    box-shadow:
        0 5px 20px rgba(245, 196, 0, 0.25);

}


.review-prev {
    left: 25px;
}

.review-next {
    right: 25px;
}


/* =========================================================
   INDICADORES
   ========================================================= */

.review-dots {

    position: absolute;

    bottom: 20px;
    left: 50%;

    z-index: 10;

    display: flex;

    gap: 8px;

    transform: translateX(-50%);

}


.review-dot {

    width: 9px;
    height: 9px;

    padding: 0;

    border: none;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.30);

    cursor: pointer;

    transition: all 0.25s ease;

}


.review-dot.active {

    width: 28px;

    border-radius: 10px;

    background: #f5c400;

}


/* =========================================================
   SIN OPINIONES
   ========================================================= */

.reviews-empty {

    width: 100%;

    min-height: 250px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;

    background: #111;

    color: #fff;

    border-radius: 12px;

}


.reviews-empty i {

    margin-bottom: 15px;

    color: #f5c400;

    font-size: 42px;

}


.reviews-empty h3 {

    margin: 0 0 8px;

    color: #fff;

    font-size: 22px;

}


.reviews-empty p {

    margin: 0;

    color: #aaa;

}


/* =========================================================
   FORMULARIO
   ========================================================= */

.review-form-wrapper {

    width: 100%;

    max-width: 1000px;

    margin: 0 auto;

    padding: 45px;

    background: #ffffff;

    border: 3px solid yellow;;

    border-radius: 14px;

    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.08);

}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .reviews-slider {
        max-width: 100%;
    }

    .review-banner {
        padding: 65px 100px;
    }

    .review-message {
        font-size: 21px;
    }

}


@media (max-width: 768px) {

    .customer-reviews {
        padding: 65px 15px 75px;
    }

    .review-banner {

        min-height: 370px;

        padding: 65px 55px 60px;

    }

    .review-message {

        font-size: 18px;

        line-height: 1.6;

    }

    .review-banner .stars {

        font-size: 21px;

        letter-spacing: 3px;

    }

    .review-quote {

        top: 20px;
        left: 20px;

        width: 48px;
        height: 48px;

        font-size: 18px;

    }

    .review-arrow {

        width: 42px;
        height: 42px;

    }

    .review-prev {
        left: 10px;
    }

    .review-next {
        right: 10px;
    }

    .review-form-wrapper {
        padding: 30px 22px;
    }

}


@media (max-width: 480px) {

    .review-banner {

        min-height: 380px;

        padding: 65px 45px 60px;

    }

    .review-message {

        font-size: 16px;

    }

    .review-banner .stars {

        font-size: 18px;

    }

    .review-author {

        justify-content: center;

    }

}
.reviews-counter {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;

    margin: -5px auto 30px;

    font-size: 16px;
    color: #555;
}

.reviews-counter i {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    background: #f5c400;
    color: #111;

    border-radius: 50%;

    font-size: 17px;
}

.reviews-counter strong {
    font-size: 24px;
    font-weight: 800;
    color: #111;
}

.reviews-counter span {
    font-weight: 500;
}
