/*******************************/
/********* General CSS *********/
/*******************************/
body {
    color: #444444;
    font-weight: 400;
    background: #000000;
    font-family: 'Barlow', sans-serif;
}

@font-face {
  font-family: 'Lovelo';
  src: url('fonts/Lovelo-Black.woff2') format('woff2'),
       url('fonts/Lovelo-Black.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

h1,
h2, 
h3, 
h4,
h5, 
h6 {
    color: #fffffff8;
}

a {
    color: #000000;
    transition: .3s;
}

a:hover,
a:active,
a:focus {
    color: #D3080C;
    outline: none;
    text-decoration: none;
}

.btn.btn-custom {
    padding: 10px 30px 12px 30px;
    text-align: center; 
    font-size: 16px;
    font-weight: 500;
    color: #ffffff;
    background: #D3080C;
    border: none;
    border-radius: 60px;
    box-shadow: inset 0 0 0 0 #202C45;
    transition: ease-out 0.5s;
    -webkit-transition: ease-out 0.5s;
    -moz-transition: ease-out 0.5s;
}

.btn.btn-custom:hover {
    color: #D3080C;
    background: #202C45;
    box-shadow: inset 200px 0 0 0 #202C45;
}

.btn:focus,
.form-control:focus {
    box-shadow: none;
}

.container-fluid {
    max-width: 1366px;
}

[class^="flaticon-"]:before, [class*=" flaticon-"]:before,
[class^="flaticon-"]:after, [class*=" flaticon-"]:after {   
    font-size: inherit;
    margin-left: 0;
}


/**********************************/
/****** Loader & Back to Top ******/
/**********************************/
#loader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .3s ease-out, visibility 0s linear .3s;
    -o-transition: opacity .3s ease-out, visibility 0s linear .3s;
    transition: opacity .3s ease-out, visibility 0s linear .3s;
    z-index: 999;
}

#loader.show {
    -webkit-transition: opacity .6s ease-out, visibility 0s linear 0s;
    -o-transition: opacity .6s ease-out, visibility 0s linear 0s;
    transition: opacity .6s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}

#loader .loader {
    position: relative;
    width: 45px;
    height: 45px;
    border: 5px solid #dddddd;
    border-top: 5px solid #D3080C;
    border-radius: 50%;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.back-to-top {
    position: fixed;
    display: none;
    width: 44px;
    height: 44px;
    text-align: center;
    line-height: 1;
    font-size: 22px;
    right: 15px;
    bottom: 15px;
    transition: .5s;
    background: #D3080C;
    border-radius: 44px;
    z-index: 9;
}

.back-to-top i {
    color: #ffffff;
    padding-top: 10px;
}

.back-to-top:hover i {
    color: #000000;
    padding-top: 10px;
}

.back-to-top:hover {
    background: #fcfcfc;
}


/**********************************/
/********** Top Bar CSS ***********/
/**********************************/
.top-bar {
    position: relative;
    height: 75px;
    display: flex;
    align-items: center;
    background: #000000;
}

.top-bar .logo {
    display: flex;
    align-items: center;
}

.top-bar .logo img {
    max-width: 100%;
    max-height: 100px;
}


.top-bar .top-bar-item {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.top-bar .top-bar-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #960c0c;
    border-radius: 40px;
}

.top-bar .top-bar-icon i {
    margin: 0;
    color: #ffffff;
    font-size: 16px;
}

.top-bar .top-bar-text {
    padding-left: 15px;
    color: white;
}

.top-bar .top-bar-text h3 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 600;
}

.top-bar .top-bar-text p {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
}

@media (max-width: 991.98px) {
    .top-bar .logo {
        text-align: center;
    }
}


/**********************************/
/*********** Nav Bar CSS **********/
/**********************************/
.nav-bar {
    position: relative;
    /*background: #D3080C;*/
    background: #000000;
}

.nav-bar.nav-sticky {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .3);
    z-index: 999;
}

.nav-bar .navbar {
    padding: 20px 0;
    background: #000000 !important;
    transition: .3s;
}

.nav-bar.nav-sticky .navbar {
    padding: 5px 0;
}

.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
    color: #ffffff;
    padding: 15px;
    font-weight: 600;
    font-size: larger;
    letter-spacing: 1px;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
    color: #ff0000;
}

.nav-bar .dropdown-menu {
    margin-top: 0;
    border: 0;
    border-radius: 0;
    background: #f8f9fa;
}

.nav-bar .btn.btn-custom {
    color: #000000;
    background: #ffffff;
    box-shadow: inset 0 0 0 0 #D3080C;
}

.nav-bar .btn:hover {
    color: #ffffff;
    background: #D3080C;
    box-shadow: inset 200px 0 0 0 #D3080C;
}
/*
@media (min-width: 992px) {
    .nav-bar .navbar-brand {
        display: none;
    }
}
*/

@media (max-width: 991.98px) {
    .navbar-dark .navbar-nav .nav-link,
    .navbar-dark .navbar-nav .nav-link:focus,
    .navbar-dark .navbar-nav .nav-link:hover,
    .navbar-dark .navbar-nav .nav-link.active {
        padding: 5px 0;
    }
    
    .nav-bar .dropdown-menu {
        box-shadow: none;
    }
    
    .nav-bar .btn {
        display: none;
    }
}


/*******************************/
/********** Hero CSS ***********/
/*******************************/
.carousel {
    position: relative;
    width: 100%;
    min-height: 300px;
    background: #ffffff;
    margin-bottom: 45px;
}

.carousel .container-fluid {
    padding: 0;
}

.carousel .carousel-item {
    position: relative;
    width: 100%;
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.carousel .carousel-img {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 300px;
    text-align: right;
    overflow: hidden;
}

.carousel .carousel-img::after {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 1;
}

.carousel .carousel-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.carousel .carousel-text {
    position: absolute;
    max-width: 700px;
    padding: 0 90px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 2;
}

.carousel .carousel-text h3 {
    color: #D3080C;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 0px;
}

.carousel .carousel-text h1 {
    color: #ffffff;
    font-size: 90px;
    font-weight: 700;
    margin-bottom: 20px;
    text-transform: capitalize;
}

.carousel .carousel-text p {
    max-width: 500px;
    color: #ffffff;
    font-size: 18px;
    margin-bottom: 40px;
}

.carousel .btn.btn-custom {
    padding: 20px 45px 22px 45px;
    color: #ffffff;
}

.carousel .btn.btn-custom:hover {
    color: #D3080C;
}

.carousel .owl-nav {
    position: absolute;
    width: 100%;
    height: 50px;
    top: calc(50% - 25px);
    left: 0;
    display: flex;
    justify-content: space-between;
    z-index: 9;
}

.carousel .owl-nav .owl-prev,
.carousel .owl-nav .owl-next {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    border-radius: 50px;
    background: rgba(256, 256, 256, .2);
    font-size: 22px;
    transition: .5s;
}

.carousel .owl-nav .owl-prev {
    margin-left: 10px;
}

.carousel .owl-nav .owl-next {
    margin-right: 10px;
}

.carousel .owl-nav .owl-prev:hover,
.carousel .owl-nav .owl-next:hover {
    color: #ffffff;
    background: #D3080C;
}

.carousel .animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
}

@media (max-width: 991.98px) {
    .carousel .carousel-text h3 {
        margin-bottom: 5px;
    }
    
    .carousel .carousel-text h1 {
        font-size: 60px;
    }
    
    .carousel .carousel-text p {
        font-size: 16px;
    }
    
    .carousel .carousel-text .btn {
        padding: 12px 30px;
        font-size: 15px;
        letter-spacing: 0;
    }
}

@media (max-width: 767.98px) {
    .carousel .carousel-text h3 {
        font-size: 18px;
        letter-spacing: 2px;
        margin-bottom: 15px;
    }
    
    .carousel .carousel-text h1 {
        font-size: 45px;
    }
    
    .carousel .carousel-text .btn {
        padding: 10px 25px;
        font-size: 15px;
        letter-spacing: 0;
    }
}

@media (max-width: 575.98px) {
    .carousel .carousel-text h3 {
        font-size: 14px;
        letter-spacing: 1px;
        margin-bottom: 10px;
    }
    
    .carousel .carousel-text h1 {
        font-size: 30px;
        margin-bottom: 15px;
    }
    
    .carousel .carousel-text p {
        margin-bottom: 25px;
    }
    
    .carousel .carousel-text .btn {
        padding: 8px 20px;
        font-size: 14px;
        letter-spacing: 0;
    }
}


/*******************************/
/******* Page Header CSS *******/
/*******************************/
.page-header {
    position: relative;
    margin-bottom: 45px;
    padding: 90px 0;
    text-align: center;
    background: #000000;
}

.page-header h2 {
    position: relative;
    color: #ffffff;
    font-size: 60px;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 5px;
}

.page-header h2::after {
    position: absolute;
    content: "";
    width: 100px;
    height: 2px;
    left: calc(50% - 50px);
    bottom: 0;
    background: #ffffff;
}

.page-header a {
    position: relative;
    padding: 0 12px;
    font-size: 22px;
    color: #ffffff;
}

.page-header a:hover {
    color: #D3080C;
}

.page-header a::after {
    position: absolute;
    content: "/";
    width: 8px;
    height: 8px;
    top: -2px;
    right: -7px;
    text-align: center;
    color: #ffffff;
}

.page-header a:last-child::after {
    display: none;
}

@media (max-width: 991.98px) {
    .page-header {
        padding: 60px 0;
    }
    
    .page-header h2 {
        font-size: 45px;
    }
    
    .page-header a {
        font-size: 20px;
    }
}

@media (max-width: 767.98px) {
    .page-header {
        padding: 45px 0;
    }
    
    .page-header h2 {
        font-size: 35px;
    }
    
    .page-header a {
        font-size: 18px;
    }
}


/*******************************/
/******* Section Header ********/
/*******************************/
.section-header {
    position: relative;
    width: 100%;
    max-width: 700px;
    margin: 0 auto 45px auto;
}

.section-header p {
    display: inline-block;
    margin-bottom: 10px;
    padding-bottom: 5px;
    position: relative;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #D3080C;
}

.section-header p::after {
    position: absolute;
    content: "";
    width: 50%;
    height: 2px;
    left: 25%;
    bottom: 0;
    background: #D3080C;
}

.section-header.text-left p::after {
    left: 0;
}

.section-header.text-right p::after {
    left: 50%;
}

.section-header h2 {
    margin: 0;
    font-size: 45px;
    font-weight: 700;
    text-transform: capitalize;
}

@media (max-width: 991.98px) {
    .section-header h2 {
        font-size: 45px;
    }
}

@media (max-width: 767.98px) {
    .section-header h2 {
        font-size: 40px;
    }
}

@media (max-width: 575.98px) {
    .section-header h2 {
        font-size: 35px;
    }
}


/*******************************/
/********** About CSS **********/
/*******************************/
.about {
    position: relative;
    width: 100%;
    padding: 45px 0 15px 0;
}

.about .section-header {
    margin-bottom: 30px;
    margin-left: 0;
}

.about .about-img img {
    width: 100%;
    border-radius: 5px;
    margin-bottom: 30px;
}

.about .about-content {
    margin-bottom: 30px;
    color: white;
}

.about .about-content ul {
    margin: 0;
    padding: 0;
    list-style: none;
    margin-bottom: 25px;
}

.about .about-content ul li {
    margin-bottom: 5px;
    color: white;
}

.about .about-content ul li i {
    margin-right: 8px;
    color: #D3080C;
}


/*******************************/
/********* Service CSS *********/
/*******************************/
.service {
    position: relative;
    width: 100%;
    padding: 45px 0 0 0;
}

.service .service-item {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 45px;
    color: white;
}

.service .service-item i {
    color: #ffffff;
    font-size: 75px;
    line-height: 75px;
    margin-bottom: 20px;
}

.service .service-item [class^="flaticon-"]::before {
    margin: 0;
    font-size: 60px;
    line-height: 60px;
    background-image: linear-gradient(#D3080C, #fdfdff);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: .5s;
}

.service .service-item h3 {
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1px;
}

.service .service-item p {
    margin: 0;
}





.price {
    position: relative;
    width: 100%;
    padding: 45px 0 0 0;
    background: black;
}

.price .section-header {
    margin-bottom: 50px;
}

.price .section-header p,
.price .section-header h2 {
    color: #ffffff;
}

.price .row {
    padding: 0;
}

.price .price-item {
    position: relative;
    background: transparent;
    text-align: left;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid #2a2a2a;
    margin: 15px;
    border-radius: 2px;
    overflow: visible;
    transition: border-color 0.4s ease, transform 0.4s ease;
}

.price .price-item::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 4px;
    height: 0;
    background: #D3080C;
    transition: height 0.4s ease;
    z-index: 2;
}

.price .price-item:hover::before {
    height: 100%;
}

.price .price-item:hover {
    border-color: #D3080C;
    transform: translateY(-6px);
}

.price .featured-item {
    background: #0d0d0d;
    border-color: #D3080C;
    transform: translateY(-6px);
}

.price .featured-item::before {
    height: 100%;
}



.price .price-header {
    padding: 45px 40px 25px;
    position: relative;
}

.price .price-header h3 {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #666666;
    margin-bottom: 20px;
    transition: color 0.3s ease;
}

.price .price-item:hover .price-header h3,
.price .featured-item .price-header h3 {
    color: #D3080C;
}

.price .price-header h2 {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 90px;
    font-weight: 900;
    line-height: 1;
    color: #ffffff;
    margin: 0 0 5px 0;
    font-style: italic;
    transition: color 0.3s ease;
}

.price .price-item:hover .price-header h2,
.price .featured-item .price-header h2 {
    color: #ffffff;
}

.price .price-header h2 span {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    margin-right: 3px;
    color: #D3080C;
    font-style: normal;
}

.price .price-header .price-divider {
    width: 40px;
    height: 2px;
    background: #2a2a2a;
    margin-top: 20px;
    transition: width 0.4s ease, background 0.4s ease;
}

.price .price-item:hover .price-divider,
.price .featured-item .price-divider {
    width: 80px;
    background: #D3080C;
}

.price-subtitle {
    display: none;
}

.price .price-body {
    padding: 25px 40px;
    flex: 1;
}

.price .price-body ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.price .price-body ul li {
    padding: 9px 0;
    font-size: 14px;
    color: #888888;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border-bottom: none;
    transition: color 0.3s ease;
}

.price .price-item:hover .price-body ul li,
.price .featured-item .price-body ul li {
    color: #cccccc;
}

.price .price-body ul li i {
    margin: 0;
    margin-top: 2px;
    flex-shrink: 0;
}

.price .price-body ul li i.fa-check-circle {
    color: #D3080C;
    font-size: 16px;
}

.price .price-body ul li i.fa-times-circle {
    color: #333333;
    font-size: 16px;
}

.price .price-item .price-footer {
    padding: 10px 40px 45px;
}

.price .price-item .price-footer .btn.btn-custom {
    width: 100%;
    color: #ffffff;
    background: transparent;
    border: 1px solid #333333;
    border-radius: 0;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 16px 30px;
    box-shadow: none;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.price .price-item .price-footer .btn.btn-custom:hover {
    color: #ffffff;
    background: #D3080C;
    border-color: #D3080C;
    box-shadow: none;
}

.price .price-item.featured-item .price-footer .btn.btn-custom {
    color: #ffffff;
    background: #D3080C;
    border-color: #D3080C;
}

.price .price-item.featured-item .price-footer .btn.btn-custom:hover {
    background: #c0101f;
    border-color: #c0101f;
    color: #ffffff;
    box-shadow: none;
}

@media (max-width: 991.98px) {
    .price .price-item {
        margin: 10px 15px;
        transform: none !important;
    }

    .price .featured-item {
        transform: none !important;
    }

    .price .price-header {
        padding: 30px 25px 20px;
    }

    .price .price-body {
        padding: 15px 25px;
    }

    .price .price-item .price-footer {
        padding: 10px 25px 30px;
    }

    .price .price-header h2 {
        font-size: 65px;
    }
}


/*******************************/
/******** Location CSS *********/
/*******************************/
.location {
    position: relative;
    width: 100%;
    padding: 45px 0;
}

.location .location-item {
    display: flex;
    margin-bottom: 30px;
}

.location .location-item i {
    padding-top: 3px;
    font-size: 30px;
    color: #D3080C;
}

.location .location-text {
    padding-left: 15px;
}

.location .location-text h3 {
    font-size: 18px;
    font-weight: 700;
}

.location .location-text p {
    margin-bottom: 5px;
    color: white;
}

.location .location-text p strong {
    margin-right: 5px;
    font-weight: 600;
}

.location .location-form {
    padding: 45px 30px;
    background: #D3080C;
    border-radius: 5px;
}

.location .location-form h3 {
    color: #ffffff;
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 25px;
}

.location .location-form .control-group {
    margin-bottom: 15px;
}

.location .location-form .form-control {
    height: 45px;
    color: #ffffff;
    padding: 0 15px;
    border-radius: 5px;
    border: 1px solid #ffffff;
    background: transparent;
}

.location .location-form textarea.form-control {
    height: 120px;
    padding: 15px;
}

.location .location-form .form-control::placeholder {
    color: #ffffff;
    opacity: 1;
}

.location .location-form .form-control:-ms-input-placeholder,
.location .location-form .form-control::-ms-input-placeholder {
    color: #ffffff;
}

.location .location-form .btn.btn-custom {
    width: 100%;
    color: #D3080C;
    background: #ffffff;
    box-shadow: inset 0 0 0 0 #fbfcff;
}

.location .location-form .btn.btn-custom:hover {
    color: #ffffff;
    background: #D3080C;
    box-shadow: inset 400px 0 0 0 #f4f5f5;
}

@media(min-width: 576px) and (max-width: 991.89px) {
    .location .location-form .btn.btn-custom:hover {
        box-shadow: inset 650px 0 0 0 #eff0f1;
    }
}



/*******************************/
/*********** Blog CSS **********/
/*******************************/
.blog {
    position: relative;
    width: 100%;
    padding: 45px 0 0 0;
}

.blog .blog-item {
    margin-bottom: 45px;
}

.blog-img {
    position: relative;
    overflow: hidden;
    height: 250px;
}

.blog-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog .meta-date {
    position: absolute;
    width: 70px;
    height: 70px;
    bottom: 10%;
    left: calc(50% - 35px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 70px;
    background: #000000;
    color: #ffffff;
    opacity: 0;
    transition: .5s;
}

.blog .meta-date span {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 1px;
}

.blog .meta-date strong {
    font-size: 16px;
    font-weight: 700;
    line-height: 16px;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.blog .blog-item:hover .meta-date {
    bottom: calc(50% - 35px);
    opacity: 1;
}

.blog .blog-text {
    padding: 25px 0 20px 0;
    color: white;
}

.blog .blog-text h3 {
    font-size: 22px;
    font-weight: 700;
    color: red;
}

.blog .blog-text h3 a {
    color: #ffffff;
}

.blog .blog-text h3 a:hover {
    color: #D3080C;
}

.blog .blog-text p {
    margin: 0;
}

.blog .blog-meta {
    display: flex;
}

.blog .blog-meta p {
    margin: 0;
    font-size: 14px;
    line-height: 14px;
    padding: 0 10px;
    border-right: 1px solid rgba(0, 0, 0, .15);
}

.blog .blog-meta p:first-child {
    padding-left: 0;
}

.blog .blog-meta p:last-child {
    padding-right: 0;
    border: none;
}

.blog .blog-meta i {
    color: #999999;
    margin-right: 5px;
}

.blog .blog-meta a {
    color: #999999;
}

.blog .blog-meta a:hover {
    color: #D3080C;
}

.blog .pagination {
    margin-bottom: 15px;
}

.blog .pagination .page-link {
    color: #ffffff;
    border-radius: 0;
    border-color: #f7faff;
}

.blog .pagination .page-link:hover,
.blog .pagination .page-item.active .page-link {
    color: #D3080C;
    background: #000000;
}

.blog .pagination .disabled .page-link {
    color: #999999;
}


/*******************************/
/********* Contact CSS *********/
/*******************************/
.contact {
    position: relative;
    width: 100%;
    padding: 45px 0;
}

.contact .contact-info {
    width: 100%;
    margin-bottom: 45px;
    padding: 35px 30px 10px 30px;
    border-radius: 5px;
    background: #020202;
    
}

.contact .contact-info h2 {
    color: #ffffff;
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 30px;
}

.contact .contact-info-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 30px;
}

.contact .contact-info-icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 50px;
}

.contact .contact-info-icon i {
    margin: 0;
    color: #202C45;
    font-size: 16px;
}

.contact .contact-info-text {
    padding-left: 20px;
}

.contact .contact-info-text h3 {
    margin: 0 0 5px 0;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
}

.contact .contact-info-text p {
    margin: 0;
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
}

.contact .contact-form {
    position: relative;
    width: 100%;
    margin-bottom: 45px;
}

.contact .contact-form input {
    padding: 15px;
    border-radius: 5px;
    border: 1px solid #202C45;
}

.contact .contact-form textarea {
    height: 125px;
    padding: 8px 15px;
    border-radius: 5px;
    border: 1px solid #202C45;
}

.contact .help-block ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.contact iframe {
    width: 100%;
    height: 400px;
    border-radius: 5px;
}


/*******************************/
/******* Single Post CSS *******/
/*******************************/
.single {
    position: relative;
    padding: 45px 0;
}

.single .single-content {
    position: relative;
    margin-bottom: 30px;
    overflow: hidden;
}

.single .single-content img {
    margin-bottom: 20px;
    width: 100%;
    border-radius: 5px;
}

.single .single-tags {
    margin: -5px -5px 41px -5px;
    font-size: 0;
}

.single .single-tags a {
    margin: 5px;
    display: inline-block;
    padding: 7px 15px;
    font-size: 14px;
    font-weight: 500;
    color: #202C45;
    border: 1px solid #202C45;
    border-radius: 5px;
}

.single .single-tags a:hover {
    color: #ffffff;
    background: #D3080C;
    border-color: #D3080C;
}

.single .single-bio {
    padding: 30px;
    background: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 5px;
}

.single .single-bio-img {
    width: 100%;
    max-width: 115px;
    padding: 15px;
    background: #ffffff;
    border-radius: 100px;
    margin-bottom: 20px;
}

.single .single-bio-img img {
    width: 100%;
    border-radius: 100px;
}

.single .single-bio-text {
    text-align: center;
}

.single .single-bio-text h3 {
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1px;
}

.single .single-bio-text p {
    color: #ffffff;
    margin: 0;
}

.single .single-bio-social {
    margin-top: 20px;
    display: flex;
}

.single .single-bio-social a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #202C45;
    background: #ffffff;
    border-radius: 40px;
    margin-right: 5px;
    transition: .5s;
}

.single .single-bio-social a:last-child {
    margin: 0;
}

.single .single-bio-social a:hover {
    color: #ffffff;
    background: #D3080C;
}

.single .single-related {
    margin-bottom: 45px;
}

.single .single-related h2 {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 25px;
}

.single .related-slider {
    position: relative;
    margin: 0 -15px;
    width: calc(100% + 30px);
}

.single .related-slider .post-item {
    margin: 0 15px;
}

.single .post-item {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.single .post-item .post-img {
    width: 100%;
    max-width: 80px;
}

.single .post-item .post-img img {
    width: 100%;
    border-radius: 5px;
}

.single .post-item .post-text {
    padding-left: 15px;
}

.single .post-item .post-text a {
    font-size: 17px;
    font-weight: 500;
}

.single .post-item .post-text a:hover {
    color: #D3080C;
}

.single .post-item .post-meta {
    display: flex;
    margin-top: 8px;
}

.single .post-item .post-meta p {
    display: inline-block;
    margin: 0;
    padding: 0 3px;
    font-size: 14px;
    font-weight: 400;
    font-style: italic;
}

.single .post-item .post-meta p a {
    margin-left: 5px;
    color: #777777;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
}

.single .related-slider .owl-nav {
    position: absolute;
    width: 90px;
    top: -55px;
    right: 15px;
    display: flex;
}

.single .related-slider .owl-nav .owl-prev,
.single .related-slider .owl-nav .owl-next {
    margin-left: 15px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #000000;
    border-radius: 5px;
    font-size: 16px;
    transition: .3s;
}

.single .related-slider .owl-nav .owl-prev:hover,
.single .related-slider .owl-nav .owl-next:hover {
    color: #ffffff;
    background: #D3080C;
}

.single .single-comment {
    position: relative;
    margin-bottom: 45px;
}

.single .single-comment h2 {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 25px;
}

.single .comment-list {
    list-style: none;
    padding: 0;
}

.single .comment-child {
    list-style: none;
}

.single .comment-body {
    display: flex;
    margin-bottom: 30px;
}

.single .comment-img {
    width: 60px;
}

.single .comment-img img {
    width: 100%;
    border-radius: 60px;
}

.single .comment-text {
    padding-left: 15px;
    width: calc(100% - 60px);
}

.single .comment-text h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 3px;
}

.single .comment-text span {
    display: block;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 5px;
}

.single .comment-text .btn {
    padding: 3px 10px;
    font-size: 14px;
    font-weight: 500;
    color: #202C45;
    background: #dddddd;
    border-radius: 5px;
}

.single .comment-text .btn:hover {
    color: #ffffff;
    background: #D3080C;
}

.single .comment-form {
    position: relative;
}

.single .comment-form h2 {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 25px;
}

.single .comment-form form {
    padding: 30px;
    background: #f3f6ff;
    border-radius: 5px;
}

.single .comment-form form .form-group:last-child {
    margin: 0;
}

.single .comment-form input,
.single .comment-form textarea {
    border-radius: 5px;
    border-color: #eeeeee;
}

.single .comment-form input:focus,
.single .comment-form textarea:focus {
    border-color: #D3080C;
}

.single .comment-form .btn {
    border-radius: 45px;
}


/**********************************/
/*********** Sidebar CSS **********/
/**********************************/
.sidebar {
    position: relative;
    width: 100%;
}

@media(max-width: 991.98px) {
    .sidebar {
        margin-top: 45px;
    }
}

.sidebar .sidebar-widget {
    position: relative;
    margin-bottom: 45px;
}

.sidebar .sidebar-widget .widget-title {
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 5px;
    font-size: 25px;
    font-weight: 700;
}

.sidebar .sidebar-widget .widget-title::after {
    position: absolute;
    content: "";
    width: 60px;
    height: 2px;
    bottom: 0;
    left: 0;
    background: #D3080C;
}

.sidebar .sidebar-widget .search-widget {
    position: relative;
}

.sidebar .search-widget input {
    height: 50px;
    border: 1px solid #dddddd;
    border-radius: 5px;
}

.sidebar .search-widget input:focus {
    box-shadow: none;
    border-color: #D3080C;
}

.sidebar .search-widget .btn {
    position: absolute;
    top: 6px;
    right: 15px;
    height: 40px;
    padding: 0;
    font-size: 25px;
    color: #202C45;
    background: none;
    border-radius: 0;
    border: none;
    transition: .3s;
}

.sidebar .search-widget .btn:hover {
    color: #D3080C;
}

.sidebar .sidebar-widget .recent-post {
    position: relative;
}

.sidebar .sidebar-widget .tab-post {
    position: relative;
}

.sidebar .tab-post .nav.nav-pills {
    border-radius: 5px;
    overflow: hidden;
}

.sidebar .tab-post .nav.nav-pills .nav-link {
    color: #ffffff;
    background: #000000;
    border-radius: 0;
}

.sidebar .tab-post .nav.nav-pills .nav-link:hover,
.sidebar .tab-post .nav.nav-pills .nav-link.active {
    color: #ffffff;
    background: #D3080C;
}

.sidebar .tab-post .tab-content {
    padding: 15px 0 0 0;
    background: transparent;
}

.sidebar .tab-post .tab-content .container {
    padding: 0;
}

.sidebar .sidebar-widget .category-widget {
    position: relative;
}

.sidebar .category-widget ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sidebar .category-widget ul li {
    margin: 0 0 12px 22px; 
}

.sidebar .category-widget ul li:last-child {
    margin-bottom: 0; 
}

.sidebar .category-widget ul li a {
    display: inline-block;
    line-height: 23px;
    font-weight: 500;
    letter-spacing: 1px;
}

.sidebar .category-widget ul li::before {
    position: absolute;
    content: '\f105';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #D3080C;
    left: 1px;
}

.sidebar .category-widget ul li span {
    display: inline-block;
    float: right;
}

.sidebar .sidebar-widget .tag-widget {
    position: relative;
    margin: -5px -5px;
}

.single .tag-widget a {
    margin: 5px;
    display: inline-block;
    padding: 7px 15px;
    font-size: 14px;
    font-weight: 400;
    color: #202C45;
    border: 1px solid #202C45;
    border-radius: 5px;
}

.single .tag-widget a:hover {
    color: #ffffff;
    background: #D3080C;
    border-color: #D3080C;
}

.sidebar .image-widget {
    display: block;
    width: 100%;
    overflow: hidden;
}

.sidebar .image-widget img {
    max-width: 100%;
    border-radius: 5px;
    transition: .3s;
}

.sidebar .image-widget img:hover {
    transform: scale(1.1);
}


/*******************************/
/********* Footer CSS **********/
/*******************************/
.footer {
    position: relative;
    margin-top: 45px;
    padding-top: 90px;
    background: #000000;
}

.footer .footer-contact,
.footer .footer-link,
.footer .footer-newsletter {
    position: relative;
    margin-bottom: 45px;
    color: #ffffff;
}

.footer .footer-contact h2,
.footer .footer-link h2,
.footer .footer-newsletter h2 {
    margin-bottom: 30px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 2px;
    color: #D3080C;
}

.footer .footer-link a {
    display: block;
    margin-bottom: 10px;
    color: #ffffff;
    transition: .3s;
}

.footer .footer-link a::before {
    position: relative;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}

.footer .footer-link a:hover {
    color: #D3080C;
    letter-spacing: 1px;
}

.footer .footer-contact p i {
    width: 25px;
}

.footer .footer-social {
    position: relative;
    margin-top: 20px;
    display: flex;
}

.footer .footer-social a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #202C45;
    background: #ffffff;
    border-radius: 40px;
    margin-right: 5px;
    transition: .5s;
}

.footer .footer-social a:last-child {
    margin: 0;
}

.footer .footer-social a:hover {
    color: #ffffff;
    background: #D3080C;
}

.footer .footer-newsletter form {
    position: relative;
    width: 100%;
}

.footer .footer-newsletter input {
    margin-bottom: 15px;
    height: 45px;
    background: transparent;
    border: 1px solid #ffffff;
    border-radius: 5px;
}

.footer .footer-newsletter label {
    margin-top: 5px;
    color: #777777;
    font-size: 14px;
    letter-spacing: 1px;
}

.footer .footer-newsletter .btn.btn-custom {
    width: 100%;
    color: #202C45;
    background: #ffffff;
    box-shadow: inset 0 0 0 0 #D3080C;
}

.footer .footer-newsletter .btn:hover {
    color: #ffffff;
    background: #D3080C;
    box-shadow: inset 200px 0 0 0 #D3080C;
}

.footer .copyright {
    text-align: center;
    padding-top: 15px;
    padding-bottom: 45px;
}

.footer .copyright p {
    margin: 0;
    color: #ffffff;
}

.footer .copyright p a {
    color: #D3080C;
    font-weight: 700;
    letter-spacing: 1px;
}

.footer .copyright p a:hover {
    color: #ffffff;
}

@media (max-width: 575.98px) {

    .carousel,
    .carousel .carousel-item,
    .carousel .carousel-img {
        min-height: 300px;
        height: 50vh;
    }

    .carousel .carousel-text {
        padding: 0 20px;
    }
}

@media (max-width: 575.98px) {
    .carousel .carousel-text {
        padding: 0 15px;
    }

    .carousel .owl-nav {
        top: auto;
        bottom: 25px;
        height: auto;
        display: flex;
        justify-content: center;
        gap: 60px;
    }

    .carousel .owl-nav .owl-prev,
    .carousel .owl-nav .owl-next {
        width: 40px;
        height: 40px;
        margin: 0;
        font-size: 16px;
    }
}
/**********************************/
/********* Video Hero CSS *********/
/**********************************/
    .video-hero {
        position: relative;
        width: 100%;
        height: 50vh;
        min-height: 500px;
        overflow: hidden;
        margin-bottom: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .video-hero-bg {
        position: absolute;
        top: 0; left: 0;
        width: 100%; height: 100%;
        background: url('../img/carousel-1.jpg') center center / cover no-repeat;
    }

    .video-hero-bg video {
        position: absolute;
        top: 50%; left: 50%;
        min-width: 100%; min-height: 100%;
        width: auto; height: auto;
        transform: translate(-50%, -50%);
        object-fit: cover;
    }

    .video-hero-overlay {
        position: absolute;
        top: 0; left: 0;
        width: 100%; height: 100%;
        background: rgba(0, 0, 0, 0.55);
    }

    .video-hero-content {
        position: relative;
        z-index: 2;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .video-hero-slides {
        text-align: center;
        max-width: 750px;
        padding: 0 60px;
    }

    .video-hero-slide {
        display: none;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        animation: heroFadeIn 0.7s ease;
    }

    .video-hero-slide.active {
        display: flex;
    }

    @keyframes heroFadeIn {
        from { opacity: 0; transform: translateY(18px); }
        to   { opacity: 1; transform: translateY(0); }
    }

    .video-hero-slide h3 {
        color: #D3080C;
        font-size: 18px;
        font-weight: 700;
        letter-spacing: 4px;
        text-transform: uppercase;
        margin-bottom: 10px;
    }

    .video-hero-slide h1 {
        color: #ffffff;
        font-size: 72px;
        font-weight: 700;
        margin-bottom: 20px;
        line-height: 1.1;
    }

    .video-hero-slide p {
        color: #ffffff;
        font-size: 18px;
        max-width: 520px;
        margin: 0 auto 35px;
    }

    .video-hero-slide .btn.btn-custom {
        padding: 18px 45px 20px 45px;
        color: #ffffff;
    }

    .video-hero-slide .btn.btn-custom:hover {
        color: #D3080C;
    }

    .video-hero-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 100%;
        display: flex;
        justify-content: space-between;
        pointer-events: none;
        padding: 0 15px;
    }

    .video-hero-prev,
    .video-hero-next {
        pointer-events: all;
        width: 50px; height: 50px;
        background: rgba(232, 28, 46, 0.85);
        border: none;
        border-radius: 50px;
        color: #ffffff;
        font-size: 18px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: background .3s;
    }

    .video-hero-prev:hover,
    .video-hero-next:hover {
        background: #ffffff;
        color: #D3080C;
    }

    @media (max-width: 767.98px) {
    .video-hero { height: 70vh; min-height: 400px; margin-bottom: 30px; }
    .video-hero-slide h1 { font-size: 38px; }
    .video-hero-slide p { font-size: 15px; }
    .video-hero-slides { padding: 0 70px; }

    .video-hero-nav {
        top: 50%;
        transform: translateY(-50%);
        justify-content: space-between;
        padding: 0 10px;
    }

    .video-hero-prev,
    .video-hero-next {
        width: 40px;
        height: 40px;
        font-size: 14px;
        flex-shrink: 0;
    }
}

    @media (max-width: 575.98px) {
    .video-hero-slide h1 { font-size: 30px; }
    .video-hero-nav {
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
        justify-content: space-between;
        gap: 0;
        padding: 0 10px;
    }
}
    .video-hero-bg {
        will-change: transform;
    }
/**********************************/
/****** Scroll Animations CSS *****/
/**********************************/
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* Glassmorphism Navbar */
.nav-bar {
    transition: background 0.4s ease, backdrop-filter 0.4s ease, box-shadow 0.4s ease;
}

.nav-bar.nav-glass {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: rgb(14 14 14 / 55%) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.4);
}

.nav-bar.nav-glass .navbar {
    background: transparent !important;
}
/**********************************/
/****** Service Alt CSS ***********/
/**********************************/
.service-alt {
    padding: 45px 0 30px;
}

.service-alt-header {
    margin-bottom: 40px;
}

.service-alt-header p {
    display: inline-block;
    margin-bottom: 10px;
    padding: 5px 25px;
    border-top: 2px solid #D3080C;
    border-bottom: 2px solid #D3080C;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #D3080C;
}

.service-alt-header h2 {
    font-size: 45px;
    font-weight: 700;
}

.service-alt-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    margin-bottom: 30px;
}

.service-alt-card-link:hover {
    text-decoration: none;
    color: inherit;
}

.service-alt-item {
    position: relative;
    height: 380px;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    cursor: pointer;
    border-radius: 4px;
}

.service-alt-overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.65);
    transition: background 0.4s ease;
}

.service-alt-card-link:hover .service-alt-overlay {
    background: rgba(232, 28, 46, 0.78);
}

.service-alt-content {
    position: absolute;
    bottom: 0; left: 0;
    width: 100%;
    padding: 30px;
    transform: translateY(70px);
    transition: transform 0.4s ease;
    z-index: 2;
}

.service-alt-card-link:hover .service-alt-content {
    transform: translateY(0);
}

.service-alt-content i {
    font-size: 42px;
    color: #ffffff;
    margin-bottom: 12px;
    display: block;
}

.service-alt-content h3 {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 8px;
}

.service-alt-price {
    font-size: 15px;
    color: rgba(255,255,255,0.85);
    margin-bottom: 10px;
    opacity: 0;
    transition: opacity 0.3s ease 0.1s;
}

.service-alt-price strong {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
}

.service-alt-card-link:hover .service-alt-price {
    opacity: 1;
}

.service-alt-content p {
    font-size: 14px;
    color: rgba(255,255,255,0.9);
    margin-bottom: 14px;
    opacity: 0;
    transition: opacity 0.3s ease 0.15s;
}

.service-alt-card-link:hover .service-alt-content p {
    opacity: 1;
}

.service-alt-link {
    display: inline-block;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-bottom: 2px solid #ffffff;
    padding-bottom: 2px;
    opacity: 0;
    transition: opacity 0.3s ease 0.2s;
}

.service-alt-card-link:hover .service-alt-link {
    opacity: 1;
}

/**********************************/
/****** Service Detail CSS ********/
/**********************************/
.service-detail {
    padding: 60px 0 45px;
    background: #000000;
}

.service-detail-block {
    padding: 50px 0;
    scroll-margin-top: 80px;
}

.service-detail-divider {
    height: 2px;
    background: linear-gradient(90deg, transparent, #D3080C, transparent);
    margin: 0 60px;
    opacity: 0.4;
}

.service-detail-img {
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.12);
}

.service-detail-img img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.service-detail-img:hover img {
    transform: scale(1.04);
}

.service-detail-text {
    padding: 0 20px;
}

.service-detail-tag {
    display: inline-block;
    background: #D3080C;
    color: #010101;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 5px 16px;
    border-radius: 2px;
    margin-bottom: 18px;
}

.service-detail-text h2 {
    font-size: 38px;
    font-weight: 700;
    margin-bottom: 10px;
}

.service-detail-price {
    font-size: 16px;
    color: #666;
    margin-bottom: 18px;
}

.service-detail-price strong {
    font-size: 28px;
    font-weight: 700;
    color: #D3080C;
}

.service-detail-text p {
    font-size: 15px;
    color: #f8f7f7;
    margin-bottom: 20px;
    line-height: 1.8;
}

.service-detail-text ul {
    list-style: none;
    padding: 0;
    margin-bottom: 30px;
}

.service-detail-text ul li {
    font-size: 15px;
    color: #ffffff;
    padding: 6px 0;
}

.service-detail-text ul li i {
    color: #D3080C;
    margin-right: 10px;
}

/* Imagen y texto a ancho completo (col-lg-12) */
.service-detail-img img {
    height: 460px;
}

.service-detail-intro {
    padding: 35px 0 10px;
}

.service-detail-block .row + .row .service-detail-text {
    padding: 20px 0 0;
}

/* Tarifas en fichas (mismo estilo que las tarjetas de testimonios) */
.tarifas-lavado {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 25px 0 10px;
}

.tarifas-lavado .tarifa {
    display: flex;
    flex-direction: column;
    padding: 20px 20px 10px;
    background: #111111;
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    transition: border-color .3s, transform .3s, box-shadow .3s;
}

.tarifas-lavado .tarifa:hover {
    border-color: #444444;
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .6);
}

.tarifas-lavado .tarifa-head {
    display: flex;
    align-items: center;
    padding-bottom: 14px;
    margin-bottom: 12px;
    border-bottom: 1px solid #2a2a2a;
}

.tarifas-lavado .tarifa-avatar {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    background: #555555;
}

.tarifas-lavado .tarifa-author {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 10px 0 12px;
    line-height: 1.2;
}

.service-detail-text .tarifas-lavado .tarifa-author h3 {
    margin: 0 0 3px 0;
    font-size: 17px;
    font-weight: 600;
    color: #ffffff;
}

.tarifas-lavado .tarifa-sub {
    display: block;
    font-size: 13px;
    color: #8a8a8a;
}

.service-detail-text .tarifas-lavado .precio {
    margin: 0;
    text-align: right;
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
    white-space: nowrap;
}

.service-detail-text .tarifas-lavado .precio small {
    display: block;
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #8a8a8a;
}

.service-detail-text .tarifas-lavado .tarifa-base {
    margin: 0 0 4px;
    font-size: 14px;
    line-height: 1.5;
    color: #8a8a8a;
}

.service-detail-text .tarifas-lavado ul {
    margin: 0;
}

.service-detail-text .tarifas-lavado ul li {
    display: flex;
    align-items: baseline;
    padding: 5px 0;
    font-size: 15px;
    line-height: 1.45;
    color: #d6d6d6;
}

.service-detail-text .tarifas-lavado ul li i {
    flex: 0 0 auto;
    color: #D3080C;
}

.service-detail-text .tarifas-lavado .nota {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 13px;
    color: #8a8a8a;
}

/* Fichas de tapicería (sin avatar ni precio) */
.tarifas-lavado.tarifas-tapiceria .tarifa-author {
    padding: 0;
}

.tarifas-lavado.tarifas-tapiceria .tarifa {
    padding-bottom: 14px;
}

/* Detalles del servicio en tarjetas con imagen (detalle-s05) */
.service-detail-text .pasos-servicio-titulo {
    text-align: center;
    margin-bottom: 25px;
}

.pasos-servicio {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 35px;
}

.paso-card {
    position: relative;
    min-height: 440px;
    overflow: hidden;
    border-radius: 7px;
    background: #151b23;
}

.paso-card__imagen {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 450ms ease;
}

.paso-card:hover .paso-card__imagen {
    transform: scale(1.05);
}

/* Degradado para que el texto se lea sobre la foto */
.paso-card::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.35) 0%,
        rgba(0, 0, 0, 0.05) 22%,
        rgba(0, 0, 0, 0.25) 45%,
        rgba(0, 0, 0, 0.92) 100%
    );
}

.service-detail-text .paso-card__numero {
    position: absolute;
    z-index: 2;
    top: 22px;
    left: 24px;
    margin: 0;
    font-size: 26px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: #ffffff;
}

.paso-card__contenido {
    position: absolute;
    z-index: 2;
    right: 24px;
    bottom: 22px;
    left: 24px;
}

.service-detail-text .paso-card__titulo {
    margin: 0 0 8px;
    font-size: clamp(22px, 1.9vw, 30px);
    line-height: 1.1;
    font-weight: 700;
    color: #ffffff;
}

.service-detail-text .paso-card__texto {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.92);
}

/* Barra de marcas con las que trabajamos */
.marcas {
    margin: 10px 0 40px;
    padding: 30px 0;
    background: #000000;
    border-top: 1px solid #1f1f1f;
    border-bottom: 1px solid #1f1f1f;
}

.service-detail-text .marcas__titulo {
    margin: 0 0 25px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #8a8a8a;
}

.service-detail-text ul.marcas__lista {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 30px 40px;
    margin: 0;
    padding: 0 10px;
    list-style: none;
}

.marcas__item {
    display: flex;
    align-items: center;
    justify-content: center;
}

.marcas__item img {
    display: block;
    width: auto;
    max-width: 100%;
    transition: transform .3s, opacity .3s;
    opacity: .92;
}

.marcas__item img:hover {
    opacity: 1;
    transform: scale(1.05);
}

/* Alturas ajustadas a ojo para que todos los logos tengan el mismo peso visual */
.marcas__item--avery-dennison img { height: 70px; }
.marcas__item--3m img             { height: 58px; }
.marcas__item--stek img           { height: 46px; }
.marcas__item--apa img            { height: 76px; }
.marcas__item--hexis img          { height: 70px; }

@media (max-width: 991.98px) {
    .service-detail-text ul.marcas__lista {
        justify-content: center;
        gap: 30px 45px;
    }

    .marcas__item--avery-dennison img { height: 56px; }
    .marcas__item--3m img             { height: 46px; }
    .marcas__item--stek img           { height: 36px; }
    .marcas__item--apa img            { height: 60px; }
    .marcas__item--hexis img          { height: 56px; }
}

@media (max-width: 575.98px) {
    .service-detail-text ul.marcas__lista {
        gap: 25px 30px;
    }

    .marcas__item--avery-dennison img { height: 44px; }
    .marcas__item--3m img             { height: 36px; }
    .marcas__item--stek img           { height: 28px; }
    .marcas__item--apa img            { height: 48px; }
    .marcas__item--hexis img          { height: 44px; }
}

@media (max-width: 1199.98px) {
    .pasos-servicio {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .pasos-servicio {
        grid-template-columns: 1fr;
    }

    .paso-card {
        min-height: 420px;
    }
}

@media (max-width: 991.98px) {
    .tarifas-lavado {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .tarifas-lavado {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .service-detail-text {
        padding: 30px 0 0;
    }

    .service-detail-img img {
        height: 260px;
    }

    .service-alt-content {
        transform: translateY(0);
    }

    .service-alt-price,
    .service-alt-content p,
    .service-alt-link {
        opacity: 1;
    }

    .service-alt-item {
        height: 320px;
    }
}
/**********************************/
/********* Contact CSS ************/
/**********************************/
.contact {
    background: #000000;
}

.contact-top {
    padding: 60px 0 40px;
}

.contact .section-header p,
.contact .section-header h2 {
    color: #ffffff;
}

.contact-main {
    padding: 0 0 0;
}

/* Sidebar izquierdo */
.contact-sidebar {
    background: #111111;
    padding: 50px 40px 50px;
    height: 100%;
    border-right: 1px solid #1e1e1e;
}

.contact-sidebar h3 {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 10px;
}

.contact-sidebar-sub {
    font-size: 14px;
    color: #666666;
    margin-bottom: 40px;
    line-height: 1.7;
}

.contact .contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 28px;
}

.contact .contact-info-icon {
    width: 44px;
    height: 44px;
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.3s ease, border-color 0.3s ease;
}

.contact .contact-info-item:hover .contact-info-icon {
    background: #D3080C;
    border-color: #D3080C;
}

.contact .contact-info-icon i {
    color: #D3080C;
    font-size: 16px;
    transition: color 0.3s ease;
}

.contact .contact-info-item:hover .contact-info-icon i {
    color: #ffffff;
}

.contact .contact-info-text h4 {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #666666;
    margin-bottom: 4px;
}

.contact .contact-info-text p {
    font-size: 15px;
    color: #cccccc;
    margin: 0;
}

.contact-social {
    display: flex;
    gap: 12px;
    margin-top: 40px;
}

.contact-social a {
    width: 40px;
    height: 40px;
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888888;
    font-size: 15px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.contact-social a:hover {
    background: #D3080C;
    border-color: #D3080C;
    color: #ffffff;
}

/* Formulario derecho */
.contact-form-wrap {
    background: #0d0d0d;
    padding: 50px 50px 50px;
    height: 100%;
}

.contact-field {
    margin-bottom: 24px;
}

.contact-field label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #666666;
    margin-bottom: 8px;
}

.contact-field .form-control {
    background: #111111;
    border: 1px solid #222222;
    border-radius: 0;
    color: #ffffff;
    font-size: 15px;
    padding: 14px 18px;
    transition: border-color 0.3s ease, background 0.3s ease;
    box-shadow: none;
}

.contact-field .form-control:focus {
    background: #161616;
    border-color: #D3080C;
    color: #ffffff;
    box-shadow: none;
    outline: none;
}

.contact-field .form-control::placeholder {
    color: #444444;
}

.contact-field textarea.form-control {
    height: 150px;
    resize: none;
}

.contact-btn {
    padding: 16px 40px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    border-radius: 0;
    color: #ffffff;
    background: #D3080C;
    border: none;
    transition: background 0.3s ease, letter-spacing 0.3s ease;
}

.contact-btn:hover {
    background: #c0101f;
    color: #ffffff;
    letter-spacing: 3px;
}

/* Mapa */
.contact-map {
    width: 100%;
    height: 420px;
    margin-top: 40px;
}

.contact-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

@media (max-width: 991.98px) {
    .contact-sidebar {
        border-right: none;
        border-bottom: 1px solid #1e1e1e;
        padding: 40px 25px;
    }

    .contact-form-wrap {
        padding: 40px 25px;
    }

    .contact-map {
        height: 300px;
    }
}

@media (max-width: 575.98px) {
    .contact-btn {
        width: 100%;
        text-align: center;
    }
}
/**********************************/
/********* About Hero CSS *********/
/**********************************/
.about-hero {
    background: #000000;
}

/* Bloque principal */
.about-main {
    position: relative;
}

.about-img-wrap {
    position: relative;
    height: 100%;
    min-height: 400px;
    overflow: hidden;
}

.about-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.about-img-wrap:hover img {
    transform: scale(1.04);
}

.about-img-badge {
    position: absolute;
    bottom: 40px;
    right: 40px;
    width: 110px;
    height: 110px;
    background: #D3080C;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 2;
}

.about-badge-number {
    font-size: 36px;
    font-weight: 900;
    color: #ffffff;
    line-height: 1;
}

.about-badge-text {
    font-size: 11px;
    font-weight: 600;
    color: rgba(255,255,255,0.85);
    letter-spacing: 1px;
    text-transform: uppercase;
    line-height: 1.3;
}

.about-text-wrap {
    background: #111111;
    padding: 70px 60px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.about-text-wrap .section-header p {
    color: #D3080C;
}

.about-text-wrap .section-header h2 {
    color: #ffffff;
    font-size: 36px;
}

.about-lead {
    font-size: 17px;
    color: #cccccc;
    font-weight: 500;
    margin-bottom: 15px;
    line-height: 1.7;
    border-left: 3px solid #D3080C;
    padding-left: 18px;
}

.about-body {
    font-size: 15px;
    color: #888888;
    margin-bottom: 30px;
    line-height: 1.8;
}

.about-checklist {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 20px;
    margin-bottom: 35px;
}

.about-check-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #cccccc;
}

.about-check-item i {
    color: #D3080C;
    font-size: 16px;
    flex-shrink: 0;
}

.about-cta {
    align-self: flex-start;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 16px 35px;
    border-radius: 0;
}

/* Bloque de valores */
.about-values {
    padding: 70px 0;
    border-top: 1px solid #1e1e1e;
}

.about-value-item {
    padding: 40px 30px;
    border: 1px solid #1e1e1e;
    border-radius: 2px;
    text-align: center;
    margin-bottom: 30px;
    transition: border-color 0.3s ease, transform 0.3s ease;
    position: relative;
    overflow: hidden;
}

.about-value-item::before {
    content: '';
    position: absolute;
    bottom: 0; left: 0;
    width: 0;
    height: 3px;
    background: #D3080C;
    transition: width 0.4s ease;
}

.about-value-item:hover::before {
    width: 100%;
}

.about-value-item:hover {
    border-color: #2a2a2a;
    transform: translateY(-5px);
}

.about-value-icon {
    width: 65px;
    height: 65px;
    background: #1a1a1a;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    transition: background 0.3s ease;
}

.about-value-item:hover .about-value-icon {
    background: #D3080C;
}

.about-value-icon i {
    font-size: 28px;
    color: #D3080C;
    transition: color 0.3s ease;
}

.about-value-item:hover .about-value-icon i {
    color: #ffffff;
}

.about-value-item h4 {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.about-value-item p {
    font-size: 14px;
    color: #666666;
    margin: 0;
    line-height: 1.7;
}

@media (max-width: 991.98px) {
    .about-img-wrap {
        height: 380px;
    }

    .about-text-wrap {
        padding: 50px 30px;
    }

    .about-text-wrap .section-header h2 {
        font-size: 28px;
    }

    .about-checklist {
        grid-template-columns: 1fr;
    }

    .about-values {
        padding: 50px 0 20px;
    }
}

@media (max-width: 575.98px) {
    .about-img-badge {
        width: 85px;
        height: 85px;
        bottom: 20px;
        right: 20px;
    }

    .about-badge-number {
        font-size: 26px;
    }

    .about-badge-text {
        font-size: 9px;
    }

    .about-text-wrap {
        padding: 40px 20px;
    }

    .about-cta {
        width: 100%;
        text-align: center;
    }
}
/**********************************/
/********* Location CSS ***********/
/**********************************/
.location-wrap {
    background: #000000;
}

/* Cabecera */
.location-header {
    padding: 70px 0 50px;
    border-bottom: 1px solid #000000;
}

.location-header .section-header p,
.location-header .section-header h2 {
    color: #ffffff;
}

.location-header .section-header {
    margin-bottom: 0;
}

.location-header-sub {
    font-size: 15px;
    color: #666666;
    line-height: 1.8;
    margin: 0;
}

/* Grid de tarjetas */
.location-grid {
    padding: 60px 0;
}

.loc-card {
    background: #111111;
    border: 1px solid #1e1e1e;
    padding: 40px 30px;
    height: 100%;
    position: relative;
    overflow: hidden;
    transition: border-color 0.3s ease, transform 0.3s ease;
    margin-bottom: 30px;
}

.loc-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 3px;
    height: 0;
    background: #D3080C;
    transition: height 0.4s ease;
}

.loc-card:hover::before {
    height: 100%;
}

.loc-card:hover {
    border-color: #2a2a2a;
    transform: translateY(-5px);
}

.loc-card-number {
    position: absolute;
    top: 20px; right: 25px;
    font-size: 48px;
    font-weight: 900;
    color: #1a1a1a;
    line-height: 1;
    font-style: italic;
    transition: color 0.3s ease;
}

.loc-card:hover .loc-card-number {
    color: #1e1e1e;
}

.loc-card-icon {
    width: 50px;
    height: 50px;
    background: #1a1a1a;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    transition: background 0.3s ease;
}

.loc-card:hover .loc-card-icon {
    background: #D3080C;
}

.loc-card-icon i {
    color: #D3080C;
    font-size: 18px;
    transition: color 0.3s ease;
}

.loc-card:hover .loc-card-icon i {
    color: #ffffff;
}

.loc-card h4 {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 10px;
    letter-spacing: 0.5px;
}

.loc-card p {
    font-size: 14px;
    color: #666666;
    line-height: 1.7;
    margin-bottom: 0;
}

.loc-card-divider {
    width: 30px;
    height: 2px;
    background: #D3080C;
    margin: 18px 0;
}

.loc-card-phone {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #cccccc;
    text-decoration: none;
    margin-bottom: 12px;
    transition: color 0.3s ease;
}

.loc-card-phone i {
    color: #D3080C;
    margin-right: 6px;
}

.loc-card-phone:hover {
    color: #D3080C;
    text-decoration: none;
}

.loc-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #D3080C;
    text-decoration: none;
    border-bottom: 1px solid #D3080C;
    padding-bottom: 2px;
    transition: gap 0.3s ease;
}

.loc-card-link:hover {
    color: #D3080C;
    text-decoration: none;
    gap: 14px;
}

/* Mapa */
.loc-map {
    height: 100%;
    min-height: 520px;
}

.loc-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    min-height: 520px;
}

/* Formulario */
.loc-form {
    background: #111111;
    padding: 55px 50px;
    height: 100%;
    border-left: 1px solid #1e1e1e;
}

.loc-form-header {
    margin-bottom: 35px;
}

.loc-form-tag {
    display: inline-block;
    background: #D3080C;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 5px 14px;
    margin-bottom: 16px;
}

.loc-form-header h3 {
    font-size: 26px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 10px;
}

.loc-form-header p {
    font-size: 14px;
    color: #666666;
    line-height: 1.7;
    margin: 0;
}

.loc-field {
    margin-bottom: 20px;
}

.loc-field label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #555555;
    margin-bottom: 8px;
}

.loc-field .form-control {
    background: #1a1a1a;
    border: 1px solid #222222;
    border-radius: 0;
    color: #ffffff;
    font-size: 14px;
    padding: 13px 16px;
    transition: border-color 0.3s ease;
    box-shadow: none;
}

.loc-field .form-control:focus {
    background: #1e1e1e;
    border-color: #D3080C;
    color: #ffffff;
    box-shadow: none;
}

.loc-field .form-control::placeholder {
    color: #3a3a3a;
}

.loc-field select.form-control option {
    background: #1a1a1a;
    color: #ffffff;
}

.loc-field textarea.form-control {
    height: 120px;
    resize: none;
}

.loc-btn {
    width: 100%;
    padding: 16px 30px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
    border-radius: 0;
    color: #ffffff;
    background: #D3080C;
    border: none;
    transition: background 0.3s ease, letter-spacing 0.3s ease;
    margin-top: 5px;
}

.loc-btn:hover {
    background: #c0101f;
    color: #ffffff;
    letter-spacing: 4px;
}

@media (max-width: 991.98px) {
    .location-header {
        padding: 50px 0 35px;
    }

    .location-header-sub {
        margin-top: 15px;
    }

    .loc-map {
        min-height: 350px;
    }

    .loc-map iframe {
        min-height: 350px;
    }

    .loc-form {
        padding: 40px 25px;
        border-left: none;
        border-top: 1px solid #1e1e1e;
    }
}

@media (max-width: 575.98px) {
    .loc-card {
        padding: 30px 20px;
    }

    .loc-btn {
        letter-spacing: 1px;
    }
}
/* Select personalizado */
.loc-select {
    position: relative;
    user-select: none;
}

.loc-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #1a1a1a;
    border: 1px solid #222222;
    color: #888888;
    font-size: 14px;
    padding: 13px 16px;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.loc-select-trigger i {
    color: #D3080C;
    font-size: 12px;
    transition: transform 0.3s ease;
    flex-shrink: 0;
    margin-left: 10px;
}

.loc-select.open .loc-select-trigger {
    border-color: #D3080C;
}

.loc-select.open .loc-select-trigger i {
    transform: rotate(180deg);
}

.loc-select-trigger span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.loc-select.has-value .loc-select-trigger {
    color: #ffffff;
}

.loc-select-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #1a1a1a;
    border: 1px solid #D3080C;
    border-top: none;
    z-index: 100;
}

.loc-select.open .loc-select-dropdown {
    display: block;
}

.loc-select-option {
    padding: 12px 16px;
    font-size: 14px;
    color: #888888;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    border-bottom: 1px solid #222222;
}

.loc-select-option:last-child {
    border-bottom: none;
}

.loc-select-option:hover {
    background: #D3080C;
    color: #ffffff;
}

.loc-select-option.selected {
    color: #D3080C;
    font-weight: 600;
}



.tarjeta-img {
    position: relative;
    display: inline-block;
}

.tarjeta-img img {
    width: 400px;
    height: 300px;
    display: block;
    border: 1px solid #ff0000;
    border-radius: 18px;
}

.tarjeta-img::after {
        content: attr(data-num);
    position: absolute;
    top: 8px;
    right: 8px;
    width: 30px;
    height: 30px;
    border: 1px solid #fff;
    border-radius: 50%;
    background: rgba(255, 0, 0, 0.9);
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    line-height: 28px;
    text-align: center;
    z-index: 2;
    pointer-events: none;
    box-shadow: 0 2px 6px rgba(0,0,0,0.35);
}



/*******************************/
/******* Testimonial CSS *******/
/*******************************/
/* Tarjetas tipo reseña de Google sobre fondo negro */
.testimonial {
    position: relative;
    width: 100%;
    padding: 45px 0;
}

.testimonial .testimonials-carousel {
    position: relative;
    width: calc(100% + 20px);
    margin: 0 -10px;
}

/* Todas las tarjetas a la misma altura */
.testimonial .owl-stage {
    display: flex;
}

.testimonial .owl-item {
    display: flex;
}

.testimonial .testimonial-item {
    position: relative;
    width: 100%;
    padding: 10px;
    display: flex;
}

.testimonial .review-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 20px 20px 16px;
    background: #111111;
    border: 1px solid #2a2a2a;
    border-radius: 12px;
    transition: border-color .3s, transform .3s, box-shadow .3s;
}

.testimonial .review-card:hover {
    border-color: #444444;
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .6);
}

/* Cabecera: avatar + nombre/fecha + logo Google */
.testimonial .review-head {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

.testimonial .review-avatar {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 18px;
    font-weight: 500;
    background: #555555;
    overflow: hidden;
}

/* Si se usa foto en lugar de inicial */
.testimonial .testimonial-item .review-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    transform: none;
}

.testimonial .review-author {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 10px 0 12px;
    line-height: 1.2;
}

.testimonial .review-author h3 {
    margin: 0 0 3px 0;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.testimonial .review-date {
    display: block;
    font-size: 13px;
    color: #8a8a8a;
}

.testimonial .review-google {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    align-self: flex-start;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FFC107' d='M43.6 20.1H42V20H24v8h11.3C33.7 32.7 29.2 36 24 36c-6.6 0-12-5.4-12-12s5.4-12 12-12c3.1 0 5.8 1.2 7.9 3.1l5.7-5.7C34 6.1 29.3 4 24 4 12.9 4 4 12.9 4 24s8.9 20 20 20 20-8.9 20-20c0-1.3-.1-2.6-.4-3.9z'/%3E%3Cpath fill='%23FF3D00' d='M6.3 14.7l6.6 4.8C14.7 15.1 19 12 24 12c3.1 0 5.8 1.2 7.9 3.1l5.7-5.7C34 6.1 29.3 4 24 4 16.3 4 9.7 8.3 6.3 14.7z'/%3E%3Cpath fill='%234CAF50' d='M24 44c5.2 0 9.9-2 13.4-5.2l-6.2-5.2C29.2 35.1 26.7 36 24 36c-5.2 0-9.6-3.3-11.3-7.9l-6.5 5C9.5 39.6 16.2 44 24 44z'/%3E%3Cpath fill='%231976D2' d='M43.6 20.1H42V20H24v8h11.3c-.8 2.2-2.2 4.2-4.1 5.6l6.2 5.2C37 39.2 44 34 44 24c0-1.3-.1-2.6-.4-3.9z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Estrellas + check de verificado */
.testimonial .review-rating {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.testimonial .review-stars i {
    color: #FBBC04;
    font-size: 17px;
    margin-right: 2px;
}

.testimonial .review-verified {
    width: 16px;
    height: 16px;
    margin-left: 6px;
    border-radius: 50%;
    background: #1A73E8;
    color: #ffffff;
    font-size: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Texto recortado a 4 líneas */
.testimonial .review-text {
    margin: 0;
    color: #d6d6d6;
    font-size: 15px;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.testimonial .review-card.expanded .review-text {
    -webkit-line-clamp: unset;
    display: block;
}

.testimonial .review-more {
    margin-top: auto;
    padding-top: 12px;
    font-size: 13px;
    color: #8a8a8a;
    align-self: flex-start;
}

.testimonial .review-more:hover,
.testimonial .review-more:focus {
    color: #D3080C;
}

/* Puntos del carrusel */
.testimonial .owl-dots {
    margin-top: 20px;
    text-align: center;
}

.testimonial .owl-dot {
    display: inline-block;
    margin: 0 5px;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: #555555;
    transition: width .3s, background .3s;
}

.testimonial .owl-dot.active {
    width: 24px;
    background: #D3080C;
}

.location .mapa-local {
    position: relative;
    width: 100%;
    height: 350px;
    overflow: hidden;
    border-radius: 8px;
    background: #eeeeee;
}

.location .mapa-local iframe {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 350px;
    border: 0 !important;
}

.location .btn-como-llegar {
    margin-top: 15px;
}

.location .business-hours-box {
    padding: 25px 30px;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.location .business-hours-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

.location .business-hours-title i {
    color: #e81c2e;
    font-size: 22px;
}

.location .business-hours-title h3 {
    margin: 0;
    font-size: 22px;
}

.location .business-hours {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 40px;
    row-gap: 0;
}

.location .business-hours > div {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 9px 0;
    border-bottom: 1px solid #e9e9e9;
}

.location .business-hours > div span:last-child {
    white-space: nowrap;
    text-align: right;
    font-weight: 600;
}

.location .business-hours .closed span:last-child {
    color: #888888;
}

@media (max-width: 991.98px) {
    .location .mapa-local {
        height: 300px;
        margin-bottom: 30px;
    }

    .location .mapa-local iframe {
        min-height: 300px;
    }
}

@media (max-width: 767.98px) {
    .location .business-hours {
        grid-template-columns: 1fr;
    }

    .location .business-hours-box {
        padding: 20px;
    }
}

.ppf-benefits-section {
        background-color: #111111;
        padding: 55px 20px;
        font-family: Arial, Helvetica, sans-serif;
        color: #ffffff;
    }

    .ppf-benefits-container {
        max-width: 1180px;
        margin: 0 auto;
    }

    .ppf-benefits-container h2 {
        margin: 0 0 32px;
        text-align: center;
        color: #ffffff;
        font-size: 30px;
        font-weight: 700;
    }

    .ppf-benefits-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px;
    }

    .ppf-benefit-card {
        min-height: 180px;
        box-sizing: border-box;
        padding: 26px 22px 22px;
        text-align: center;
        background: #222222;
        border: 1px solid #2b2b2b;
        border-radius: 4px;
        transition: transform 0.2s ease, background-color 0.2s ease;
    }

    .ppf-benefit-card:hover {
        background-color: #292929;
        transform: translateY(-5px);
    }

    .ppf-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 42px;
        margin-bottom: 12px;
        color: #4fa3dc;
        font-size: 29px;
        line-height: 1;
    }

    .ppf-icon-yellow {
        color: #f7b733;
    }

    .ppf-icon-back {
        color: #555555;
        font-size: 25px;
    }

    .ppf-benefit-card h3 {
        margin: 0 0 10px;
        color: #ffffff;
        font-size: 18px;
        font-weight: 700;
    }

    .ppf-benefit-card p {
        margin: 0;
        color: #a7a7a7;
        font-size: 14px;
        line-height: 1.55;
    }

    @media (max-width: 900px) {
        .ppf-benefits-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 560px) {
        .ppf-benefits-section {
            padding: 42px 16px;
        }

        .ppf-benefits-container h2 {
            font-size: 26px;
            margin-bottom: 24px;
        }

        .ppf-benefits-grid {
            grid-template-columns: 1fr;
            gap: 16px;
        }

        .ppf-benefit-card {
            min-height: auto;
            padding: 24px 18px;
        }
    }

    
    .ppf-levels-section {
        padding: 65px 20px;
        background: #000000;
        color: #ffffff;
        font-family: Arial, Helvetica, sans-serif;
    }

    .ppf-levels-container {
        max-width: 1180px;
        margin: 0 auto;
        text-align: center;
    }

    .ppf-levels-container h2 {
        margin: 0 0 22px;
        color: #ffffff;
        font-size: 34px;
        font-weight: 700;
        line-height: 1.2;
    }

    .ppf-price-button {
        display: inline-block;
        margin-bottom: 50px;
        padding: 13px 28px;
        color: #ffffff;
        background: transparent;
        border: 1px solid #e30613;
        text-decoration: none;
        text-transform: uppercase;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.3px;
        transition: all 0.25s ease;
    }

    .ppf-price-button:hover {
        color: #ffffff;
        background: #e30613;
        transform: translateY(-2px);
    }

    .ppf-levels-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 55px;
        align-items: start;
    }

    .ppf-level-card {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .ppf-level-card h3 {
        margin: 0 0 20px;
        color: #ffffff;
        font-size: 21px;
        font-weight: 700;
    }

    .ppf-image-wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 190px;
        margin-bottom: 22px;
        overflow: hidden;
        border-radius: 4px;
        background: #111111;
    }

    .ppf-image-wrapper img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.35s ease;
    }

    .ppf-level-card:hover .ppf-image-wrapper img {
        transform: scale(1.06);
    }

    .ppf-level-card p {
        max-width: 320px;
        margin: 0;
        color: #e3e3e3;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.65;
    }

    @media (max-width: 900px) {
        .ppf-levels-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 45px 30px;
        }

        .ppf-level-card:last-child {
            grid-column: 1 / -1;
            max-width: 360px;
            margin: 0 auto;
        }
    }

    @media (max-width: 600px) {
        .ppf-levels-section {
            padding: 48px 16px;
        }

        .ppf-levels-container h2 {
            font-size: 27px;
        }

        .ppf-price-button {
            margin-bottom: 38px;
            padding: 12px 20px;
            font-size: 13px;
        }

        .ppf-levels-grid {
            grid-template-columns: 1fr;
            gap: 45px;
        }

        .ppf-level-card:last-child {
            grid-column: auto;
            max-width: none;
        }

        .ppf-image-wrapper {
            max-width: 350px;
            height: 210px;
        }

        .ppf-level-card h3 {
            font-size: 20px;
        }
    }
@media(min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1540px;
    }
}

.splide {
  position: relative;
  padding: 0 75px; /* Deja espacio a los lados para las flechas */
}

.splide__arrows {
  display: flex;
  justify-content: space-between;
}

.splide__arrow--prev {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.splide__arrow--next {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}



/* Slider de servicios alineado con los bordes de la sección de testimonios */
.service .servicios-slider-wrap {
  width: 100%;
}

/*
  Las flechas van SIEMPRE a izquierda y derecha de las imágenes, en la misma fila.
  - Por defecto: el slider reserva 56px a cada lado (flecha 42px + 14px de separación),
    así las flechas quedan pegadas a los bordes de los testimonios y las imágenes entre ellas.
  - En pantallas muy anchas (>= 1640px) hay sitio fuera del contenedor: las imágenes
    ocupan todo el ancho de los testimonios y las flechas salen al margen exterior.
*/
.service .servicios-slider.splide {
  max-width: none;       /* anula el max-width: 1200px de sliderv2.css */
  padding: 0 56px;
  margin: 0 0 50px 0;    /* espacio para la paginación */
}

.service .servicios-slider .splide__arrow {
  z-index: 2;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  background: #ffffff;
  opacity: 1;
  transition: background .3s;
}

.service .servicios-slider .splide__arrow svg {
  fill: #111111;
  transition: fill .3s;
}

.service .servicios-slider .splide__arrow:hover:not(:disabled) {
  background: #D3080C;
}

.service .servicios-slider .splide__arrow:hover:not(:disabled) svg {
  fill: #ffffff;
}

.service .servicios-slider .splide__arrow--prev {
  left: 0;
}

.service .servicios-slider .splide__arrow--next {
  right: 0;
}

.service .servicios-slider .splide__pagination {
  bottom: -36px;
}

/* Móvil: flechas algo más pequeñas para dejar más sitio a la imagen */
@media (max-width: 575.98px) {
  .service .servicios-slider.splide {
    padding: 0 44px;
  }

  .service .servicios-slider .splide__arrow {
    width: 34px;
    height: 34px;
  }
}

/* Pantallas muy anchas: imágenes a todo el ancho y flechas en el margen exterior */
@media (min-width: 1640px) {
  .service .servicios-slider.splide {
    padding: 0;
  }

  .service .servicios-slider .splide__arrow--prev {
    left: -62px;
  }

  .service .servicios-slider .splide__arrow--next {
    right: -62px;
  }
}

/*******************************/
/**** PPF: niveles de cobertura ****/
/*******************************/
.ppf-coberturas {
  max-width: 1180px;
  margin: 0 auto;
  text-align: center;
}

.ppf-coberturas .ppf-coberturas__titulo {
  margin: 0 0 40px;
  color: #ffffff;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.2;
}

.ppf-coberturas__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  align-items: start;
}

.ppf-cobertura {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.ppf-cobertura__imagen {
  width: 100%;
  margin-bottom: 26px;
  overflow: hidden;
  background: #000000;
}

.ppf-cobertura__imagen img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform .4s ease;
  /* difumina el reflejo del suelo hacia el negro */
  -webkit-mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 72%, transparent 100%);
}

.ppf-cobertura:hover .ppf-cobertura__imagen img {
  transform: scale(1.04);
}

.ppf-coberturas .ppf-cobertura__titulo {
  margin: 0 0 12px;
  color: #ffffff;
  font-size: 26px;
  font-weight: 400;
  letter-spacing: .2px;
}

.ppf-coberturas .ppf-cobertura__destacado {
  margin: 0 0 2px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
}

.ppf-coberturas .ppf-cobertura__texto {
  max-width: 340px;
  margin: 0;
  color: #d6d6d6;
  font-size: 15px;
  line-height: 1.6;
}

.ppf-coberturas .ppf-coberturas__boton {
  margin: 45px 0 0;
}

@media (max-width: 991.98px) {
  .ppf-coberturas__grid {
    grid-template-columns: 1fr;
    gap: 50px;
    max-width: 520px;
    margin: 0 auto;
  }
}


/**********************************/
/*********** Login CSS ************/
/**********************************/
.login-section {
    position: relative;
    width: 100%;
    padding: 70px 0 90px;
    background: #000000;
}

.login-section .section-header h2 {
    color: #ffffff;
}

.login-card {
    position: relative;
    background: #111111;
    border: 1px solid #1e1e1e;
    padding: 50px 45px;
    overflow: hidden;
}

/* Barra roja lateral, coherente con .price-item */
.login-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #D3080C;
}

/* Opciones: recordar + olvidé contraseña */
.login-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin: 4px 0 24px;
}

.login-check {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 14px;
    color: #888888;
    cursor: pointer;
    user-select: none;
}

.login-check input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.login-check-box {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background: #1a1a1a;
    border: 1px solid #2a2a2a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s ease, border-color 0.3s ease;
}

.login-check input:checked + .login-check-box {
    background: #D3080C;
    border-color: #D3080C;
}

.login-check input:checked + .login-check-box::after {
    content: '';
    width: 5px;
    height: 10px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) translate(-1px, -1px);
}

.login-check input:focus-visible + .login-check-box {
    border-color: #D3080C;
}

.login-link {
    font-size: 14px;
    color: #888888;
}

.login-link:hover,
.login-link:focus {
    color: #D3080C;
}

/* reCAPTCHA */
.login-captcha {
    margin-bottom: 24px;
}

.login-captcha > div {
    max-width: 100%;
}

/* Botón a ancho completo */
.login-btn {
    width: 100%;
}

/* Alerta de error */
.login-alert {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 25px;
    padding: 18px 22px;
    background: rgba(211, 8, 12, 0.08);
    border: 1px solid #D3080C;
    border-left-width: 4px;
}

.login-alert i {
    color: #D3080C;
    font-size: 20px;
    margin-top: 2px;
}

.login-alert h4 {
    margin: 0 0 4px 0;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #D3080C;
}

.login-alert p {
    margin: 0;
    font-size: 14px;
    color: #cccccc;
}

/* Errores de Parsley */
.login-card .parsley-errors-list {
    margin: 6px 0 0;
    padding: 0;
    list-style: none;
    font-size: 12px;
    color: #D3080C;
}

.login-card .form-control.parsley-error {
    border-color: #D3080C;
}

@media (max-width: 575.98px) {
    .login-section {
        padding: 45px 0 60px;
    }

    .login-card {
        padding: 35px 22px;
    }

    .login-options {
        flex-direction: column;
        align-items: flex-start;
    }

    .login-captcha > div {
        transform: scale(0.9);
        transform-origin: 0 0;
    }
}


.veinte{

  width : 20%!important;

}

.cincuenta{

  width : 50%!important;

}

.treinta{

  width : 30%!important;

}


.cuarenta{

  width : 40%!important;

}

.diez{

  width : 10%!important;

}

.cinco {

  width : 5%!important;

}

.tres {

  width : 3%!important;

}

.uno {
    width : 1%!important;
}

.min-width-80{
    min-width: 80px;
}

.dos {
    width: 2%!important;
}

.ochenta{

  width : 80%!important;

}

.noventa{

  width : 90%!important;

}
