/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/

@font-face {
    font-family: 'Bebas Neue';
    src: url('assets/fonts/BebasNeue-Regular.eot');
    src: url('BebasNeue-Regular.eot?#iefix') format('embedded-opentype'),
        url('assets/fonts/BebasNeue-Regular.woff2') format('woff2'),
        url('assets/fonts/BebasNeue-Regular.woff') format('woff'),
        url('assets/fonts/BebasNeue-Regular.ttf') format('truetype'),
        url('assets/fonts/BebasNeue-Regular.svg#BebasNeue-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('assets/fonts/Poppins-Regular.eot');
    src: url('assets/fonts/Poppins-Regular.eot?#iefix') format('embedded-opentype'),
        url('assets/fonts/Poppins-Regular.woff2') format('woff2'),
        url('assets/fonts/Poppins-Regular.woff') format('woff'),
        url('assets/fonts/Poppins-Regular.ttf') format('truetype'),
        url('assets/fonts/Poppins-Regular.svg#Poppins-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('assets/fonts/Poppins-Medium.eot');
    src: url('assets/fonts/Poppins-Medium.eot?#iefix') format('embedded-opentype'),
        url('assets/fonts/Poppins-Medium.woff2') format('woff2'),
        url('assets/fonts/Poppins-Medium.woff') format('woff'),
        url('assets/fonts/Poppins-Medium.ttf') format('truetype'),
        url('assets/fonts/Poppins-Medium.svg#Poppins-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('assets/fonts/Poppins-SemiBold.eot');
    src: url('assets/fonts/Poppins-SemiBold.eot?#iefix') format('embedded-opentype'),
        url('assets/fonts/Poppins-SemiBold.woff2') format('woff2'),
        url('assets/fonts/Poppins-SemiBold.woff') format('woff'),
        url('assets/fonts/Poppins-SemiBold.ttf') format('truetype'),
        url('assets/fonts/Poppins-SemiBold.svg#Poppins-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('assets/fonts/Poppins-Bold.eot');
    src: url('assets/fonts/Poppins-Bold.eot?#iefix') format('embedded-opentype'),
        url('assets/fonts/Poppins-Bold.woff2') format('woff2'),
        url('assets/fonts/Poppins-Bold.woff') format('woff'),
        url('assets/fonts/Poppins-Bold.ttf') format('truetype'),
        url('assets/fonts/Poppins-Bold.svg#Poppins-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

:root {
    --black: #000000;
    --white: #ffffff;
    --c3:#f6f7f9;
    --txt:#1b1f23;
    --muted:#6b7280;
}

/************************
 GENERAL
 ************************/
body, p, ul li, ol li, button { font-family: 'Poppins', sans-serif; font-size: 16px; font-weight: 400; line-height: 22px; }
a, button { transition: .5s all ease; }
strong, b { font-weight: bold; }
i[class*="fa-"] { font-family: 'Font Awesome 7 Free'; }
i[class*="fa-solid"] { font-weight: bold; }

h1, h2, h3, h4, h5, h6 { color: var(--nectar-accent-color); font-family: 'Bebas Neue', sans-serif; font-weight: normal; }
h1, h2, h3 { letter-spacing: 1px; }
h1 { font-size: 55px; line-height: 59px; }
h2 { font-size: 45px; line-height: 49px; }
h3 { font-size: 35px; line-height: 39px; }
h4 { font-size: 25px; line-height: 29px; }
h5 { font-size: 18px; line-height: 22px; }
h6 { font-size: 14px; line-height: 18px; }

@media (max-width: 1299px) {
    h1 { font-size: 50px; line-height: 54px; }
    h2 { font-size: 40px; line-height: 44px; }
    h3 { font-size: 32px; line-height: 36px; }
    h4 { font-size: 22px; line-height: 26px; }
}

@media (max-width: 999px) {
    h1 { font-size: 45px; line-height: 49px; }
    h2 { font-size: 35px; line-height: 39px; }
    h3 { font-size: 30px; line-height: 34px; }
    h4 { font-size: 20px; line-height: 24px; }
    body, p, ul li, ol li { font-size: 15px; line-height: 21px; }
}

@media (max-width: 690px) {
    h1 { font-size: 40px; line-height: 44px; }
    h2 { font-size: 32px; line-height: 36px; }
    h3 { font-size: 27px; line-height: 31px; }
    h4 { font-size: 18px; line-height: 22px; }
    body, p, ul li, ol li { font-size: 14px; line-height: 20px; }
}

.bkg-accent-color { background-color: var(--nectar-accent-color)!important; }
.bkg-extra-color-1 { background-color: var(--nectar-extra-color-1)!important; }
.bkg-extra-color-2 { background-color: var(--nectar-extra-color-2)!important; }
.bkg-extra-color-3 { background-color: var(--nectar-extra-color-3)!important; }

.text-white { color: var(--white)!important; }

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.text-accent-color { color: var(--nectar-accent-color); }
.text-extra-color-1 { color: var(--nectar-extra-color-1); }
.text-extra-color-2 { color: var(--nectar-extra-color-2); }
.text-extra-color-3 { color: var(--nectar-extra-color-3); }

.mb-0 { margin-bottom: 0!important; }
.mb-1 { margin-bottom: 0.25rem!important; }
.mb-2 { margin-bottom: 0.5rem!important; }
.mb-3 { margin-bottom: 0.75rem!important; }
.mb-4 { margin-bottom: 1.5rem!important; }
.mb-5 { margin-bottom: 3rem!important; }

.me-0 { margin-right: 0!important; }
.me-1 { margin-right: 0.25rem!important; }
.me-2 { margin-right: 0.5rem!important; }
.me-3 { margin-right: 0.75rem!important; }
.me-4 { margin-right: 1.5rem!important; }
.me-5 { margin-right: 3rem!important; }

.ms-0 { margin-left: 0!important; }
.ms-1 { margin-left: 0.25rem!important; }
.ms-2 { margin-left: 0.5rem!important; }
.ms-3 { margin-left: 0.75rem!important; }
.ms-4 { margin-left: 1.5rem!important; }
.ms-5 { margin-left: 3rem!important; }

.mt-0 { margin-top: 0!important; }
.mt-1 { margin-top: 0.25rem!important; }
.mt-2 { margin-top: 0.5rem!important; }
.mt-3 { margin-top: 0.75rem!important; }
.mt-4 { margin-top: 1.5rem!important; }
.mt-5 { margin-top: 3rem!important; }

.pb-0 { padding-bottom: 0!important; }
.pb-1 { padding-bottom: 0.25rem!important; }
.pb-2 { padding-bottom: 0.5rem!important; }
.pb-3 { padding-bottom: 0.75rem!important; }
.pb-4 { padding-bottom: 1.5rem!important; }
.pb-5 { padding-bottom: 3rem!important; }

.pe-0 { padding-right: 0!important; }
.pe-1 { padding-right: 0.25rem!important; }
.pe-2 { padding-right: 0.5rem!important; }
.pe-3 { padding-right: 0.75rem!important; }
.pe-4 { padding-right: 1.5rem!important; }
.pe-5 { padding-right: 3rem!important; }

.ps-0 { padding-left: 0!important; }
.ps-1 { padding-left: 0.25rem!important; }
.ps-2 { padding-left: 0.5rem!important; }
.ps-3 { padding-left: 0.75rem!important; }
.ps-4 { padding-left: 1.5rem!important; }
.ps-5 { padding-left: 3rem!important; }

.pt-0 { padding-top: 0!important; }
.pt-1 { padding-top: 0.25rem!important; }
.pt-2 { padding-top: 0.5rem!important; }
.pt-3 { padding-top: 0.75rem!important; }
.pt-4 { padding-top: 1.5rem!important; }
.pt-5 { padding-top: 3rem!important; }

@media (min-width: 1000px) {
    .mb-lg-0 { margin-bottom: 0!important; }
    .mb-lg-1 { margin-bottom: 0.25rem!important; }
    .mb-lg-2 { margin-bottom: 0.5rem!important; }
    .mb-lg-3 { margin-bottom: 0.75rem!important; }
    .mb-lg-4 { margin-bottom: 1.5rem!important; }
    .mb-lg-5 { margin-bottom: 3rem!important; }

    .me-lg-0 { margin-right: 0!important; }
    .me-lg-1 { margin-right: 0.25rem!important; }
    .me-lg-2 { margin-right: 0.5rem!important; }
    .me-lg-3 { margin-right: 0.75rem!important; }
    .me-lg-4 { margin-right: 1.5rem!important; }
    .me-lg-5 { margin-right: 3rem!important; }
    
    .ms-lg-0 { margin-left: 0!important; }
    .ms-lg-1 { margin-left: 0.25rem!important; }
    .ms-lg-2 { margin-left: 0.5rem!important; }
    .ms-lg-3 { margin-left: 0.75rem!important; }
    .ms-lg-4 { margin-left: 1.5rem!important; }
    .ms-lg-5 { margin-left: 3rem!important; }

    .mt-lg-0 { margin-top: 0!important; }
    .mt-lg-1 { margin-top: 0.25rem!important; }
    .mt-lg-2 { margin-top: 0.5rem!important; }
    .mt-lg-3 { margin-top: 0.75rem!important; }
    .mt-lg-4 { margin-top: 1.5rem!important; }
    .mt-lg-5 { margin-top: 3rem!important; }

    .pb-lg-0 { padding-bottom: 0!important; }
    .pb-lg-1 { padding-bottom: 0.25rem!important; }
    .pb-lg-2 { padding-bottom: 0.5rem!important; }
    .pb-lg-3 { padding-bottom: 0.75rem!important; }
    .pb-lg-4 { padding-bottom: 1.5rem!important; }
    .pb-lg-5 { padding-bottom: 3rem!important; }
    
    .pe-lg-0 { padding-right: 0!important; }
    .pe-lg-1 { padding-right: 0.25rem!important; }
    .pe-lg-2 { padding-right: 0.5rem!important; }
    .pe-lg-3 { padding-right: 0.75rem!important; }
    .pe-lg-4 { padding-right: 1.5rem!important; }
    .pe-lg-5 { padding-right: 3rem!important; }
    
    .ps-lg-0 { padding-left: 0!important; }
    .ps-lg-1 { padding-left: 0.25rem!important; }
    .ps-lg-2 { padding-left: 0.5rem!important; }
    .ps-lg-3 { padding-left: 0.75rem!important; }
    .ps-lg-4 { padding-left: 1.5rem!important; }
    .ps-lg-5 { padding-left: 3rem!important; }
    
    .pt-lg-0 { padding-top: 0!important; }
    .pt-lg-1 { padding-top: 0.25rem!important; }
    .pt-lg-2 { padding-top: 0.5rem!important; }
    .pt-lg-3 { padding-top: 0.75rem!important; }
    .pt-lg-4 { padding-top: 1.5rem!important; }
    .pt-lg-5 { padding-top: 3rem!important; }
}

.d-none { display: none!important; }

@media (min-width: 1000px) {
    .d-lg-none { display: none!important; }
    .d-lg-block { display: block!important; }
}


/************************
 HEADER
 ************************/
#top nav > ul > li > a { color: var(--nectar-accent-color); font-family: 'Bebas Neue', sans-serif; font-weight: normal; font-size: 20px; letter-spacing: 1px; }
#top nav > ul > li > a:before { content: ''; color: var(--nectar-extra-color-1); font-family: 'Font Awesome 7 Free'; margin-right: 10px; }
#top nav > ul > li:first-child > a:before { content: "\f015"; }
#top nav > ul > li > a[href*="establecimientos"]:before { content: "\f2e7"; font-weight: bold; }
#top nav > ul > li > a[href*="tapas"]:before { content: "\e51a"; font-weight: bold; }
#top nav > ul > li > a[href*="bases"]:before { content: "\f15c"; font-weight: bold; }
#top nav > ul > li > a[href*="ranking"]:before { content: "\f091"; font-weight: bold; }
#top nav > ul > li > a[href*="contacto"]:before { content: "\f1d8"; }
#top nav > ul > li.current-menu-item > a:before { color: var(--nectar-extra-color-3)!important; }

@media (max-width: 1199px) {
    #header-outer #logo img, #header-outer .logo-clone img, #header-outer .logo-spacing img { height: 70px; }
    #header-outer[data-lhe="animated_underline"] #top nav > ul > li > a { font-size: 18px; letter-spacing: 0; margin-inline: 15px!important; }
    #top nav > ul > li > a:before { margin-right: 7px; }
}

@media (max-width: 999px) {
    #header-outer #top .mobile-user-account { display: none; }
}


/************************
 POPUP
 ************************/
.ruta-popup { align-items: center; display: flex; inset: 0; justify-content: center; position: fixed; z-index: 9999; }
.ruta-popup.hidden { display: none; }

.ruta-popup-overlay { animation: fadeIn 0.4s ease forwards; background: rgba(7, 40, 55, 0.7); backdrop-filter: blur(4px); inset: 0; position: absolute; }

.ruta-popup-content { animation: slideUp 0.45s ease forwards; background: #fff; border-radius: 16px; border-top: 6px solid var(--nectar-extra-color-1); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); max-width: 520px; padding: 2rem 1.8rem; position: relative; text-align: center; width: 90%; }
.ruta-popup h2 { color: var(--nectar-accent-color); font-weight: 700; margin-bottom: 1rem; }  
.ruta-popup p { color: #333; font-size: 1rem; line-height: 1.5; }

.ruta-popup .ruta-btn { background-color: var(--nectar-extra-color-1); border-radius: 8px; color: var(--nectar-accent-color); display: inline-block; font-weight: 600; margin-top: 1rem; padding: 0.75rem 1.4rem; text-decoration: none; transition: all 0.3s ease; }
.ruta-popup .ruta-btn:hover { background-color: #ffe381; }

.ruta-popup-close { background: none; border: none; color: #666; cursor: pointer; font-size: 1.8rem; position: absolute; right: 14px; top: 10px; transition: color 0.3s; }
  
.ruta-popup-close:hover { color: var(--nectar-accent-color); }
  
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
  
@keyframes slideUp {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
}
  

/************************
 FOOTER
 ************************/
.mobile-menu { background-color: var(--white); border-top: 1px solid #eaeaea; bottom: 0; left: 0; padding: 17px 15px 12px; position: fixed; text-align: center; width: 100%; z-index: 9999999999999; }
.mobile-menu ul, .mobile-menu ul > li { list-style: none; margin-left: 0; padding-left: 0; }
.mobile-menu ul { display: grid; grid-template-columns: repeat(5, 1fr); margin-bottom: 0; }
.mobile-menu ul > li > a { color: #999999; font-size: 12px; line-height: 17px; }

.mobile-menu ul > li > a i { display: block; font-size: 18px; margin: 0 auto 3px; }
.mobile-menu ul > li > a .fa-solid { font-weight: bold; }
.mobile-menu ul > li > a.active { color: var(--nectar-accent-color); }
.mobile-menu ul > li > a.active i { color: var(--nectar-accent-color); }

#footer-outer .widget h4 { font-size: 20px; letter-spacing: 1px; line-height: 24px; }
#footer-outer .widget p { font-size: 14px; line-height: 19px; }

#footer-outer #copyright[data-layout="centered"] { padding-block: 0 25px; }
#footer-outer #copyright p { font-size: 13px; line-height: 16px; }

@media (min-width: 1000px) {
    .mobile-menu { display: none!important; }
}

@media (max-width: 999px) {
    .ocm-effect-wrap .ocm-effect-wrap-inner { padding-bottom: 73px; }
    .slide-out-widget-area-toggle.mobile-icon.slide-out-from-right { display: none!important; }

    #footer-outer { text-align: center; }
    #footer-widgets .container .col.span_3:nth-child(2) { margin-bottom: 5px!important; }
    #footer-outer .widget.widget_media_image:first-child { margin-bottom: 20px!important; }
    #footer-outer img { max-height: 80px; max-width: 180px!important; }

    #footer-outer #copyright p { font-size: 12px; line-height: 15px; }
}


/************************
 HOMEPAGE
 ************************/
body.home .container-wrap { padding-top: 20px; }

.restaurants-list, .restaurants-list > li, .tapas-list, .tapas-list > li { list-style: none; margin-left: 0; padding-left: 0; }
.restaurants-list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 15px; }
.restaurants-list > li { border: 1px solid #eaeaea; border-radius: 10px; padding: 6px 6px 18px; }
.restaurants-list > li > a { aspect-ratio: 4/3; display: inline-block; margin-bottom: 6px!important; overflow: hidden; position: relative; width: 100%; }
.restaurants-list > li img { border-radius: 10px; height: 100%!important; left: 0; position: absolute; top: 0; object-fit: cover; width: 100%!important; }
.restaurants-list > li h4, .restaurants-list > li p { padding-inline: 6px; }
.restaurants-list > li p { font-size: 14px; line-height: 19px; }

.restaurants-list > li img:hover, .tapas-list > li img:hover { filter: grayscale(0.8); transition: .5s all ease; }
.restaurants-list > li h4 a:hover, .tapas-list > li h4 a:hover { color: var(--nectar-extra-color-3); }

.tapas-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.tapas-list > li { border: 1px solid #eaeaea; border-radius: 10px; padding: 0 0 18px; }
.tapas-list > li img { aspect-ratio: 4/3; border-radius: 10px 10px 0 0; margin-bottom: 6px!important; object-fit: cover; width: 100%!important; }
.tapas-list > li h4, .tapas-list > li p { padding-inline: 15px; }
.tapas-list > li h4 { margin-bottom: 0!important; }
.tapas-list > li p { font-size: 14px; line-height: 19px; }
.tapas-list > li .rating i { color: var(--nectar-extra-color-2); margin-right: 3px; }

@media (max-width: 1299px) {
    .restaurants-list { grid-template-columns: repeat(4, 1fr); }
}

@media (min-width: 1000px) {
    .tapas-list.two-columns { grid-template-columns: repeat(2, 1fr); }
    .tapas-list.three-columns { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 999px) {
    #hero img[src*="ruta-de-la-tapa-2025.png"] { max-width: 350px; width: 70%; }

    .restaurants-list, .tapas-list { gap: 10px; grid-template-columns: repeat(3, 1fr); }
    .restaurants-list > li { border-radius: 6px; padding: 4px 4px 18px; }
    .restaurants-list > li img { border-radius: 6px; }
    .restaurants-list > li p, .tapas-list > li p { font-size: 13px; line-height: 16px; }

    .tapas-list > li { border-radius: 6px; }
    .tapas-list > li img { border-radius: 6px 6px 0 0; }
    .tapas-list > li h4, .tapas-list > li p { padding-inline: 12px; }
}

@media (max-width: 690px) {
    #hero h3 { font-size: 22px; line-height: 26px; }
    #hero .nectar-button.large { width: 100%; }
    .restaurants-list, .tapas-list { grid-template-columns: repeat(2, 1fr); }
    .tapas-list > li .rating i { margin-right: 1px; }
}


/************************
 PAGES
 ************************/
body.post-type-archive-restaurant .container-wrap, body.post-type-archive-tapa .container-wrap { padding-top: 30px; }

ul.breadcrumb, ul.breadcrumb > li { display: inline-block; list-style: none; margin-bottom: 0; margin-left: 0; padding-left: 0; }
ul.breadcrumb { margin-bottom: 15px; }
ul.breadcrumb > li { float: left; }
ul.breadcrumb > li, ul.breadcrumb > li > a { font-size: 13px; line-height: 18px; }
ul.breadcrumb > li:not(:last-child):after { content: '/'; margin-inline: 5px; }
ul.breadcrumb > li a { color: #999999; }
ul.breadcrumb > li a:hover { color: var(--nectar-extra-color-3); }
ul.breadcrumb > li:last-child { color: #4a4a4a; font-weight: 500; }
ul.breadcrumb > li.active { color: var(--nectar-accent-color); }

.categories-list, .categories-list > li { display: inline-block; list-style: none; margin-left: 0; padding-left: 0; }
.categories-list { margin-bottom: 0; }
.categories-list > li + li { margin-left: 10px; }
.categories-list > li .badge img { border-radius: 0!important; float: left; margin-bottom: 0!important; margin-right: 6px; max-width: 18px!important; padding: 0!important; position: relative; top: 1px; width: 18px!important; }
.categories-list > li a:hover .badge, .categories-list > li a .badge.active { background-color: var(--nectar-accent-color); border-color: var(--nectar-accent-color); color: var(--white); }

.orderby-select { background-color: transparent; border: 1px solid #eaeaea; border-radius: 25px; display: inline-block; font-size: 13px!important; line-height: 19px; min-width: 150px; padding: 8px 16px; width: auto; }

.tapas-title { margin-bottom: 16px; padding-bottom: 14px; position: relative; }
.tapas-title:after { content: ''; background-color: var(--nectar-extra-color-1); bottom: 0; display: block; height: 4px; left: 0; position: absolute; width: 100px; }

#restaurants-map { aspect-ratio: 16/9; border: 1px solid #e0e0e0; border-radius: 12px; box-shadow: 0 3px 15px rgba(0,0,0,0.05); margin-bottom: 20px; }
.leaflet-popup-content img { height: auto; max-height: 250px; object-fit: cover; width: 100%; }
.popup-btn { background-color: var(--nectar-accent-color); border-radius: 25px; color: var(--white)!important; display: inline-block; font-size: 11px; line-height: 17px; padding: 5px 16px; text-transform: uppercase; }
.popup-btn:hover { background-color: var(--nectar-extra-color-3); color: var(--white); }

@media (max-width: 999px) {
    .leaflet-popup { max-width: 260px; }
    .leaflet-popup-content img { max-height: 100px; }
}

@media (max-width: 690px) {
    .categories-list > li + li { margin-left: 0; }
    .categories-list > li:not(:last-child) {margin-right: 5px; } 
    #restaurants-map { height: 400px; width: 100%; }
}

@media (max-width: 492px) {
    .categories-list > li:last-child { margin-left: 0; margin-top: 20px; }
}


/************************
 SINGLE RESTAURANT
 ************************/
body.single-restaurant .container-wrap, body.single-tapa .container-wrap { padding-top: 20px; }
#single-restaurant-header { background-position: center; background-repeat: no-repeat; background-size: cover; border-radius: 15px; height: 400px; position: relative; }
#single-restaurant-header:before { content: ''; background-color: rgba(0, 0, 0, 0.3); border-radius: 20px; bottom: 0; left: 0; position: absolute; width: 100%; height: 100%; }
#single-restaurant-header h1 { bottom: 25px; color: var(--white); left: 30px; margin-bottom: 0; position: absolute; z-index: 1; }

.restaurant-content.close { height: 65px; overflow: hidden; }

.images-list, .images-list > li { list-style: none; margin-bottom: 0; margin-left: 0; padding-left: 0; }
.images-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.images-list > li > a { aspect-ratio: 1/1; display: inline-block; overflow: hidden; position: relative; width: 100%; }
.images-list > li img { border-radius: 10px; display: inline-block; height: 100%!important; left: 0; margin-bottom: 0!important; object-fit: cover; position: absolute; top: 0; width: 100%!important; }
.images-list > li img:hover { opacity: 0.8; }

.white-box { border: 1px solid #eaeaea; border-radius: 15px; padding: 20px 20px 25px; }
.white-box.light-box { background-color: #f2f2f2; border-color: #f2f2f2; }
.white-box iframe { aspect-ratio: 4/3; border-radius: 10px; }
.white-box .button { background-color: var(--nectar-accent-color); border-radius: 30px; color: var(--white); display: inline-block; padding: 10px 25px; text-align: center; width: 100%; }
.white-box .button + .button { margin-left: 8px; }
.white-box .button.button-sm { font-size: 13px; line-height: 18px; padding: 7px 23px; text-transform: uppercase; }
.white-box .button.button-extra-color-1 { background-color: var(--nectar-extra-color-1); color: var(--black); }
.white-box .button.w-auto { width: auto; }
.white-box .button:hover { background-color: var(--nectar-extra-color-3); }

.white-box.light-box h4.xxl { font-size: 70px; font-weight: 800; line-height: 60px; margin-top: 10px; }

.text-with-icon { padding-left: 40px; position: relative; }
.text-with-icon i { color: var(--nectar-extra-color-3); font-size: 25px; left: 0; position: absolute; top: 0; transform: translateY(-5%); }
.text-with-icon.bubble-icon { color: #999999; font-family: 'Bebas Neue', sans-serif; font-size: 22px; font-weight: normal; letter-spacing: 1px; line-height: 38px; padding-left: 50px; }
.text-with-icon.bubble-icon i { background-color: var(--nectar-extra-color-3); border-radius: 50%; color: var(--white); font-size: 20px; height: 40px; line-height: 42px; text-align: center; width: 40px; }

.highlighted-box { background-color: #f8f0de; border-radius: 15px; padding: 25px; }
.votes-average, .star-rating { color: #d8a800; }
.votes-average { font-size: 70px; font-weight: bold; letter-spacing: 1px; line-height: 80px; margin-bottom: 10px; }
.star-rating { margin-bottom: 20px!important; }
.star-rating i { margin-right: 6px; }

#tapa-vote-form { margin-top: 25px; }
body[data-button-style=rounded] .container-wrap #tapa-vote-form button[type="submit"] { background-color: var(--nectar-accent-color); border-radius: 30px; color: var(--white); display: inline-block; font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500; letter-spacing: 1px; line-height: 19px; margin-top: 10px; min-width: 180px; padding: 10px 25px!important; text-transform: uppercase; }

@media (max-width: 999px) {
    #single-restaurant-header { height: 300px; }
    #single-restaurant-header h1 { bottom: 20px; left: 25px; }

    .restaurant-content.close { height: 62px; }
}

@media (max-width: 690px) {
    #single-restaurant-header { height: 200px; }
    #single-restaurant-header h1 { bottom: 15px; font-size: 35px; left: 20px; line-height: 39px; }
    .images-list { gap: 10px; }

    .white-box { padding-inline: 15px; }
}


/************************
 SINGLE TAPA
 ************************/
#single-tapa img.main-image { aspect-ratio: 16/9; border-radius: 10px; margin-bottom: 15px; object-fit: cover; width: 100%!important; }
#single-tapa .rating i { color: var(--nectar-extra-color-1); margin-right: 2px; }
#single-tapa .rating .button { background-color: var(--nectar-extra-color-1); border-radius: 20px; color: var(--nectar-accent-color); display: inline-block; font-size: 12px; line-height: 15px; margin-left: 10px; padding: 5px 12px; text-transform: uppercase; }
#single-tapa .rating .button:hover { background-color: var(--nectar-accent-color); color: var(--white); }

.badge { border: 1px solid var(--nectar-extra-color-1); border-radius: 25px; display: inline-block; font-size: 13px; line-height: 18px; padding: 5px 20px 5px 15px; text-transform: uppercase; }
.badge img.category-icon { border-radius: 0!important; margin-bottom: 0!important; margin-right: 6px; max-width: 18px!important; padding: 0!important; position: relative; top: 2px; width: 18px!important; }

@media (max-width: 690px) {
    .badge { font-size: 11px; line-height: 16px; padding: 5px 12px 5px 8px; }
    .badge img.category-icon { max-width: 16px!important; }
}


/************************
 LOGIN/REGISTER
 ************************/
.alert { border: 1px solid transparent; border-radius: .25rem; font-size: 13px; line-height: 18px; margin-bottom: 1rem; padding: .75rem 1.25rem; position: relative; }
.alert-success { background-color: #d4edda; border-color: #c3e6cb; color: #155724; }
.alert-danger { background-color: #f8d7da; border-color: #f5c6cb; color: #721c24; }
.alert-warning { background-color: #fff3cd; border-color: #ffeeba; color: #856404; }

#login-content-wrap { background-color: #cccccc; display: flex; justify-content: center; align-items: center; min-height: 100vh; }
.login-content { background-color: var(--white); border-radius: 15px; display: grid; grid-template-columns: repeat(2, 1fr); max-width: 1000px; width: calc(100% - 30px); }
.login-content .login-content-column:first-child { padding: 60px 45px; }
.login-content h1, .login-content p { text-align: center; }

.login-content form { margin-block: 15px 30px; }
.login-content form .form-group { margin-bottom: 15px; position: relative; }
.login-content form .form-group i { color: #999999; font-size: 16px; left: 15px; position: absolute; top: 50%; transform: translateY(-50%); }
.login-content form label, .login-content form a { font-size: 14px; line-height: 19px; }
.login-content form a { color: var(--nectar-accent-color); text-decoration: underline; }
.login-content form a:hover { color: var(--nectar-extra-color-3); }
.login-content form input[type="text"], .login-content form input[type="email"], .login-content form input[type="tel"], .login-content form input[type="password"] { background-color: transparent; border: 1px solid #eaeaea; border-radius: 30px; padding: 8px 25px 8px 42px; width: 100%; }
.login-content form button[type="submit"] { background-color: var(--nectar-extra-color-1); border-radius: 30px; color: var(--black); display: inline-block; font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500; line-height: 19px; padding: 12px 25px; text-transform: uppercase; width: 100%; }
.login-content form button[type="submit"] i { margin-right: 5px; }
.login-content form button[type="submit"]:hover { background-color: var(--nectar-accent-color); color: var(--white); }

div.nsl-container[data-align="left"] { margin-bottom: 25px; text-align: center!important; }

.login-content .btn { background-color: #eaeaea; border-radius: 30px; color: var(--black); display: block; font-size: 13px; font-weight: 500; line-height: 18px; margin: 10px auto 0; padding: 6px 15px; text-transform: uppercase; width: 140px; }
.login-content .btn:hover { background-color: var(--nectar-extra-color-3); color: var(--white); }

.login-content p.small { font-size: 13px; line-height: 18px; }
.login-content p.small a { color: #7a7a7a; }
.login-content p.small a:hover { color: var(--nectar-accent-color); }
.login-content p.small a i { margin-right: 5px; }

.login-content .login-content-column:last-child { background: url('assets/img/castillo-y-entorno-alcala-de-guadaira.jpg') no-repeat center center; background-size: cover; border-radius: 0 15px 15px 0; }

@media (max-width: 999px) {
    .login-content .login-content-column:first-child { padding: 50px 30px; }

    .login-content .login-actions > li + li { margin-left: 5px; }
    .login-content .login-actions > li > a { font-size: 12px; line-height: 17px; padding: 7px 23px; }

    .login-content form .row { padding-bottom: 0; }
    .login-content form .col.span_5 { margin-bottom: 10px; }
    .login-content form .col.span_7.text-right { text-align: left; }
}

@media (max-width: 850px) {
    .login-content { grid-template-columns: repeat(1, 1fr); }
    .login-content .login-content-column:first-child { padding: 30px 25px; }
    .login-content .login-content-column:last-child { display: none; }
}


/************************
 BASES
 ************************/
.rt-bases { color: var(--txt); margin: 40px auto; max-width: 950px; padding: 0 16px; }
.rt-bases h2 { font-size: clamp(28px,3.2vw,36px); line-height: 1.2; margin: 0 0 16px; color: var(--nectar-accent-color); }
.rt-small { font-size: 14px; color: #374151; }
.rt-hr { height: 1px; background: #e5e7eb; margin: 22px 0; border: 0; }
.rt-bases .lead { font-size: clamp(16px,2vw,18px); color: var(--muted); margin: 0 0 28px; }

.rt-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; padding: 22px 20px; margin: 14px 0; box-shadow: 0 2px 10px rgba(2,8,20,.04); }
.rt-card h3 { font-size: 20px; margin: 0 0 10px; color: #0f172a; }

.rt-kv { display: grid; grid-template-columns: 28px 1fr; gap: 12px; align-items: flex-start; }
.rt-emoji { font-size: 22px; line-height: 1.1; }
.rt-list { margin: 8px 0 0 0; padding-left: 18px; }
.rt-tag { display: inline-block; background: var(--c3); border: 1px dashed #d1d5db; border-radius: 999px; padding: 6px 10px; font-size: 13px; color: #334155; margin: 6px 8px 0 0; }
.rt-badge { display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(135deg,var(--nectar-extra-color-1),#ffe9a7); color: #2b2b2b; border-radius: 12px; padding: 10px 14px; font-weight: 600; }
.rt-grid { display: grid; grid-template-columns: 1fr; gap: 14px; }

.rt-timeline { display: grid; gap: 12px; margin-top: 10px; }
.rt-step { display: grid; grid-template-columns: 28px 1fr; gap: 12px; align-items: flex-start; }
.rt-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--nectar-extra-color-1); margin: 6px 9px 0 9px; box-shadow: 0 0 0 4px rgba(250,209,93,.25); }
.rt-note { font-size: 13px; color: var(--muted); margin-top: 6px; }

.rt-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.rt-cta a { background: var(--nectar-accent-color); color: #fff; text-decoration: none; padding: 10px 14px; border-radius: 10px; font-weight: 600; }
.rt-cta a.secondary { background: #0f172a; }

@media (min-width: 720px) {
    .rt-grid { grid-template-columns: 1fr 1fr; }
}


/************************
 RANKING
 ************************/
.top-tapas, .top-tapas > li { display: inline-block; list-style: none; margin-left: 0; padding-left: 0; width: 100%; }
.top-tapas { margin-bottom: 0; margin-top: 15px; }
.top-tapas > li { border: 1px solid #eaeaea; border-radius: 6px; margin-bottom: 10px; padding: 6px; }
.top-tapas > li .col-img, .top-tapas > li .col-text { float: left; }
.top-tapas > li .col-img { width: 130px; }
.top-tapas > li .col-img img { aspect-ratio: 4/3; border-radius: 6px; display: inline-block; float: left; height: auto; margin-bottom: 0!important; object-fit: cover; width: 100%; }

.top-tapas > li .col-text { margin-left: 15px; width: calc(100% - 145px); }
.top-tapas > li .col-text h5 { font-size: 20px; line-height: 24px; margin-bottom: 0; margin-top: 4px; }
.top-tapas > li .col-text p { font-size: 14px; line-height: 18px; margin-bottom: 6px; padding-bottom: 0; }
.top-tapas > li .col-text p strong { color: var(--nectar-accent-color); font-weight: 500; }
.top-tapas > li .col-text p.rating { font-size: 13px; font-style: italic; line-height: 17px; margin-bottom: 0; padding-bottom: 0; }
.top-tapas > li .col-text p.rating i { color: var(--nectar-extra-color-1); margin-right: 3px; }
