/**
 * Versión: 1.0.18. Última modificación: 2026-09-18.
 * Mantiene el aspecto rosa de los mapas originales sin alterar otros módulos de WordPress.
 */
.fbw-map-widget {
    font-family:inherit !important;
    color:#212529 !important;
    width:100% !important;
    margin:0 auto !important
}
.fbw-map-widget * {
    box-sizing:border-box !important
}
.fbw-restaurant-card,.fbw-restaurant-card * {
    box-sizing:border-box !important
}
.fbw-map-widget [hidden],.fbw-map-more[hidden],.fbw-map-results[hidden],.fbw-clear-search[hidden] {
    display:none!important
}
.fbw-map-canvas {
    width:100% !important;
    height:450px !important;
    min-height:450px !important;
    background:#f8f5f6 !important
}
.fbw-map-fallback {
    display:grid !important;
    place-items:center !important;
    text-align:center !important;
    padding:2rem !important;
    color:#5a4c52 !important
}
.fbw-home-categories {
    width:100% !important;
    margin:0 auto !important;
    padding:1rem 0 1.2rem !important;
    text-align:center !important
}
.fbw-category-options {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    align-items:start !important;
    gap:0 !important
}
.fbw-category-option {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    min-width:0 !important;
    text-align:center !important
}
.fbw-category-icon {
    display:flex !important;
    min-height:48px !important;
    align-items:center !important;
    justify-content:center !important
}
.fbw-category-option img {
    display:block !important;
    width:48px !important;
    height:48px !important;
    object-fit:contain !important
}
.fbw-category-option input {
    width:20px !important;
    height:20px !important;
    margin:.5rem 0 .2rem !important;
    accent-color:#ff0099 !important;
    cursor:pointer !important
}
.fbw-category-option label {
    display:block !important;
    color:#212529 !important;
    font-family:agenda-bold,AgendaMedium,Arial,sans-serif !important;
    font-size:1.5rem !important;
    font-weight:700 !important;
    line-height:1.1 !important;
    text-transform:uppercase !important;
    cursor:pointer !important
}
.fbw-home-categories p {
    margin:.65rem 0 0 !important;
    font-family:agenda-light,Arial,sans-serif !important;
    font-size:1rem !important;
    text-align:center !important
}
.fbw-category-layout {
    display:grid !important;
    grid-template-columns:minmax(180px,1fr) minmax(0,3fr) !important;
    gap:1.5rem !important;
    align-items:stretch !important
}
.fbw-map-filters {
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:1rem !important
}
.fbw-map-filters h2 {
    font-family:agendablack,AgendaMedium,sans-serif !important;
    color:#ff0099 !important;
    font-size:clamp(1.7rem,2.4vw,2.5rem) !important;
    line-height:1.1 !important;
    margin:0 0 .5rem !important
}
.fbw-map-filters label {
    display:flex !important;
    flex-direction:column !important;
    gap:.4rem !important;
    font-family:agenda-bold,sans-serif !important;
    font-size:1.1rem !important;
    font-weight:700 !important;
    color:#212529 !important
}
.fbw-map-filters select,.fbw-map-filters .fbw-autocomplete-input {
    width:100% !important;
    min-height:43px !important;
    border:1px solid #bdbdbd !important;
    border-radius:4px !important;
    padding:.5rem !important;
    background:#fff !important;
    color:#212529 !important;
    font:inherit !important;
    font-size:1rem !important
}
.fbw-map-search {
    position:relative !important;
    margin:1.5rem 0 .6rem !important
}
.fbw-map-search input {
    display:block !important;
    width:100% !important;
    min-height:42px !important;
    padding:.55rem 2.4rem .55rem .8rem !important;
    border:2px solid #ff0099 !important;
    border-radius:4px !important;
    font:inherit !important;
    font-size:1.05rem !important;
    background:#fff !important;
    color:#212529 !important
}
.fbw-map-search input:focus {
    outline:0 !important;
    box-shadow:0 0 12px #ff009955 !important
}
.fbw-clear-search {
    position:absolute !important;
    right:.35rem !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:32px !important;
    height:32px !important;
    border:0 !important;
    background:transparent !important;
    color:#333 !important;
    font-size:1.7rem !important;
    line-height:1 !important;
    cursor:pointer !important
}
#borrar {display:none!important}
.fbw-map-results {
    display:grid !important;
    gap:0 !important
}
.fbw-restaurant-card {
    display:grid !important;
    grid-template-columns:270px minmax(0,300px) minmax(0,320px) !important;
    gap:56px !important;
    justify-content:center !important;
    align-items:start !important;
    min-height:370px !important;
    padding:38px 16px !important;
    margin:0 0 20px !important;
    font-family:agenda-light,Arial,sans-serif !important;
    background:#f0ede6 !important
}
.fbw-restaurant-card:nth-child(even) {
    background:#fff !important
}
.fbw-empty-offers-card {align-items:center !important;min-height:280px !important}
.fbw-empty-offers-card .fbw-restaurant-details {grid-column:2/-1 !important}
.fbw-empty-offers-card .fbw-restaurant-details h3 {color:#c00073!important;font-size:clamp(24px,3vw,36px) !important;line-height:1.2 !important;margin:0!important}
.fbw-restaurant-image {
    display:block !important;
    width:230px !important;
    max-width:100% !important;
    height:230px !important;
    object-fit:contain !important
}
.fbw-restaurant-details {
    min-width:0 !important;
    text-align:left!important;
    overflow-wrap:break-word !important
}
.fbw-restaurant-details h3 {
    color:#212529!important;
    font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif !important;
    font-size:20px !important;
    font-weight:700 !important;
    line-height:30px !important;
    text-align:left!important;
    padding:0!important;
    margin:0 0 28px!important
}
.fbw-restaurant-details p {
    color:#212529 !important;
    margin:0 0 16px!important;
    padding:0!important;
    font-size:18px !important;
    text-align:left!important;
    word-spacing:normal!important;
    letter-spacing:normal!important
}
.fbw-restaurant-details .fbw-food-type {
    color:#ff0099 !important;
    font-family:agenda-bold,sans-serif !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:18px !important;
    margin-bottom:13px!important;
    text-transform:uppercase !important
}
.fbw-restaurant-details .fbw-price-range {
    font-size:20px !important;
    font-weight:700 !important;
    line-height:20px !important
}
.fbw-restaurant-details .fbw-address {
    font-family:agenda-light,Arial,sans-serif !important;
    line-height:27px !important
}
.fbw-restaurant-details a {
    display:block !important;
    color:#ff0099 !important;
    margin:0 0 16px !important;
    font-family:agenda-bold,sans-serif !important;
    font-weight:700 !important;
    font-size:20px !important;
    line-height:23px !important;
    text-decoration:none !important;
    overflow-wrap:anywhere !important
}
.fbw-restaurant-details .fbw-phone {color:#212529 !important}
.fbw-restaurant-details a:hover {
    text-decoration:underline !important
}
.fbw-restaurant-offer {
    box-sizing:border-box !important;
    border:1px solid #ff0099 !important;
    padding:1.2rem !important;
    min-width:0 !important;
    width:100% !important;
    max-width:320px !important;
    font-family:agenda-light,Arial,sans-serif !important;
    font-size:1rem !important;
    line-height:1.4 !important;
    text-align:left!important
}
.fbw-restaurant-offer>img {
    display:block !important;
    width:100% !important;
    max-height:90px !important;
    object-fit:contain !important;
    margin-bottom:26px !important
}
.fbw-offer-description {
    font-family:agenda-light,Arial,sans-serif !important;
    font-size:16px !important;
    font-weight:600 !important;
    line-height:24px !important;
    margin:0!important;
    padding:0!important;
    overflow-wrap:anywhere !important
}
.fbw-list-offer:not(.fbw-offer-expanded) .fbw-offer-description {max-height:72px !important;overflow:hidden !important}
.fbw-offer-price {
    font-family:AgendaMedium,agenda-light,Arial,sans-serif !important;
    font-weight:700 !important;
    margin:.55rem 0 0 !important
}
.fbw-offer-toggle {
    border:0 !important;
    padding:0 !important;
    background:none !important;
    color:#ff0099 !important;
    font-family:agendablack,Arial,sans-serif !important;
    font-size:20px !important;
    line-height:30px !important;
    cursor:pointer !important
}
.fbw-offer-toggle[hidden] {display:none!important}
.fbw-card-actions {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    align-items:center !important;
    gap:6px !important;
    margin-top:25px !important
}
.fbw-card-actions a,.fbw-card-actions button,.fbw-map-more button {
    border:1px solid #ff0099 !important;
    border-radius:0 !important;
    padding:.4rem .8rem !important;
    background:#fff !important;
    color:#ff0099 !important;
    font-family:AgendaMedium,sans-serif !important;
    font-size:1rem !important;
    text-decoration:none !important;
    cursor:pointer !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important
}
.fbw-card-actions .fbw-reserve-link,.fbw-card-actions .fbw-map-link {
    background:#ff0099 !important;
    color:#fff !important;
    border-color:#ff0099 !important
}
.fbw-card-actions .fbw-share-button {
    background:#111 !important;
    color:#fff !important;
    border-color:#111 !important
}
.fbw-restaurant-offer .fbw-card-actions>a,.fbw-restaurant-offer .fbw-card-actions>button {
    min-width:0 !important;
    width:100% !important;
    height:46px !important;
    margin:0 !important;
    padding:3px !important;
    font-family:agenda-light,Arial,sans-serif !important;
    font-size:16px !important;
    line-height:1.15 !important;
    text-align:center !important;
    white-space:normal !important
}
.fbw-restaurant-offer .fbw-reserve-link {font-size:18px!important;font-weight:600 !important}
/* Las reglas antiguas por posición se conservan comentadas; ahora cada botón tiene su clase. */
/* .fbw-restaurant-offer .fbw-card-actions button:first-of-type {font-weight:700 !important} */
/* .fbw-restaurant-offer .fbw-card-actions button:nth-of-type(2) {font-size:11px !important} */
.fbw-card-actions a:hover,.fbw-card-actions .fbw-map-link:hover,.fbw-map-more button:hover {
    background:#ff0099 !important;
    color:#fff !important
}
.fbw-card-actions .fbw-share-button:hover {
    background:#111 !important;
    color:#fff !important;
    border-color:#111 !important
}
.fbw-map-more {
    display:flex !important;
    justify-content:center !important;
    padding:1.1rem !important;
    clear:both !important
}
.fbw-map-more button {
    min-height:46px !important;
    background:#ff0099 !important;
    color:#fff !important;
    border-color:#ff0099 !important;
    font-family:agenda-light,Arial,sans-serif !important;
    font-size:18px !important;
    font-weight:600 !important
}
#BotonMas.fbw-map-more {
    margin-top:16px!important;
    padding:0 0 1.1rem!important
}
.fbw-map-overlay {
    position:absolute !important;
    z-index:10 !important;
    width:260px !important;
    max-width:calc(100vw - 30px) !important;
    padding:12px 16px !important;
    background:#fff !important;
    border:1px solid #ddd !important;
    border-radius:5px !important;
    box-shadow:0 3px 14px #0003 !important
}
.fbw-map-overlay:after {
    content:"" !important;
    position:absolute !important;
    top:100% !important;
    left:calc(50% - 10px) !important;
    border-width:10px 10px 0 !important;
    border-style:solid !important;
    border-color:#fff transparent transparent !important
}
.fbw-map-overlay>img {
    display:block !important;
    width:100% !important;
    height:150px !important;
    object-fit:contain !important;
    margin-bottom:.6rem !important
}
.fbw-overlay-title {
    font-family:agendablack,AgendaMedium,sans-serif !important;
    font-size:1.1rem !important;
    margin:0 0 .6rem !important
}
.fbw-overlay-offer {
    max-height:180px !important;
    overflow:auto !important
}
.fbw-map-overlay .fbw-offer-description {
    font-size:.9rem !important
}
.fbw-map-overlay .fbw-reserve-link {
    display:inline-block !important;
    border:1px solid #ff0099 !important;
    color:#ff0099 !important;
    text-decoration:none !important;
    padding:.3rem .65rem !important;
    margin-top:.7rem !important
}
.fbw-share-dialog {
    border:0 !important;
    border-radius:8px !important;
    max-width:min(500px,calc(100vw - 30px)) !important;
    padding:2rem !important;
    box-shadow:0 8px 30px #0004 !important
}
.fbw-share-dialog::backdrop {
    background:#0008 !important
}
.fbw-share-dialog h2 {
    margin:0 0 .8rem !important
}
.fbw-share-channels {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:.5rem !important;
    margin:1rem 0 !important
}
.fbw-share-channels a,.fbw-share-channels button,.fbw-share-close {
    border:1px solid #ff0099 !important;
    padding:.35rem .65rem !important;
    background:#fff !important;
    color:#c00073 !important;
    text-decoration:none !important;
    font:inherit !important;
    cursor:pointer !important
}
.fbw-share-close {
    background:#ff0099 !important;
    color:#fff !important
}
@media(max-width:1180px) {
    .fbw-restaurant-card {
        grid-template-columns:minmax(150px,230px) minmax(170px,270px) minmax(220px,320px) !important;
        gap:clamp(18px,4vw,50px) !important;
        padding-inline:clamp(20px,4vw,45px) !important
    }
}
@media(max-width:900px) {
    .fbw-category-layout {
        grid-template-columns:1fr !important
    }
    .fbw-map-filters {
        display:grid !important;
        grid-template-columns:repeat(auto-fit,minmax(170px,1fr)) !important;
        align-items:end !important
    }
    .fbw-map-filters h2 {
        grid-column:1/-1 !important
    }
    .fbw-restaurant-card {
        grid-template-columns:minmax(130px,230px) minmax(180px,1fr) !important;
        gap:1.5rem !important
    }
    .fbw-restaurant-offer {
        grid-column:1/-1 !important
    }
}
@media(max-width:560px) {
    .fbw-empty-offers-card .fbw-restaurant-details {grid-column:auto !important}
    .fbw-restaurant-card {
        grid-template-columns:1fr !important;
        padding:1rem !important;
        gap:.8rem !important;
        min-height:0 !important
    }
    .fbw-restaurant-image {
        width:100% !important;
        height:210px !important
    }
    .fbw-restaurant-offer {
        grid-column:auto !important
    }
    .fbw-map-canvas {
        height:380px !important;
        min-height:380px !important
    }
    .fbw-category-option label {
        font-size:.9rem !important
    }
}
@media(max-width:360px) {
    .fbw-restaurant-offer {
        padding:.9rem !important
    }
    .fbw-restaurant-offer .fbw-card-actions {
        gap:2px !important
    }
    .fbw-restaurant-offer .fbw-card-actions>a,.fbw-restaurant-offer .fbw-card-actions>button {
        padding:.25rem !important;
        font-size:11px !important;
        line-height:1.1 !important
    }
}
.fbw-offer-original-price { margin: .6rem 0 !important; color: #111 !important; font-weight: 700 !important; }
.fbw-offer-original-price del { text-decoration-color: #ff0099 !important; text-decoration-thickness: 2px !important; }
.fbw-menu-link { display: block !important; width: fit-content !important; margin: .75rem 0 !important; color: #b80070 !important; text-decoration: underline !important; }
.fbw-map-canvas .leaflet-popup-content .fbw-map-overlay { position: static !important; width: auto !important; margin: 0 !important; box-shadow: none !important; }
.fbw-map-canvas .leaflet-control { z-index: 800 !important; }
.fbw-map-canvas.leaflet-container { z-index: 1 !important; }

/* Prioridad de las listas y estados ocultos del plugin frente al tema. */
.sin-puntos, body ul.sin-puntos, body ol.sin-puntos, body #page-container ul.sin-puntos, body #page-container ol.sin-puntos { list-style: none !important; padding-left: 0 !important; }
[class*="fbw-"][hidden], .fbw-public-form [hidden], .fbw-map-widget [hidden], .fbw-admin-entry-form [hidden] { display: none !important; }

.fbw-home-offer-filter { margin-bottom: 16px !important; }
.fbw-home-offer-filter label { display: block !important; }
.fbw-home-offer-filter select { width: 100% !important; max-width: 420px !important; padding: 10px !important; font-size: 16px !important; }
