/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */
.thumbnail-container #gsr .text-center{
	text-align: right!important;
}
.cspec2{
    float: none!important;
}
.time_circles>div{
    width: 25%!important;
}
.info-producto{
    width: 100%;
}
.dbcategorydesc .h2, .dbcategorydesc .h1, .dbcategorydesc .h3, .dbcategorydesc .h4, .dbcategorydesc .h5, .dbcategorydesc .h6{
    color: #878888;
    text-transform: none;
}
.video-descripcion{
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: 15px;
}
.video-descripcion iframe{
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media all and (min-width: 768px){
    .tabs .video-descripcion{
        width: 45%;
        padding-bottom: 25.31%;
    }
}
.wishlist-button-add i{
    color: #bde9c9!important;
    font-size: 50px!important;
}
.wishlist-button-add{
    box-shadow: none!important;
}
.wishlist-products-item .wishlist-button-add i, .thumbnail-container .wishlist-button-add i{
    font-size: 25px!important;
}
#header .header-top .search-widget{
    width: 100%;
}
#search_widget form i {
    position: relative;
    padding: 0;
}

/* Bicos: barra superior más cuidada */
#header .header-nav {
    background: linear-gradient(135deg, #777a7a 0%, #8b8d8d 54%, #777a7a 100%);
    border-bottom: 3px solid #bde9c9;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.2);
    color: #fff;
    min-height: 42px;
    overflow: hidden;
    position: relative;
}

#header .header-nav::before {
    background:
        radial-gradient(circle at 16px 10px, rgba(254,213,217,.42) 0 3px, transparent 4px),
        radial-gradient(circle at 54px 30px, rgba(189,233,201,.32) 0 3px, transparent 4px);
    background-size: 82px 42px;
    content: "";
    inset: 0;
    opacity: .55;
    pointer-events: none;
    position: absolute;
}

#header .header-nav .container {
    position: relative;
    z-index: 1;
}

#header .header-nav .container::after {
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    color: #fff;
    content: "Regalos bonitos · atención cercana · tienda en Asturias";
    font-size: 13px;
    font-weight: 800;
    left: 50%;
    letter-spacing: .02em;
    line-height: 1;
    padding: 8px 18px;
    position: absolute;
    text-transform: uppercase;
    top: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
}

#header .header-nav .col-xs-12 {
    align-items: center;
    display: flex;
    min-height: 42px;
    position: relative;
}

#header .header-nav #contact-link {
    align-items: center;
    display: flex;
    gap: 8px;
    min-height: 42px;
    padding: 0;
    width: auto;
}

#header .header-nav #contact-link .dudas {
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .01em;
}

#header .header-nav #contact-link .telefono a {
    align-items: center;
    background: #bde9c9;
    border-radius: 999px;
    color: #5e6363 !important;
    display: inline-flex;
    font-size: 15px;
    font-weight: 900;
    gap: 6px;
    line-height: 1;
    padding: 7px 13px 7px 10px;
    text-decoration: none !important;
    transition: background .18s ease, transform .18s ease;
}

#header .header-nav #contact-link .telefono a:hover,
#header .header-nav #contact-link .telefono a:focus {
    background: #fed5d9;
    transform: translateY(-1px);
}

#header .header-nav #contact-link .telefono a::before {
    content: none;
    display: none;
}

#header .header-nav #contact-link .telefono img {
    background: #fff;
    border-radius: 50%;
    box-sizing: content-box;
    display: block;
    flex: 0 0 14px;
    height: 14px;
    object-fit: contain;
    padding: 3px;
    width: 14px;
}

#header .header-nav .block-social {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    margin-left: auto;
    padding: 0;
    width: auto;
}

#header .header-nav .block-social ul {
    align-items: center;
    display: flex;
    gap: 7px;
    margin: 0;
}

#header .header-nav .block-social ul li {
    background-color: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50%;
    box-shadow: none;
    height: 30px;
    margin: 0;
    transition: background .18s ease, transform .18s ease;
    width: 30px;
}

#header .header-nav .block-social ul li:hover,
#header .header-nav .block-social ul li:focus-within {
    background-color: #fed5d9;
    transform: translateY(-1px);
}

#header .header-nav .block-social ul li a {
    height: 100%;
    width: 100%;
}

#header .header-nav .block-social ul li.tiktok a {
    align-items: center;
    color: transparent;
    display: flex;
    font-size: 0;
    justify-content: center;
    text-indent: 0;
}

#header .header-nav .block-social ul li.tiktok a::before {
    color: #fff;
    content: "♪";
    font-family: Arial, sans-serif;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}

@media (max-width: 991px) {
    #header .header-nav .container::after {
        display: none;
    }
}

@media (max-width: 575px) {
    #header .header-nav {
        min-height: 38px;
    }

    #header .header-nav .col-xs-12,
    #header .header-nav #contact-link {
        min-height: 38px;
    }

    #header .header-nav #contact-link .dudas {
        font-size: 14px;
    }

    #header .header-nav #contact-link .telefono a {
        font-size: 13px;
        padding: 6px 10px 6px 8px;
    }

    #header .header-nav .block-social ul li {
        height: 26px;
        width: 26px;
    }
}

/* Buscador Bicos: estilo temporal para probar una experiencia más visual */
#search_widget.bicos-search {
    overflow: visible;
    position: relative;
    z-index: 30;
}

#search_widget.bicos-search form {
    align-items: center;
    background: #fff;
    border: 2px solid transparent;
    border-radius: 999px;
    box-shadow: none;
    display: flex;
    min-height: 58px;
    overflow: hidden;
    transition: border-color .18s ease, transform .18s ease;
}

#search_widget.bicos-search form:focus-within {
    border-color: #a9e9c1;
    box-shadow: none;
    transform: translateY(-1px);
}

#search_widget.bicos-search form input[type="text"] {
    background: transparent;
    border: 0;
    color: #4f5757;
    flex: 1 1 auto;
    font-size: 16px;
    font-weight: 600;
    min-width: 0;
    padding: 0 14px 0 24px;
}

#search_widget.bicos-search form input[type="text"]::placeholder {
    color: #9aa0a0;
    font-weight: 500;
}

#search_widget.bicos-search form button[type="submit"] {
    align-items: center;
    background: #bde9c9;
    border: 0;
    border-radius: 50%;
    color: #fff;
    display: flex;
    height: 42px;
    justify-content: center;
    margin-right: 8px;
    min-width: 42px;
    position: static;
    transition: background .18s ease, transform .18s ease;
    width: 42px;
}

#search_widget.bicos-search form button[type="submit"]:hover,
#search_widget.bicos-search form button[type="submit"]:focus {
    background: #91dcae;
    transform: scale(1.04);
}

#search_widget.bicos-search form button[type="submit"] .search {
    color: #fff;
    font-size: 24px;
    line-height: 1;
}

#search_widget.bicos-search form button[type="submit"] span {
    display: none;
}

#search_widget.bicos-search form i.clear {
    color: #b7bcbc;
    cursor: pointer;
    font-size: 22px;
    margin-right: 8px;
    position: static;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results {
    background: #fff;
    border: 0;
    border-radius: 24px;
    box-shadow: none;
    box-sizing: border-box;
    margin-top: 12px;
    max-height: 520px;
    overflow: hidden auto;
    padding: 10px;
    width: min(460px, calc(100vw - 28px)) !important;
    z-index: 9999;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__title {
    color: #9aa0a0;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    padding: 8px 12px 10px;
    text-transform: uppercase;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results li {
    list-style: none;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results li a.bicos-search-result,
.ui-autocomplete.searchbar-autocomplete.bicos-search-results li a.bicos-search-result.ui-state-focus {
    align-items: center;
    background: #fff;
    border: 1px solid transparent;
    border-radius: 18px;
    color: #4f5757;
    display: flex;
    gap: 12px;
    margin: 0;
    min-height: 76px;
    padding: 10px;
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results li a.bicos-search-result:hover,
.ui-autocomplete.searchbar-autocomplete.bicos-search-results li a.bicos-search-result.ui-state-focus {
    background: #f3fff7;
    border-color: #d4f3df;
    cursor: pointer;
    transform: translateX(2px);
}

.bicos-search-result__thumb {
    align-items: center;
    background: #fafafa;
    border-radius: 14px;
    display: flex;
    flex: 0 0 58px;
    height: 58px;
    justify-content: center;
    overflow: hidden;
    width: 58px;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results li a .autocomplete-thumbnail {
    float: none;
    height: 100%;
    margin: 0;
    object-fit: cover;
    width: 100%;
}

.bicos-search-result__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

.bicos-search-result__name {
    color: #4f5757;
    display: -webkit-box;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.bicos-search-result__meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bicos-search-result__category {
    background: #f7e2e7;
    border-radius: 999px;
    color: #9b7d84;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 9px;
}

.bicos-search-result__price {
    color: #91dcae;
    font-size: 15px;
    font-weight: 900;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__footer {
    border-top: 1px solid #f1f1f1;
    margin-top: 8px;
    padding: 10px 8px 4px;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__footer a {
    background: #bde9c9;
    border-radius: 999px;
    color: #fff;
    display: block;
    font-weight: 900;
    padding: 12px 16px;
    text-align: center;
    text-decoration: none;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__footer a:hover {
    background: #91dcae;
}

@media (max-width: 767px) {
    #search_widget.bicos-search form {
        min-height: 44px;
    }

    #search_widget.bicos-search input[type="text"],
    #search_widget.bicos-search input[type="search"] {
        min-height: 44px;
    }

    #search_widget.bicos-search button[type="submit"] {
        height: 44px;
        width: 44px;
    }

    .ui-autocomplete.searchbar-autocomplete.bicos-search-results {
        left: 14px !important;
        right: 14px !important;
        width: calc(100vw - 28px) !important;
    }
}

/* Menú móvil Bicos: cajón lateral de ancho completo con categorías desplegables */
@media (min-width: 992px) {
    .bicos-mobile-category-toggle,
    .bicos-mobile-submenu {
        display: none !important;
    }
}

@media (max-width: 767px) {
    body.bicos-mobile-menu-open {
        overflow: hidden;
    }

    #header .header-top .mobile {
        background: #fff;
        border-bottom: 0;
        padding: 3px 0;
    }

    #header .header-top .mobile .row {
        align-items: center;
        display: flex;
        min-height: 58px;
    }

    #_mobile_logo {
        align-items: center;
        display: flex;
        flex: 0 0 50%;
        justify-content: center;
        padding: 0 !important;
        width: 50%;
    }

    #_mobile_logo a,
    #_mobile_logo img,
    #_mobile_logo .logo {
        display: block;
        max-height: 52px !important;
        max-width: 100%;
        width: auto;
    }

    #iconos-cabecera-movil {
        align-items: center !important;
        display: flex;
        flex: 0 0 25%;
        gap: 5px;
        justify-content: flex-end;
        min-height: 58px;
        padding: 0 8px 0 0 !important;
        width: 25%;
    }

    #iconos-cabecera-movil > div,
    #_mobile_cart,
    #_mobile_user_info {
        align-items: center;
        display: inline-flex !important;
        float: none !important;
        height: 42px;
        justify-content: center;
        margin: 0 !important;
        width: 42px;
    }

    #iconos-cabecera-movil a,
    #_mobile_cart a,
    #_mobile_user_info a {
        align-items: center;
        display: inline-flex !important;
        height: 42px;
        justify-content: center;
        line-height: 1;
        width: 42px;
    }

    #iconos-cabecera-movil img,
    #_mobile_cart img,
    #_mobile_user_info img {
        display: block;
        max-height: 42px;
        max-width: 42px;
        object-fit: contain;
        width: auto;
    }

    #iconos-cabecera-movil .material-icons,
    #_mobile_cart .material-icons,
    #_mobile_user_info .material-icons {
        font-size: 24px;
        line-height: 1;
    }

    #_mobile_cart .blockcart,
    #_mobile_cart .blockcart .header,
    #_mobile_cart .blockcart a {
        align-items: center;
        display: inline-flex !important;
        height: 42px;
        justify-content: center;
        line-height: 1;
        margin: 0 !important;
        position: relative;
        width: 42px;
    }

    #_mobile_cart .icono-carrito {
        display: block;
        height: 42px !important;
        max-height: 42px;
        max-width: 42px;
        object-fit: contain;
        width: auto !important;
    }

    #_mobile_cart .cart-products-count {
        align-items: center;
        color: #8f9292;
        display: inline-flex;
        font-size: 12px;
        font-weight: 900;
        height: 14px;
        justify-content: center;
        left: 50% !important;
        line-height: 1;
        min-width: 14px;
        pointer-events: none;
        position: absolute;
        text-align: center;
        top: 67% !important;
        transform: translate(-50%, -50%);
    }

    #menu-icon {
        align-items: center;
        display: flex;
        flex: 0 0 25%;
        gap: 5px;
        justify-content: flex-start;
        margin: 0 !important;
        min-height: 58px;
        padding: 0 0 0 8px !important;
        width: 25%;
    }

    #menu-icon > .material-icons {
        align-items: center;
        background: #91dcae;
        border: 0;
        border-radius: 50%;
        color: #fff;
        display: inline-flex !important;
        flex: 0 0 34px;
        font-size: 25px;
        font-weight: 700;
        height: 34px;
        justify-content: center;
        line-height: 34px;
        padding: 0;
        width: 34px;
    }

    #menu-icon .material-icons::after {
        content: none;
        display: none;
    }

    #mobile_top_menu_wrapper {
        background: #fff;
        border: 0;
        box-shadow: none;
        display: block !important;
        height: 100vh;
        left: 0;
        margin: 0;
        max-width: 100vw;
        overflow-y: auto;
        padding: 52px 0 28px;
        position: fixed;
        top: 0;
        transform: translateX(-105%);
        transition: transform .28s ease;
        width: 100vw;
        z-index: 99999;
    }

    body.bicos-mobile-menu-open #mobile_top_menu_wrapper {
        transform: translateX(0);
    }

    #mobile_top_menu_wrapper::before {
        background: linear-gradient(135deg, #fff8fb 0%, #f3fff7 100%);
        border-bottom: 1px solid #f3e5e8;
        color: #4f5757;
        content: "Categorías";
        display: flex;
        font-size: 17px;
        font-weight: 900;
        height: 52px;
        left: 0;
        letter-spacing: .02em;
        line-height: 52px;
        padding: 0 60px 0 18px;
        position: fixed;
        right: 0;
        text-transform: none;
        top: 0;
        z-index: 2;
    }

    .bicos-mobile-menu-close {
        align-items: center;
        background: #fff;
        border: 2px solid #bde9c9;
        border-radius: 50%;
        color: #4f5757;
        display: flex;
        font-size: 24px;
        height: 36px;
        justify-content: center;
        line-height: 1;
        position: fixed;
        right: 14px;
        top: 8px;
        width: 36px;
        z-index: 100000;
    }

    #mobile_top_menu_wrapper #top-menu,
    #mobile_top_menu_wrapper .top-menu[data-depth="0"] {
        display: block;
        margin: 0;
        padding: 0;
    }

    #mobile_top_menu_wrapper .top-menu li {
        list-style: none;
    }

    #mobile_top_menu_wrapper .top-menu[data-depth="0"] > li {
        background: #fff;
        border: 0;
        border-bottom: 1px solid #f3e5e8;
        border-radius: 0;
        margin: 0;
        overflow: visible;
        position: relative;
        width: 100%;
    }

    #mobile_top_menu_wrapper .top-menu a[data-depth="0"] {
        align-items: center;
        color: #4f5757;
        display: flex;
        font-size: 16px;
        font-weight: 900;
        box-sizing: border-box;
        gap: 12px;
        min-height: 68px;
        padding: 12px 64px 12px 18px;
        text-decoration: none;
        text-transform: none;
        white-space: normal;
        width: 100%;
    }

    #mobile_top_menu_wrapper .top-menu a[data-depth="0"] .icono-menu {
        align-items: center;
        background: #91dcae;
        border: 2px solid #bde9c9;
        border-radius: 50%;
        box-shadow: 0 2px 8px rgba(145, 220, 174, .35);
        display: flex;
        flex: 0 0 48px;
        height: 48px;
        justify-content: center;
        margin: 0;
        overflow: hidden;
        width: 48px;
    }

    #mobile_top_menu_wrapper .top-menu a[data-depth="0"] .icono-menu img {
        display: block;
        filter: contrast(1.25) saturate(1.2);
        height: 82%;
        object-fit: contain;
        opacity: 1 !important;
        width: 82%;
    }

    .bicos-mobile-category-toggle {
        align-items: center;
        background: #f3fff7;
        border: 0;
        border-left: 1px solid #e4f5eb;
        color: #4f5757;
        display: flex;
        height: 68px;
        justify-content: center;
        position: absolute;
        right: 0;
        top: 0;
        width: 58px;
    }

    .bicos-mobile-category-toggle .material-icons {
        font-size: 28px;
        transition: transform .18s ease;
    }

    #mobile_top_menu_wrapper li.bicos-open > .bicos-mobile-category-toggle .material-icons {
        transform: rotate(180deg);
    }

    .bicos-mobile-submenu {
        background: #fff8fb;
        border-top: 1px solid #f7e2e7;
        display: none;
        padding: 10px 18px 14px;
    }

    #mobile_top_menu_wrapper li.bicos-open > .bicos-mobile-submenu {
        display: block;
    }

    .bicos-mobile-view-all {
        align-items: center;
        background: #91dcae;
        border-radius: 999px;
        color: #fff !important;
        display: flex !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        justify-content: center;
        margin: 0 0 8px;
        min-height: 44px;
        padding: 10px 14px !important;
        text-align: center;
        text-decoration: none !important;
    }

    #mobile_top_menu_wrapper .bicos-mobile-submenu .top-menu {
        display: block;
        margin: 0;
        padding: 0;
        width: 100%;
    }

    #mobile_top_menu_wrapper .bicos-mobile-submenu li {
        clear: both;
        display: block !important;
        float: none !important;
        margin: 0 !important;
        width: 100% !important;
    }

    #mobile_top_menu_wrapper .bicos-mobile-submenu li a {
        align-items: center;
        border-bottom: 1px solid #f1e5e8;
        box-sizing: border-box;
        color: #4f5757;
        display: flex;
        font-size: 15px;
        font-weight: 800;
        justify-content: flex-start;
        min-height: 44px;
        padding: 10px 0;
        text-decoration: none;
        width: 100%;
    }

    #mobile_top_menu_wrapper .bicos-mobile-submenu li:last-child > a {
        border-bottom: 0;
    }

    #mobile_top_menu_wrapper .bicos-mobile-submenu .icono-menu,
    #mobile_top_menu_wrapper .bicos-mobile-submenu .bicos-mobile-category-toggle {
        display: none !important;
    }
}

/* BicosShop breadcrumb polish */
#wrapper .breadcrumb,
.breadcrumb {
    align-items: center;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(189,233,201,.70);
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(119,122,122,.08);
    box-sizing: border-box;
    color: #878888;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 7px;
    justify-content: flex-start;
    margin: 14px auto 24px !important;
    max-width: 1110px;
    overflow: hidden;
    padding: 7px 12px !important;
    position: relative;
    width: calc(100% - 24px);
}

#wrapper .breadcrumb::before,
.breadcrumb::before {
    content: none !important;
    display: none !important;
}

#wrapper .breadcrumb > span,
.breadcrumb > span {
    color: #878888;
    font-size: 11px !important;
    font-style: normal;
    font-weight: 800 !important;
    letter-spacing: .06em;
    line-height: 1.15;
    margin-right: 2px;
    text-transform: uppercase;
    white-space: nowrap;
}

#wrapper .breadcrumb ol,
.breadcrumb ol {
    align-items: center;
    display: flex !important;
    flex-wrap: wrap;
    gap: 2px;
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
}

#wrapper .breadcrumb li,
.breadcrumb li {
    align-items: center;
    display: inline-flex !important;
    line-height: 1.15;
}

#wrapper .breadcrumb li::after,
.breadcrumb li::after {
    color: #b8b8b8;
    content: "›" !important;
    font-size: 15px;
    font-weight: 700;
    margin: 0 4px !important;
}

#wrapper .breadcrumb li:last-child::after,
.breadcrumb li:last-child::after {
    content: "" !important;
    margin: 0 !important;
}

#wrapper .breadcrumb a,
.breadcrumb a {
    border-radius: 8px;
    color: #6f7070 !important;
    display: inline-flex;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    padding: 3px 5px;
    text-decoration: none !important;
    transition: background .18s ease, color .18s ease;
}

#wrapper .breadcrumb a:hover,
#wrapper .breadcrumb a:focus,
.breadcrumb a:hover,
.breadcrumb a:focus {
    background: rgba(189,233,201,.45);
    color: #4f5353 !important;
    outline: none;
}

#wrapper .breadcrumb li:last-child a,
.breadcrumb li:last-child a {
    background: transparent;
    color: #777a7a !important;
    font-weight: 800;
    pointer-events: none;
}

#wrapper .breadcrumb li span,
.breadcrumb li span,
#wrapper .breadcrumb ol span,
.breadcrumb ol span {
    font-size: inherit !important;
    font-style: normal !important;
    font-weight: inherit !important;
}

@media (max-width: 767px) {
    #wrapper .breadcrumb,
    .breadcrumb {
        border-radius: 12px;
        box-shadow: 0 4px 12px rgba(119,122,122,.07);
        gap: 3px 5px;
        margin: 10px auto 18px !important;
        padding: 6px 9px !important;
        width: calc(100% - 18px);
    }

    #wrapper .breadcrumb > span,
    .breadcrumb > span {
        font-size: 10px !important;
        letter-spacing: .04em;
    }

    #wrapper .breadcrumb a,
    .breadcrumb a {
        font-size: 12px;
        padding: 2px 3px;
    }

    #wrapper .breadcrumb li::after,
    .breadcrumb li::after {
        font-size: 13px;
        margin: 0 3px !important;
    }
}

.bicos-featured-products {
    box-sizing: border-box;
    margin: 45px auto 50px;
    max-width: 1110px;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

.bicos-featured-products *,
.bicos-featured-products *::before,
.bicos-featured-products *::after {
    box-sizing: border-box;
}

.bicos-products-heading {
    margin-bottom: 18px;
    text-align: center;
}

.bicos-products-heading .titulo-home {
    margin-bottom: 6px;
}

.bicos-products-heading p {
    color: #878888;
    font-size: 16px;
    margin: 0 auto;
    max-width: 620px;
}

.bicos-featured-products .products.bicos-products-carousel {
    display: block;
    flex-wrap: nowrap;
    margin: 0;
    overflow: hidden;
    width: 100%;
}

.bicos-products-carousel .owl-stage {
    align-items: stretch;
    display: flex;
}

.bicos-products-carousel .owl-item {
    display: flex;
}

.bicos-products-carousel .product-miniature {
    display: flex;
    float: none;
    margin: 0;
    max-width: none;
    padding: 0;
    width: 100% !important;
}

.bicos-products-carousel .thumbnail-container {
    border: 1px solid #f5f0e2;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    padding: 10px;
    width: 100%;
}

.bicos-products-carousel .thumbnail-container .product-thumbnail {
    align-items: center;
    background: #fff;
    display: flex;
    height: 230px !important;
    justify-content: center;
}

.bicos-products-carousel .thumbnail-container .product-thumbnail img {
    height: 100%;
    max-height: 230px;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.bicos-products-carousel .info-producto {
    display: flex;
    flex: 1 1 auto;
    gap: 8px;
    justify-content: space-between;
}

.bicos-products-carousel .product-description {
    flex: 1 1 auto;
    min-width: 0;
}

.bicos-products-carousel .product-title,
.bicos-products-carousel .product-title a,
.bicos-products-carousel .product-price-and-shipping {
    text-align: left !important;
}

.bicos-products-carousel .product-title a {
    display: block;
    font-size: 16px !important;
    line-height: 1.2;
}

.bicos-products-carousel .product-price-and-shipping {
    font-size: 21px !important;
}

.bicos-products-carousel .anadir-carrito-lista {
    align-items: flex-end;
    display: flex;
    flex: 0 0 46px;
    justify-content: center;
}

.bicos-products-carousel .anadir-carrito-lista img {
    height: 58px;
    width: auto;
}

.bicos-products-carousel .owl-nav {
    margin: 0;
}

.bicos-products-carousel .owl-nav button.owl-prev,
.bicos-products-carousel .owl-nav button.owl-next {
    align-items: center;
    background: #fff !important;
    border: 2px solid #bde9c9 !important;
    border-radius: 50%;
    box-shadow: 0 8px 22px rgba(119,122,122,.22), 0 0 0 4px rgba(255,255,255,.78);
    display: flex;
    height: 48px;
    justify-content: center;
    margin: 0;
    position: absolute;
    top: 43%;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    width: 48px;
    z-index: 4;
}

.bicos-products-carousel .owl-nav button.owl-prev {
    left: 4px;
    transform: translateY(-50%);
}

.bicos-products-carousel .owl-nav button.owl-next {
    right: 4px;
    transform: translateY(-50%);
}

.bicos-products-carousel .owl-nav button.owl-prev:hover,
.bicos-products-carousel .owl-nav button.owl-prev:focus,
.bicos-products-carousel .owl-nav button.owl-next:hover,
.bicos-products-carousel .owl-nav button.owl-next:focus {
    background: #bde9c9 !important;
    border-color: #878888 !important;
    box-shadow: 0 10px 26px rgba(119,122,122,.28), 0 0 0 5px rgba(255,255,255,.9);
    outline: none;
}

.bicos-products-carousel .owl-nav button.disabled {
    opacity: .42;
}

.bicos-products-carousel .owl-nav img {
    display: block;
    filter: brightness(.48) saturate(1.15);
    height: 24px;
    transform: none !important;
    width: auto;
}

.bicos-products-carousel .owl-nav button.owl-next img {
    transform: rotate(180deg) !important;
}

.bicos-home-extra {
    box-sizing: border-box;
    color: #878888;
    margin: 45px auto 50px;
    max-width: 1110px;
    overflow: hidden;
    padding: 0;
    width: 100%;
}

.bicos-home-extra *,
.bicos-home-extra *::before,
.bicos-home-extra *::after {
    box-sizing: border-box;
}

.bicos-home-extra a,
.bicos-home-extra a:hover,
.bicos-home-extra a:focus {
    text-decoration: none;
}

.bicos-home-title {
    margin-top: 10px;
}

.bicos-home-mosaic {
    display: grid;
    gap: 10px;
    grid-template-columns: 1.25fr 1fr 1fr;
    grid-template-rows: 205px 205px;
    margin: 0 auto 32px;
    max-width: 100%;
    overflow: hidden;
    width: 100%;
}

.bicos-home-card {
    background-color: #f5f0e2;
    color: #6f7070 !important;
    display: block;
    min-width: 0;
    overflow: hidden;
    position: relative;
}

.bicos-home-card-large {
    grid-row: span 2;
}

.bicos-home-card img {
    bottom: 0;
    display: block;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    position: absolute;
    right: 0;
    transition: transform .25s ease;
    width: 100%;
    z-index: 1;
}

.bicos-home-card:hover img {
    transform: scale(1.035);
}

.bicos-home-card::before {
    content: "";
    display: block;
    inset: 0;
    position: absolute;
    z-index: 2;
}

.bicos-home-card-bebe::before {
    background: linear-gradient(90deg, rgba(243,234,141,.88), rgba(243,234,141,.34));
}

.bicos-home-card-cole::before {
    background: linear-gradient(90deg, rgba(189,233,201,.86), rgba(189,233,201,.22));
}

.bicos-home-card-vajillas::before {
    background: linear-gradient(90deg, rgba(254,213,217,.86), rgba(254,213,217,.22));
}

.bicos-home-card-juguetes::before {
    background: linear-gradient(90deg, rgba(243,234,141,.76), rgba(243,234,141,.18));
}

.bicos-home-card-personalizados {
    background: #fed5d9 url(/themes/bicosshop/assets/img/fondo-rosa-botellas-home.png) center/cover no-repeat;
}

.bicos-home-card-personalizados::before {
    background: rgba(254,213,217,.5);
}

.bicos-home-card-personalizados .bicos-home-card-copy {
    width: 100%;
}

.bicos-home-card-personalizados .bicos-home-card-copy strong {
    font-size: 34px;
}

.bicos-home-card-copy {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    left: 0;
    padding: 24px;
    position: absolute;
    top: 0;
    width: min(68%, 330px);
    z-index: 3;
}

.bicos-home-card-copy small {
    color: #6f7070;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.bicos-home-card-copy strong {
    color: #6f7070;
    font-family: Love;
    font-size: 42px;
    font-weight: normal;
    line-height: .95;
    text-transform: uppercase;
}

.bicos-home-card-large .bicos-home-card-copy strong {
    font-size: 58px;
}

.bicos-home-card-copy em {
    color: #6f7070;
    font-size: 16px;
    font-style: normal;
    line-height: 1.35;
    margin-top: 12px;
}

.bicos-instagram-feed {
    background: #fff;
    border: 2px solid #fed5d9;
    margin: 0 0 34px;
    overflow: hidden;
    padding: 28px;
    position: relative;
}

.bicos-instagram-feed::before {
    background: #f3ea8d;
    border-radius: 999px;
    content: "";
    height: 120px;
    position: absolute;
    right: -44px;
    top: -55px;
    width: 120px;
    z-index: 0;
}

.bicos-instagram-head {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.bicos-instagram-kicker {
    color: #fed5d9;
    display: block;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.bicos-instagram-feed h2 {
    color: #6f7070;
    font-family: Love;
    font-size: 38px;
    font-weight: normal;
    line-height: 1;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.bicos-instagram-feed p {
    color: #878888;
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}

.bicos-instagram-profile {
    background: #fed5d9;
    border-radius: 999px;
    color: #6f7070 !important;
    display: inline-block;
    flex: 0 0 auto;
    font-weight: 800;
    padding: 12px 24px;
}

.bicos-instagram-profile:hover {
    background: #f3ea8d;
    color: #6f7070 !important;
}

.bicos-instagram-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: 1.25fr 1fr 1fr;
    grid-template-rows: 170px 170px;
    max-width: 100%;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 1;
}

.bicos-instagram-post {
    background: #f5f0e2;
    color: #fff !important;
    display: block;
    min-width: 0;
    overflow: hidden;
    position: relative;
}

.bicos-instagram-post-large {
    grid-row: span 2;
}

.bicos-instagram-post img {
    display: block;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
    width: 100%;
}

.bicos-instagram-post:hover img {
    transform: scale(1.035);
}

.bicos-instagram-post::after {
    background: linear-gradient(0deg, rgba(111,112,112,.62), rgba(111,112,112,.02) 65%);
    content: "";
    display: block;
    inset: 0;
    position: absolute;
    z-index: 2;
}

.bicos-instagram-caption {
    bottom: 0;
    display: block;
    left: 0;
    padding: 18px;
    position: absolute;
    right: 0;
    z-index: 3;
}

.bicos-instagram-caption strong,
.bicos-instagram-post-cta strong {
    color: #fff;
    display: block;
    font-family: Love;
    font-size: 30px;
    font-weight: normal;
    line-height: 1;
    text-transform: uppercase;
}

.bicos-instagram-caption em,
.bicos-instagram-post-cta em {
    color: #fff;
    display: block;
    font-size: 14px;
    font-style: normal;
    line-height: 1.35;
    margin-top: 4px;
}

.bicos-instagram-post-cta {
    align-items: center;
    background: #bde9c9;
    color: #fff !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px;
    text-align: center;
}

.bicos-instagram-post-cta::after {
    display: none;
}

.bicos-instagram-icon {
    align-items: center;
    background: rgba(255,255,255,.35);
    border: 2px solid rgba(255,255,255,.75);
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 34px;
    height: 58px;
    justify-content: center;
    line-height: 1;
    margin-bottom: 10px;
    width: 58px;
}

.bicos-google-reviews {
    background: linear-gradient(135deg, #fff 0%, #f5f0e2 100%);
    border: 2px solid #f5f0e2;
    margin: 0 0 34px;
    padding: 28px;
}

.bicos-google-reviews-head {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: auto 1fr auto;
    margin-bottom: 22px;
}

.bicos-google-badge {
    align-items: center;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(111, 112, 112, .12);
    color: #4285f4;
    display: flex;
    font-size: 15px;
    font-weight: 800;
    height: 74px;
    justify-content: center;
    letter-spacing: -.03em;
    width: 74px;
}

.bicos-google-reviews h2 {
    color: #6f7070;
    font-family: Love;
    font-size: 38px;
    font-weight: normal;
    line-height: 1;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.bicos-google-reviews p {
    color: #878888;
    font-size: 15px;
    line-height: 1.5;
    margin: 0;
}

.bicos-google-link {
    background-color: #fed5d9;
    border-radius: 999px;
    color: #6f7070 !important;
    display: inline-block;
    font-weight: 700;
    padding: 12px 22px;
    text-align: center;
    white-space: nowrap;
}

.bicos-google-link:hover {
    background-color: #f3ea8d;
    color: #6f7070 !important;
}

.bicos-google-review-cards {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.bicos-google-review-card {
    background: rgba(255, 255, 255, .82);
    border-radius: 20px;
    box-shadow: 0 6px 18px rgba(111, 112, 112, .08);
    min-width: 0;
    padding: 20px;
}

.bicos-google-stars {
    color: #f4c542;
    display: block;
    font-size: 18px;
    letter-spacing: .08em;
    margin-bottom: 10px;
}

.bicos-google-review-card h3 {
    color: #6f7070;
    font-family: Love;
    font-size: 30px;
    font-weight: normal;
    line-height: 1;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.bicos-google-review-card p {
    font-size: 15px;
}

.bicos-home-help {
    align-items: center;
    background: #bde9c9 url(/themes/bicosshop/assets/img/fondo-verde-baberos.png) right center/auto 100% no-repeat;
    display: flex;
    justify-content: space-between;
    margin: 0 0 34px;
    min-height: 128px;
    padding: 28px 34px;
}

.bicos-home-help h2,
.bicos-home-seo-text h2 {
    color: #fff;
    font-family: Love;
    font-size: 36px;
    font-weight: normal;
    line-height: 1.05;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.bicos-home-help p,
.bicos-home-seo-text p {
    color: #878888;
    font-size: 16px;
    line-height: 1.55;
    margin: 0;
}

.bicos-home-help p {
    color: #fff;
    max-width: 560px;
}

.bicos-home-whatsapp {
    background-color: #fff;
    border-radius: 999px;
    color: #6f7070 !important;
    display: inline-block;
    flex: 0 0 auto;
    font-weight: 700;
    padding: 12px 24px;
}

.bicos-home-whatsapp:hover {
    background-color: #f3ea8d;
    color: #6f7070 !important;
}

.bicos-home-seo-text {
    border-top: 2px solid #f5f0e2;
    margin-top: 34px;
    padding: 28px 15px 0;
    text-align: center;
}

.bicos-home-seo-text h2 {
    color: #bde9c9;
    font-size: 30px;
}

.bicos-home-seo-text p {
    margin: 0 auto;
    max-width: 860px;
}

@media (max-width: 1199px) {
    .bicos-featured-products,
    .bicos-home-extra {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 991px) {
    .bicos-home-mosaic {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 210px 175px 175px;
    }

    .bicos-home-card-large {
        grid-column: span 2;
        grid-row: span 1;
    }

    .bicos-instagram-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 185px 165px 165px;
    }

    .bicos-instagram-post-large {
        grid-column: span 2;
        grid-row: span 1;
    }

    .bicos-google-reviews-head {
        grid-template-columns: auto 1fr;
    }

    .bicos-google-link {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .bicos-google-review-cards {
        grid-template-columns: 1fr;
    }

    .bicos-home-help {
        background-size: auto 90%;
        display: block;
        text-align: center;
    }

    .bicos-home-whatsapp {
        margin-top: 18px;
    }
}

@media (max-width: 767px) {
    .bicos-featured-products {
        margin: 28px auto 34px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .bicos-products-heading p {
        font-size: 15px;
    }

    .bicos-products-carousel .thumbnail-container .product-thumbnail {
        height: 210px !important;
    }

    .bicos-products-carousel .thumbnail-container .product-thumbnail img {
        max-height: 210px;
    }

    .bicos-products-carousel .owl-nav button.owl-prev,
    .bicos-products-carousel .owl-nav button.owl-next {
        height: 38px;
        width: 38px;
    }

    .bicos-home-extra {
        margin: 30px auto 38px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .bicos-home-mosaic {
        gap: 8px;
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .bicos-home-card,
    .bicos-home-card-large {
        grid-column: auto;
        grid-row: auto;
        min-height: 154px;
    }

    .bicos-home-card-large {
        min-height: 185px;
    }

    .bicos-home-card img {
        left: 36%;
        max-width: 64%;
        object-fit: cover;
        width: 64%;
    }

    .bicos-home-card-copy {
        padding: 18px;
        width: 72%;
    }

    .bicos-home-card-copy strong {
        font-size: 32px;
    }

    .bicos-home-card-large .bicos-home-card-copy strong {
        font-size: 40px;
    }

    .bicos-home-card-copy em {
        font-size: 14px;
    }

    .bicos-instagram-feed {
        padding: 22px 16px;
    }

    .bicos-instagram-head {
        display: block;
        text-align: center;
    }

    .bicos-instagram-feed h2 {
        font-size: 30px;
    }

    .bicos-instagram-profile {
        display: block;
        margin-top: 16px;
        width: 100%;
    }

    .bicos-instagram-grid {
        gap: 8px;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 170px 136px 136px;
    }

    .bicos-instagram-post-large {
        grid-column: span 2;
    }

    .bicos-instagram-caption {
        padding: 14px;
    }

    .bicos-instagram-caption strong,
    .bicos-instagram-post-cta strong {
        font-size: 24px;
    }

    .bicos-instagram-icon {
        font-size: 28px;
        height: 48px;
        width: 48px;
    }

    .bicos-google-reviews {
        padding: 22px 16px;
    }

    .bicos-google-reviews-head {
        display: block;
        text-align: center;
    }

    .bicos-google-badge {
        height: 64px;
        margin: 0 auto 14px;
        width: 64px;
    }

    .bicos-google-reviews h2 {
        font-size: 30px;
    }

    .bicos-google-link {
        display: block;
        margin-top: 18px;
        white-space: normal;
        width: 100%;
    }

    .bicos-google-review-card {
        padding: 18px;
        text-align: center;
    }

    .bicos-google-review-card h3 {
        font-size: 26px;
    }

    .bicos-home-help {
        background-image: none;
        padding: 24px 18px;
    }

    .bicos-home-help h2,
    .bicos-home-seo-text h2 {
        font-size: 28px;
    }

    .bicos-home-help p,
    .bicos-home-seo-text p {
        font-size: 15px;
    }

    .bicos-home-whatsapp {
        display: block;
        width: 100%;
    }
}

/* Bicos: nombre y botón de carrito en listados */
#products .product-miniature,
.featured-products .product-miniature,
.product-accessories .product-miniature,
.product-miniature {
    margin-bottom: 34px;
    padding-left: 22px;
    padding-right: 22px;
}

.product-miniature .thumbnail-container {
    margin-bottom: 10px;
}

.product-miniature .info-producto {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 9px;
    justify-content: flex-start;
}

.product-miniature .product-description {
    flex: 1 1 auto;
    min-width: 0;
    text-align: left !important;
    width: 100%;
}

/* Bicos: nombres de producto en listados siempre a 2 líneas */
.product-miniature .product-title,
.product-miniature .product-title a {
    text-align: left !important;
}

.product-miniature .product-title {
    line-height: 1.25;
    margin-bottom: 8px;
    min-height: 2.5em;
    overflow: hidden;
    width: 100%;
}

.product-miniature .product-title a {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box !important;
    line-height: 1.25;
    max-height: 2.5em;
    min-height: 2.5em;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

.product-miniature .anadir-carrito-lista,
.product-miniature .anadir-carrito-lista form {
    margin: 0;
    width: 100%;
}

.product-miniature .bicos-list-cart-button {
    align-items: center;
    background: linear-gradient(135deg, #fed5d9 0%, #bde9c9 100%);
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 10px 20px rgba(80, 88, 88, .14);
    color: #fff !important;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    gap: 8px;
    justify-content: center;
    letter-spacing: .02em;
    line-height: 1.05;
    min-height: 42px;
    min-width: 0;
    overflow: visible;
    padding: 9px 12px;
    position: relative;
    text-decoration: none !important;
    text-transform: uppercase;
    text-shadow: 0 1px 0 rgba(80, 88, 88, .14);
    transition: background .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
    white-space: nowrap;
    width: 100%;
}

.product-miniature .bicos-list-cart-button::after {
    display: none;
}

.product-miniature .bicos-list-cart-button:hover,
.product-miniature .bicos-list-cart-button:focus {
    background: linear-gradient(135deg, #fed5d9 0%, #bde9c9 100%);
    box-shadow: 0 14px 24px rgba(80, 88, 88, .19);
    color: #fff !important;
    cursor: pointer;
    transform: translateY(-1px);
}

.product-miniature .bicos-list-cart-button[disabled] {
    cursor: not-allowed;
    opacity: .55;
    transform: none;
}

/* El estado de compra se apoya en add_to_cart_url del presentador de
 * PrestaShop: distingue el pedido sin existencias de un producto no vendible. */
.product-miniature .bicos-list-cart-button.is-backorder {
    background: #f5f0e2;
}

.product-miniature .bicos-list-cart-button.is-unavailable,
.product-miniature .bicos-list-cart-button.is-unavailable:hover,
.product-miniature .bicos-list-cart-button.is-unavailable:focus {
    background: #eef1f1;
    color: #626868 !important;
    cursor: not-allowed;
    opacity: 1;
    transform: none;
}

.product-miniature .bicos-list-cart-availability {
    color: #626868;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
    margin: -3px 0 0;
}

.product-miniature .bicos-list-cart-availability.is-backorder {
    color: #4c775b;
}

.product-miniature .bicos-list-cart-availability.is-unavailable {
    color: #626868;
}

/* Bicos: señales de compra en tarjetas de producto.
/* Producción mantiene el CSS compilado del tema fuera de la sincronización.
 * Esta regla iguala la especificidad de su antiguo selector de portada para
 * que el CTA coincida con el de los listados. */
body#index .bicos-products-carousel .bicos-list-cart-button {
    background: linear-gradient(135deg, #fed5d9 0%, #bde9c9 100%);
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 0 10px 20px rgba(80, 88, 88, .14);
    overflow: visible;
    white-space: nowrap;
}

body#index .bicos-products-carousel .bicos-list-cart-button:hover,
body#index .bicos-products-carousel .bicos-list-cart-button:focus {
    background: linear-gradient(135deg, #fed5d9 0%, #bde9c9 100%);
    box-shadow: 0 14px 24px rgba(80, 88, 88, .19);
    color: #fff !important;
    cursor: pointer;
    transform: translateY(-1px);
}

body#index .bicos-products-carousel .bicos-list-cart-button:focus-visible {
    outline: 3px solid #505858;
    outline-offset: 3px;
}

body#index .bicos-products-carousel .bicos-list-cart-button.is-backorder {
    background: #f5f0e2;
}

body#index .bicos-products-carousel .bicos-list-cart-button.is-unavailable,
body#index .bicos-products-carousel .bicos-list-cart-button.is-unavailable:hover,
body#index .bicos-products-carousel .bicos-list-cart-button.is-unavailable:focus {
    background: #eef1f1;
    color: #626868 !important;
    cursor: not-allowed;
    opacity: 1;
    transform: none;
}

 * La información se apila para mantener la lectura y el CTA claros en móvil. */
.bicos-product-card .thumbnail-container {
    background: #fff;
    border: 1px solid #f5f0e2;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    padding: 10px;
    transition: box-shadow .18s ease, transform .18s ease;
}

.bicos-product-card .product-thumbnail {
    background: #fff;
    border-radius: 10px;
    display: block;
    overflow: hidden;
}

.bicos-product-card .product-thumbnail img {
    display: block;
}

.bicos-product-card .info-producto {
    flex: 1 1 auto;
    padding: 4px 2px 2px;
}

.bicos-product-card .product-price-and-shipping {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin: 0;
    min-height: 25px;
}

.bicos-product-card .product-price-and-shipping .price {
    color: #505858;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.2;
}

.bicos-product-card .product-price-and-shipping .regular-price {
    color: #6f7373;
    font-size: 14px;
    line-height: 1.2;
    order: 2;
}

.bicos-product-card .product-price-and-shipping.has-discount .price {
    color: #b24d62;
}

.bicos-product-personalization {
    align-items: center;
    color: #505858;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    gap: 5px;
    line-height: 1.3;
    margin: 0;
}

.bicos-product-personalization__icon {
    align-items: center;
    background: #f5f0e2;
    border-radius: 50%;
    color: #505858;
    display: inline-flex;
    font-size: 11px;
    height: 18px;
    justify-content: center;
    width: 18px;
}

.bicos-product-card .product-list-reviews,
.bicos-product-card #gsr.productRight {
    margin: 0;
    min-height: 20px;
}

.bicos-product-card .bicos-list-cart-button {
    min-height: 44px;
}

.bicos-product-card .bicos-list-cart-button:focus-visible {
    outline: 3px solid #505858;
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    .bicos-product-card .thumbnail-container:hover {
        box-shadow: 0 10px 24px rgba(80, 88, 88, .12);
        transform: translateY(-2px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .bicos-product-card .thumbnail-container,
    .bicos-product-card .bicos-list-cart-button {
        transition: none;
    }
}

.product-miniature .bicos-list-cart-button-options {
    background: #f5f0e2;
}

.product-miniature .bicos-list-cart-icon {
    align-items: center;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    display: inline-flex;
    flex: 0 0 auto;
    height: 24px;
    justify-content: center;
    width: 18px;
    z-index: 1;
}

.product-miniature .bicos-list-cart-button-options .bicos-list-cart-icon {
    background: transparent;
}

.product-miniature .bicos-list-cart-icon img {
    display: block;
    height: 23px;
    max-width: 17px;
    object-fit: contain;
    width: auto;
}

.product-miniature button.bicos-list-cart-button:not(.is-backorder):not(.is-unavailable) .bicos-list-cart-icon img {
    filter: brightness(0) invert(1);
}

.product-miniature .bicos-list-cart-copy {
    align-items: center;
    color: inherit !important;
    display: inline-flex;
    flex: 0 1 auto;
    flex-direction: row;
    gap: 4px;
    min-width: 0;
    position: relative;
    text-align: center;
    z-index: 1;
}

.product-miniature .bicos-list-cart-text,
.product-miniature .bicos-list-cart-subtext {
    color: inherit !important;
    display: inline-block;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1.05;
}

.bicos-products-carousel .anadir-carrito-lista {
    align-items: center;
    flex: 0 0 auto;
}

.bicos-products-carousel .anadir-carrito-lista img {
    height: 23px;
    width: auto;
}

@media (max-width: 575px) {
    #products .product-miniature,
    .featured-products .product-miniature,
    .product-accessories .product-miniature,
    .product-miniature {
        margin-bottom: 24px;
        padding-left: 12px;
        padding-right: 12px;
    }

    .product-miniature .info-producto {
        gap: 8px;
    }

    .product-miniature .bicos-list-cart-button {
        font-size: 11px;
        padding-left: 9px;
        padding-right: 9px;
    }

    .product-miniature .bicos-list-cart-text,
    .product-miniature .bicos-list-cart-subtext {
        font-size: 11px;
    }
}

/* Bicos: buscador compacto desplegable para reducir altura de cabecera */
#header .header-top {
    position: relative;
    z-index: 40;
}

#header .header-top > .container > .row {
    align-items: center;
    display: flex;
}

#header .bicos-header-search-zone {
    align-items: center;
    display: flex;
    min-height: 74px;
    position: relative;
    z-index: 90;
}

.bicos-search-toggle {
    align-items: center;
    background: #bde9c9;
    border: 0;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-weight: 900;
    gap: 7px;
    justify-content: center;
    line-height: 1;
    padding: 12px 18px;
    text-transform: uppercase;
    transition: background .18s ease, transform .18s ease;
}

.bicos-search-toggle:hover,
.bicos-search-toggle:focus,
body.bicos-search-open .bicos-search-toggle {
    background: #fed5d9;
    color: #fff;
    cursor: pointer;
    transform: translateY(-1px);
}

.bicos-search-toggle .material-icons {
    color: #fff;
    font-size: 24px;
    line-height: 1;
}

.bicos-search-toggle-mobile {
    display: none;
}

#header #search_widget.bicos-search {
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: calc(100% - 4px);
    transform: translateY(-8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    visibility: hidden;
    width: min(430px, calc(100vw - 30px));
    z-index: 900;
}

#header .bicos-header-search-zone.bicos-search-open #search_widget.bicos-search,
body.bicos-search-open #header #search_widget.bicos-search {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
}

#header #search_widget.bicos-search form {
    background: linear-gradient(135deg, #ffffff 0%, #fff8fb 48%, #f3fff7 100%);
    border: 3px solid #bde9c9;
    box-shadow: none;
    min-height: 58px;
}

#header #search_widget.bicos-search form input[type="text"] {
    font-weight: 800;
}

#header #search_widget.bicos-search form button[type="submit"] {
    background: #91dcae;
    flex: 0 0 44px;
    height: 44px;
    min-width: 44px;
    width: 44px;
}

#header .header-top .logo {
    max-height: 88px;
    object-fit: contain;
    width: auto;
}

@media (max-width: 991px) {
    .product-miniature .bicos-list-cart-button {
        min-width: 104px;
        padding-right: 12px;
    }

    .product-miniature .bicos-list-cart-text {
        font-size: 12px;
    }
}

@media (max-width: 767px) {
    .product-miniature .info-producto {
        align-items: flex-start;
        gap: 8px;
    }

    .product-miniature .bicos-list-cart-button {
        min-height: 44px;
        min-width: 0;
        padding: 8px 10px;
        width: 100%;
    }

    .product-miniature .bicos-list-cart-button-options {
        min-width: 0;
    }

    .product-miniature .bicos-list-cart-text {
        display: inline-block;
    }

    .product-miniature .bicos-list-cart-icon {
        height: 32px;
        width: 32px;
    }

    .bicos-search-toggle-mobile {
        display: inline-flex;
        flex: 0 0 34px;
        float: none;
        height: 34px;
        margin: 0;
        padding: 0;
        width: 34px;
    }

    .bicos-search-toggle-mobile .material-icons {
        font-size: 23px;
    }

    .bicos-search-toggle-desktop {
        display: none;
    }

    #header .bicos-header-search-zone {
        min-height: 0;
        position: static;
    }

    #header #search_widget.bicos-search {
        left: 10px;
        position: absolute;
        right: 10px;
        top: 100%;
        width: auto;
    }

    #header #search_widget.bicos-search form {
        min-height: 54px;
    }
}

/* Bicos: panel fijo de búsqueda a la derecha con resultados scrolleables */
body.bicos-search-open {
    overflow-x: hidden;
}

body.bicos-search-open::after {
    background: rgba(79,87,87,.16);
    content: "";
    inset: 0;
    position: fixed;
    z-index: 850;
}

#header #search_widget.bicos-search {
    background: #fff;
    border: 3px solid #bde9c9;
    border-radius: 28px;
    box-shadow: 0 20px 50px rgba(79,87,87,.18);
    left: auto;
    opacity: 0;
    padding: 16px;
    pointer-events: none;
    position: fixed;
    right: 18px;
    top: 18px;
    transform: translateX(26px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    visibility: hidden;
    width: min(420px, calc(100vw - 36px));
    z-index: 930;
}

body.bicos-search-open #header #search_widget.bicos-search,
#header .bicos-header-search-zone.bicos-search-open #search_widget.bicos-search {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
    visibility: visible;
}

#header #search_widget.bicos-search::before {
    color: #6f7070;
    content: "Buscar en BicosShop";
    display: block;
    font-family: Love;
    font-size: 30px;
    line-height: 1;
    margin: 0 0 10px;
    text-transform: uppercase;
}

#header #search_widget.bicos-search form {
    background: linear-gradient(135deg, #fff 0%, #fff8fb 52%, #f3fff7 100%);
    border: 2px solid #f7d9e0;
    border-radius: 22px;
    box-shadow: none;
    min-height: 58px;
}

body:not(.bicos-search-open) .ui-autocomplete.searchbar-autocomplete.bicos-search-results {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results {
    background: #fff;
    border: 3px solid #bde9c9;
    border-radius: 28px;
    box-shadow: 0 20px 50px rgba(79,87,87,.18);
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column;
    left: auto !important;
    margin: 0 !important;
    max-height: none;
    overflow: hidden;
    padding: 0;
    position: fixed !important;
    right: 18px !important;
    top: 128px !important;
    height: calc(100vh - 146px);
    width: min(420px, calc(100vw - 36px)) !important;
    z-index: 925;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__title {
    background: #fff;
    border-bottom: 1px solid #f3e5e8;
    color: #9b7d84;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    padding: 16px 18px 12px;
    text-transform: uppercase;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden auto;
    padding: 10px;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__items {
    display: block !important;
    margin: 0;
    padding: 0;
    position: static !important;
    width: 100% !important;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__items > li,
.ui-autocomplete.searchbar-autocomplete.bicos-search-results li {
    list-style: none;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results li a.bicos-search-result,
.ui-autocomplete.searchbar-autocomplete.bicos-search-results li a.bicos-search-result.ui-state-focus {
    border-radius: 18px;
    min-height: 82px;
    padding: 11px;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__footer {
    background: #fff;
    border-top: 1px solid #f3e5e8;
    box-shadow: 0 -10px 20px rgba(255,255,255,.9);
    flex: 0 0 auto;
    margin: 0;
    padding: 14px 16px 16px;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__footer a {
    background: linear-gradient(135deg, #bde9c9 0%, #91dcae 100%);
    border-radius: 999px;
    color: #fff;
    display: block;
    font-weight: 900;
    padding: 14px 18px;
    text-align: center;
    text-decoration: none;
}

.ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__footer a:hover {
    background: linear-gradient(135deg, #fed5d9 0%, #f7c9d5 100%);
}

@media (max-width: 767px) {
    #header #search_widget.bicos-search {
        border-radius: 24px;
        left: 12px;
        padding: 14px;
        right: 12px;
        top: 12px;
        width: auto;
    }

    #header #search_widget.bicos-search::before {
        font-size: 26px;
    }

    .ui-autocomplete.searchbar-autocomplete.bicos-search-results {
        bottom: 12px !important;
        height: auto;
        left: 12px !important;
        right: 12px !important;
        top: 118px !important;
        width: auto !important;
    }

    .product-miniature .bicos-list-cart-copy {
        display: inline-flex;
    }

    .product-miniature .bicos-list-cart-text,
    .product-miniature .bicos-list-cart-subtext {
        display: inline-block;
    }
}

/* Bicos: buscador tipo menú de categorías, con input y resultados dentro */
body.bicos-search-open {
    overflow: hidden;
}

body.bicos-search-open::after {
    background: rgba(79,87,87,.16);
    content: "";
    inset: 0;
    position: fixed;
    z-index: 800;
}

body.bicos-search-open #header {
    position: relative;
    z-index: 99998;
}

#header #search_widget.bicos-search {
    background: #fff;
    border: 0;
    border-radius: 0;
    bottom: 0;
    box-shadow: none;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    left: 0;
    margin: 0;
    max-height: none;
    max-width: 100vw;
    min-height: 100vh;
    min-height: 100dvh;
    opacity: 0;
    overflow: hidden;
    padding: 52px 0 0;
    pointer-events: none;
    position: fixed;
    right: auto;
    top: 0;
    transform: translateX(-105%);
    transition: transform .28s ease, opacity .12s ease, visibility .12s ease;
    visibility: hidden;
    width: min(480px, 100vw);
    z-index: 99999;
}

body.bicos-search-open #header #search_widget.bicos-search,
#header .bicos-header-search-zone.bicos-search-open #search_widget.bicos-search {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
    visibility: visible;
}

#header #search_widget.bicos-search::before {
    align-items: center;
    background: linear-gradient(135deg, #fff8fb 0%, #f3fff7 100%);
    border-bottom: 1px solid #f3e5e8;
    box-sizing: border-box;
    color: #4f5757;
    content: "Buscar";
    display: flex;
    font-size: 17px;
    font-weight: 900;
    height: 52px;
    left: 0;
    letter-spacing: .02em;
    line-height: 52px;
    padding: 0 60px 0 18px;
    position: fixed;
    right: 0;
    text-transform: none;
    top: 0;
    z-index: 2;
}

#header #search_widget.bicos-search .bicos-search-close {
    align-items: center;
    background: #fff;
    border: 2px solid #bde9c9;
    border-radius: 50%;
    color: #4f5757;
    display: flex;
    font-size: 24px;
    height: 36px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: fixed;
    right: 14px;
    top: 8px;
    width: 36px;
    z-index: 100000;
}

#header #search_widget.bicos-search .bicos-search-close:hover,
#header #search_widget.bicos-search .bicos-search-close:focus {
    background: #bde9c9;
    color: #fff;
    cursor: pointer;
}

#header #search_widget.bicos-search form {
    align-items: center;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #f3e5e8;
    border-radius: 0;
    box-shadow: none;
    box-sizing: border-box;
    display: flex;
    flex: 0 0 auto;
    margin: 0;
    min-height: 68px;
    overflow: hidden;
    padding: 10px 18px;
    width: 100%;
}

#header #search_widget.bicos-search form:focus-within {
    background: #f3fff7;
    border-color: #d4f3df;
    transform: none;
}

#header #search_widget.bicos-search form input[type="text"],
#header #search_widget.bicos-search form input[type="search"] {
    background: #fff;
    border: 2px solid #bde9c9;
    border-radius: 999px;
    box-sizing: border-box;
    color: #4f5757;
    flex: 1 1 auto;
    font-size: 16px;
    font-weight: 800;
    height: 48px;
    min-width: 0;
    padding: 0 56px 0 18px;
    width: 100%;
}

#header #search_widget.bicos-search form input[type="text"]:focus,
#header #search_widget.bicos-search form input[type="search"]:focus {
    border-color: #91dcae;
    outline: 0;
}

#header #search_widget.bicos-search form button[type="submit"] {
    align-items: center;
    background: #91dcae;
    border-radius: 50%;
    display: flex;
    flex: 0 0 40px;
    height: 40px;
    justify-content: center;
    margin-left: -46px;
    min-width: 40px;
    position: relative;
    width: 40px;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results {
    background: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    box-sizing: border-box;
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: column;
    height: auto !important;
    left: auto !important;
    margin: 0 !important;
    max-height: none !important;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    position: static !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    z-index: 1;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__title {
    background: #fff8fb;
    border-bottom: 1px solid #f3e5e8;
    color: #9b7d84;
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    padding: 14px 18px 12px;
    text-transform: uppercase;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden auto;
    padding: 0;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__items {
    display: block !important;
    margin: 0;
    padding: 0;
    position: static !important;
    width: 100% !important;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__items > li,
#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results li {
    background: #fff;
    border: 0;
    border-bottom: 1px solid #f3e5e8;
    border-radius: 0;
    list-style: none;
    margin: 0;
    overflow: visible;
    position: relative;
    width: 100%;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results li a.bicos-search-result,
#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results li a.bicos-search-result.ui-state-focus {
    align-items: center;
    border: 0;
    border-radius: 0;
    color: #4f5757;
    display: flex;
    gap: 12px;
    min-height: 68px;
    padding: 10px 18px;
    text-decoration: none;
    transform: none;
    width: 100%;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results li a.bicos-search-result:hover,
#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results li a.bicos-search-result.ui-state-focus {
    background: #f3fff7;
    border-color: transparent;
    transform: none;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-result__thumb {
    background: #91dcae;
    border: 2px solid #bde9c9;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(145,220,174,.35);
    flex: 0 0 48px;
    height: 48px;
    width: 48px;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results li a .autocomplete-thumbnail {
    border-radius: 50%;
    height: 82%;
    object-fit: cover;
    width: 82%;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__footer {
    background: #fff;
    border-top: 1px solid #f3e5e8;
    box-shadow: 0 -10px 20px rgba(255,255,255,.9);
    flex: 0 0 auto;
    margin: auto 0 0;
    padding: 14px 18px 18px;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__footer a {
    background: #91dcae;
    border-radius: 999px;
    color: #fff;
    display: block;
    font-weight: 900;
    padding: 14px 18px;
    text-align: center;
    text-decoration: none;
}

#header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results .bicos-search-results__footer a:hover {
    background: #fed5d9;
}

@media (max-width: 767px) {
    #header #search_widget.bicos-search {
        width: 100vw;
    }
}
/* Footer Bicos: un cierre compacto, cálido y fácil de recorrer. */
#footer { background:#fff; overflow-x:clip; }
#footer .fondo-superior-pie { display:none; }
#footer .footer-container {
  background:#fff2b8;
  border-top:1px solid #ead58a;
  color:#53615b;
  padding:48px 0 38px;
}
#footer .footer-container>.container { position:relative; }
#footer .bicos-footer-intro {
  align-items:center;
  border-bottom:1px solid #ead58a;
  display:flex;
  gap:28px;
  justify-content:space-between;
  margin:0 0 30px;
  padding:0 0 30px;
}
#footer .bicos-footer-intro__brand { max-width:620px; }
#footer .bicos-footer-intro__eyebrow { color:#4c775b; display:block; font-size:.72rem; font-weight:900; letter-spacing:.13em; margin-bottom:7px; text-transform:uppercase; }
#footer .bicos-footer-intro strong { color:#315a3f; display:block; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.45rem,2.2vw,2rem); font-weight:700; letter-spacing:-.02em; line-height:1.13; }
#footer .bicos-footer-intro p { color:#66746d; font-size:.94rem; line-height:1.55; margin:8px 0 0; }
#footer .bicos-footer-links-row { align-items:stretch; display:flex; flex-wrap:wrap; row-gap:20px; }
#footer .footer-container .links,#footer .footer-container .block-contact { margin-bottom:0; }
#footer .footer-container .links .row { row-gap:20px; }
#footer .footer-container .wrapper,#footer .footer-container #block_myaccount_infos,#footer .footer-container .block-contact { border-left:1px solid #ead58a; height:100%; padding:0 22px!important; }
@media (min-width:768px) {
  #footer .bicos-footer-links-row {
    display:grid;
    gap:0;
    grid-template-columns:repeat(4,minmax(0,1fr));
    margin-left:0;
    margin-right:0;
  }
  #footer .bicos-footer-links-row > .links:first-child {
    grid-column:span 2;
    float:none!important;
    max-width:none!important;
    padding-left:0!important;
    padding-right:0!important;
    width:auto!important;
  }
  #footer .bicos-footer-links-row > .links.wrapper,
  #footer .bicos-footer-links-row > .block-contact,
  #footer .footer-container .links .row > .wrapper {
    float:none!important;
    max-width:none!important;
    padding:0 22px!important;
    width:auto!important;
  }
  #footer .footer-container .links .row {
    display:grid;
    gap:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-left:0;
    margin-right:0;
  }
}
#footer .footer-container p.h3,#footer .footer-container .links .h3,#footer #block_myaccount_infos .myaccount-title a { color:#315a3f; font-size:.76rem; font-weight:900; letter-spacing:.08em; margin-bottom:14px; text-transform:uppercase; }
#footer .footer-container ul { margin-bottom:0; }
#footer .footer-container li { margin-bottom:8px; }
#footer .footer-container li a,#footer .footer-container .block-contact,#footer .footer-container .block-contact a { color:#53615b; font-size:.9rem; line-height:1.4; }
#footer .footer-container li a { border-radius:4px; display:inline-block; padding:2px 0; text-decoration-color:#9acdaa; text-underline-offset:3px; transition:color .18s ease,text-decoration-color .18s ease; }
#footer .footer-container li a:hover,#footer .footer-container li a:focus,body#checkout #footer .footer-container li a:hover { color:#315a3f; text-decoration-color:#315a3f; transform:none; }
#footer .footer-container .block-contact img,#footer .footer-container .block-contact .logo { filter:none; margin-bottom:13px; max-width:150px; opacity:1; }
#footer .copyright { background:radial-gradient(circle at 5px 6px,rgba(241,203,210,.8) 0 3px,transparent 3.5px) 0 0/43px 31px,radial-gradient(circle at 24px 18px,rgba(189,233,201,.9) 0 2px,transparent 2.6px) 0 0/43px 31px,radial-gradient(circle at 35px 7px,rgba(247,223,155,.86) 0 2.5px,transparent 3px) 0 0/43px 31px,#fff; color:#888; margin-top:0; padding:24px 15px 28px; text-align:center; }
#footer .copyright p { background:rgba(255,255,255,.78); border-radius:999px; display:inline-block; font-size:.86rem; margin:0; padding:8px 18px; }
@media (max-width:767px) {
  #footer .footer-container { padding:32px 18px 24px; }
  #footer .footer-container > .container {
    padding-left:0!important;
    padding-right:0!important;
  }
  #footer .footer-container > .container,
  #footer .bicos-footer-links-row,
  #footer .footer-container .links,
  #footer .footer-container .links .row,
  #footer .footer-container .links .wrapper,
  #footer .footer-container #block_myaccount_infos,
  #footer .footer-container .block-contact {
    box-sizing:border-box;
    float:none!important;
    margin-left:0!important;
    margin-right:0!important;
    max-width:100%!important;
    width:100%!important;
  }
  #footer .footer-container .links,
  #footer .footer-container .links .row,
  #footer .footer-container .links .wrapper,
  #footer .footer-container #block_myaccount_infos,
  #footer .footer-container .block-contact {
    padding-left:0!important;
    padding-right:0!important;
  }
  #footer .bicos-footer-links-row,
  #footer .footer-container .links .row {
    display:block;
  }
  #footer .footer-container .links .wrapper,
  #footer .footer-container #block_myaccount_infos,
  #footer .footer-container .block-contact {
    margin-bottom:10px!important;
  }
  #footer .bicos-footer-intro { align-items:stretch; flex-direction:column; gap:12px; padding:0 0 20px; text-align:left; }
  #footer .bicos-footer-intro strong { font-size:clamp(1.5rem,7vw,1.85rem); line-height:1.1; }
  #footer .bicos-footer-intro p { font-size:.92rem; line-height:1.5; }
  #footer .footer-container .links .wrapper,#footer .footer-container #block_myaccount_infos { background:rgba(255,255,255,.42); border:1px solid #ead58a; border-radius:14px; overflow:hidden; padding:0!important; }
  #footer .footer-container .block-contact { background:rgba(255,255,255,.42); border:1px solid #ead58a; border-radius:14px; padding:20px!important; }
  #footer .footer-container .links .title,#footer .footer-container #block_myaccount_infos .title { align-items:center; border:0; display:flex; min-height:56px; padding:12px 16px; }
  #footer .footer-container .links .title > .h3 { margin-right:auto; }
  #footer .footer-container .links .title > .float-xs-right { align-items:center; display:flex; flex:0 0 32px; justify-content:flex-end; margin-left:auto; }
  #footer .footer-container .links .title .navbar-toggler { align-items:center; display:flex; height:28px; justify-content:center; margin:0; padding:0; width:28px; }
  #footer .footer-container .links .title .material-icons { font-size:22px; line-height:1; transform:translateY(-2px); }
  #footer .footer-container .links .h3,#footer #block_myaccount_infos .myaccount-title a,#footer .footer-container .title .h3 { color:#315a3f; font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
  #footer .footer-container .collapse,
  #footer .footer-container .collapsing {
    box-sizing:border-box;
    left:auto!important;
    margin:0!important;
    max-width:100%!important;
    padding:0!important;
    transform:none!important;
    width:100%!important;
  }
  #footer .footer-container .collapse.show,
  #footer .footer-container .collapse.in { display:block; }
  #footer .footer-container .collapse ul,
  #footer .footer-container .collapsing ul {
    margin:0!important;
    padding:0!important;
    width:100%!important;
  }
  #footer .footer-container .collapse li,
  #footer .footer-container .collapsing li {
    margin:0!important;
    width:100%!important;
  }
  #footer .footer-container .collapse li a,
  #footer .footer-container .collapsing li a {
    border-top:1px solid #f1df99;
    box-sizing:border-box;
    display:block;
    padding:12px 16px!important;
    transform:none!important;
    width:100%!important;
  }
  #footer .footer-container .block-contact { line-height:1.55; text-align:left; }
  #footer .footer-container .block-contact img { margin-bottom:14px; max-width:135px; }
  #footer .copyright { padding:18px 12px 20px; }
  #footer .copyright p { font-size:.75rem; padding:7px 14px; }
}

/* Search close hardening: results must disappear when the drawer is closed. */
body:not(.bicos-search-open) #header #search_widget.bicos-search > .ui-autocomplete.searchbar-autocomplete.bicos-search-results,
body:not(.bicos-search-open) .ui-autocomplete.searchbar-autocomplete.bicos-search-results {
  display:none!important;
  pointer-events:none!important;
  visibility:hidden!important;
}

/* Buscador: el botón no participa en el cálculo de ancho del campo. Así se
 * mantiene centrado al abrir el cajón, también cuando el navegador recompone
 * la barra por la aparición del teclado móvil. */
#header #search_widget.bicos-search form { position:relative; }
#header #search_widget.bicos-search form input[type="text"],
#header #search_widget.bicos-search form input[type="search"] { padding-right:116px; }
#header #search_widget.bicos-search form button[type="submit"] {
  margin:0;
  position:absolute!important;
  right:26px;
  top:50%;
  transform:translateY(-50%);
}
#header #search_widget.bicos-search form i.clear {
  margin:0;
  padding:0;
  position:absolute!important;
  right:74px;
  top:50%;
  transform:translateY(-50%);
}
#header #search_widget.bicos-search form button[type="submit"]:hover,
#header #search_widget.bicos-search form button[type="submit"]:focus {
  transform:translateY(-50%) scale(1.04);
}

/* Respaldo para móviles con recursos JavaScript en caché: antes de que el
 * listado se integre en el cajón, sigue quedando sobre él y es navegable. */
@media (max-width:767px) {
  body.bicos-search-open > .ui-autocomplete.searchbar-autocomplete {
    background:#fff;
    bottom:0;
    box-sizing:border-box;
    display:block!important;
    left:0!important;
    margin:0!important;
    max-height:calc(100dvh - 120px)!important;
    overflow-y:auto!important;
    padding:0;
    position:fixed!important;
    right:0!important;
    top:120px!important;
    width:100%!important;
    z-index:100000;
  }
}

/* BicosShop category header polish: title, description and subcategory chips */
#js-product-list-header {
  box-sizing:border-box;
  margin:0 auto 28px;
  max-width:1110px;
  overflow:visible;
  padding:0;
  width:100%;
}
#js-product-list-header *,#js-product-list-header *::before,#js-product-list-header *::after { box-sizing:border-box; }
#js-product-list-header .block-category {
  background:linear-gradient(135deg,#fff 0%,#f8fff9 56%,#fff7fa 100%)!important;
  border:1px solid rgba(189,233,201,.86);
  border-radius:30px;
  box-shadow:0 18px 42px rgba(119,122,122,.09);
  margin:58px 0 26px!important;
  min-height:0!important;
  overflow:visible;
  padding:58px 42px 38px!important;
  position:relative;
  text-align:center;
}
#js-product-list-header .block-category::before {
  background:radial-gradient(circle,rgba(189,233,201,.38) 0 5px,transparent 6px) 0 0/34px 34px;
  border-radius:30px;
  content:"";
  inset:0;
  opacity:.55;
  pointer-events:none;
  position:absolute;
}
#js-product-list-header .block-category::after {
  background:#bde9c9;
  border:6px solid #fff;
  border-radius:8px;
  bottom:-22px;
  box-shadow:0 8px 20px rgba(145,220,174,.35);
  content:""!important;
  display:block;
  height:42px;
  left:50%;
  position:absolute;
  transform:translateX(-50%) rotate(45deg);
  width:42px;
}
#js-product-list-header .block-category h1 {
  left:50%!important;
  margin:0!important;
  position:absolute!important;
  text-align:center;
  text-transform:none;
  top:0!important;
  transform:translate(-50%,-50%)!important;
  white-space:normal!important;
  width:auto;
  z-index:2;
}
#js-product-list-header .block-category h1 span {
  background:linear-gradient(135deg,#a9eac9 0%,#bde9c9 100%)!important;
  border:4px solid #fff;
  border-radius:999px;
  box-shadow:0 12px 26px rgba(145,220,174,.30);
  color:#fff!important;
  display:inline-block;
  font-family:Love, Georgia, serif;
  font-size:clamp(34px,4vw,52px)!important;
  font-weight:400;
  line-height:.95;
  max-width:calc(100vw - 44px);
  padding:12px 44px 14px!important;
  position:relative;
  text-decoration:none;
  text-transform:none;
  white-space:nowrap;
}
#js-product-list-header .block-category h1 span::before,
#js-product-list-header .block-category h1 span::after { content:none!important; display:none!important; }
#js-product-list-header .block-category-inner {
  margin:0 auto;
  max-width:820px;
  position:relative;
  z-index:1;
}
#js-product-list-header #category-description {
  color:#777!important;
  font-size:clamp(17px,2vw,23px)!important;
  line-height:1.45;
  margin:0 auto!important;
  max-width:850px;
  text-align:center!important;
}
#js-product-list-header #category-description p,
#js-product-list-header #category-description strong {
  color:inherit!important;
  font-size:inherit!important;
  font-weight:500!important;
  line-height:inherit;
  margin:0!important;
}
#js-product-list-header #subcategorias {
  display:grid;
  gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  margin:0 auto 6px!important;
  max-width:1110px;
  padding:4px 3px 8px;
}
#js-product-list-header .subcategoria {
  display:block!important;
  margin:0!important;
  min-width:0;
  overflow:visible;
}
#js-product-list-header .subcategoria a {
  align-items:center;
  background:#fff!important;
  border:2px solid rgba(189,233,201,.88);
  border-radius:18px;
  box-shadow:0 8px 20px rgba(119,122,122,.07);
  color:#626868!important;
  display:flex!important;
  font-family:Asap,sans-serif!important;
  font-size:16px!important;
  font-weight:900;
  gap:10px;
  height:auto!important;
  justify-content:space-between;
  line-height:1.15;
  margin:0!important;
  min-height:52px;
  padding:12px 15px 12px 18px!important;
  text-align:left;
  text-decoration:none!important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
  white-space:normal!important;
  width:100%;
}
#js-product-list-header .subcategoria__label {
  display:block;
  flex:1 1 auto;
  min-width:0;
  overflow-wrap:anywhere;
  white-space:normal!important;
  word-break:normal;
  hyphens:auto;
}
#js-product-list-header .subcategoria a::after {
  align-items:center;
  background:#bde9c9;
  border-radius:50%;
  color:#fff;
  content:"›";
  display:inline-flex;
  flex:0 0 24px;
  font-family:Arial,sans-serif;
  font-size:20px;
  font-weight:900;
  height:24px;
  justify-content:center;
  line-height:1;
  width:24px;
}
#js-product-list-header .subcategoria a:hover,
#js-product-list-header .subcategoria a:focus {
  background:#fff8fb!important;
  border-color:#fed5d9;
  box-shadow:0 12px 24px rgba(119,122,122,.10);
  color:#4f5757!important;
  outline:none;
  transform:translateY(-2px);
}
#js-product-list-header .subcategoria a:hover::after,
#js-product-list-header .subcategoria a:focus::after { background:#fed5d9; }
@media (max-width:767px) {
  #js-product-list-header {
    margin-bottom:22px;
    padding-left:10px;
    padding-right:10px;
  }
  #js-product-list-header .block-category {
    border-radius:24px;
    margin-top:24px!important;
    margin-bottom:24px!important;
    padding:22px 18px 30px!important;
  }
  #js-product-list-header .block-category h1 {
    left:auto!important;
    margin:0 0 18px!important;
    position:relative!important;
    top:auto!important;
    transform:none!important;
    width:100%;
  }
  #js-product-list-header .block-category h1 span {
    border-width:3px;
    font-size:clamp(22px,7.5vw,29px)!important;
    line-height:1.05;
    max-width:100%;
    overflow:visible;
    padding:10px 20px 11px!important;
    text-overflow:clip;
    white-space:normal;
  }
  #js-product-list-header #category-description {
    font-size:16px!important;
    line-height:1.48;
  }
  #js-product-list-header .block-category::after {
    bottom:-16px;
    height:32px;
    width:32px;
  }
  #js-product-list-header #subcategorias {
    gap:10px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding-left:2px;
    padding-right:2px;
  }
  #js-product-list-header .subcategoria a {
    align-items:flex-start;
    border-radius:16px;
    font-size:14px!important;
    min-height:50px;
    padding:11px 10px 11px 12px!important;
  }
  #js-product-list-header .subcategoria a::after {
    flex-basis:21px;
    font-size:18px;
    height:21px;
    width:21px;
  }
}
@media (max-width:374px) {
  #js-product-list-header #subcategorias { grid-template-columns:1fr; }
}

/* BicosShop category long description polish */
#main .dbcategorydesc {
  background:linear-gradient(135deg,#ffffff 0%,#fffafa 48%,#f8fff9 100%)!important;
  border:1px solid rgba(189,233,201,.82)!important;
  border-radius:28px;
  box-shadow:0 18px 44px rgba(119,122,122,.08);
  color:#626868!important;
  font-family:Asap,sans-serif;
  line-height:1.72!important;
  margin:34px auto 42px!important;
  max-width:1110px;
  overflow:hidden;
  padding:34px 42px 36px!important;
  position:relative;
  text-align:left!important;
}
#main .dbcategorydesc::before {
  background:linear-gradient(180deg,#bde9c9 0%,#fed5d9 100%);
  border-radius:28px 0 0 28px;
  content:"";
  inset:0 auto 0 0;
  position:absolute;
  width:8px;
}
#main .dbcategorydesc::after {
  background:radial-gradient(circle,rgba(189,233,201,.35) 0 5px,transparent 6px) 0 0/32px 32px;
  content:"";
  inset:0;
  opacity:.38;
  pointer-events:none;
  position:absolute;
}
#main .dbcategorydesc > * {
  position:relative;
  z-index:1;
}
#main .dbcategorydesc h2,
#main .dbcategorydesc .h2 {
  align-items:center;
  color:#505858!important;
  display:flex;
  font-family:Asap,sans-serif!important;
  font-size:clamp(22px,2.3vw,31px)!important;
  font-weight:900!important;
  gap:12px;
  letter-spacing:-.02em;
  line-height:1.16!important;
  margin:24px 0 14px!important;
  text-transform:none!important;
}
#main .dbcategorydesc h2:first-child { margin-top:0!important; }
#main .dbcategorydesc h2::before,
#main .dbcategorydesc .h2::before {
  background:#bde9c9;
  border:4px solid #fff;
  border-radius:50%;
  box-shadow:0 6px 14px rgba(145,220,174,.28);
  content:"";
  flex:0 0 18px;
  height:18px;
  width:18px;
}
#main .dbcategorydesc p {
  color:#656b6b!important;
  font-size:17px!important;
  font-weight:400;
  line-height:1.72!important;
  margin:0 0 16px!important;
  max-width:980px;
}
#main .dbcategorydesc p:last-child,
#main .dbcategorydesc p:empty { margin-bottom:0!important; }
#main .dbcategorydesc p:empty { display:none; }
#main .dbcategorydesc strong {
  color:#4f5757!important;
  font-weight:900!important;
}
#main .dbcategorydesc p:has(> .h2:only-child) {
  margin:26px 0 14px!important;
}
#main .dbcategorydesc p > .h2:only-child {
  margin:0!important;
}
@media (min-width:768px) {
  #main .dbcategorydesc p:first-of-type {
    background:rgba(255,255,255,.72);
    border:1px solid rgba(254,213,217,.75);
    border-radius:20px;
    box-shadow:0 8px 20px rgba(119,122,122,.05);
    color:#5e6666!important;
    font-size:18px!important;
    line-height:1.65!important;
    margin-bottom:26px!important;
    max-width:none;
    padding:18px 22px!important;
  }
}
@media (max-width:767px) {
  #main .dbcategorydesc {
    border-radius:22px;
    line-height:1.62!important;
    margin:26px 10px 32px!important;
    padding:26px 20px 28px!important;
  }
  #main .dbcategorydesc::before {
    border-radius:22px 0 0 22px;
    width:6px;
  }
  #main .dbcategorydesc h2,
  #main .dbcategorydesc .h2 {
    align-items:flex-start;
    font-size:22px!important;
    gap:10px;
    line-height:1.18!important;
    margin:22px 0 12px!important;
  }
  #main .dbcategorydesc h2::before,
  #main .dbcategorydesc .h2::before {
    border-width:3px;
    flex-basis:15px;
    height:15px;
    margin-top:4px;
    width:15px;
  }
  #main .dbcategorydesc p {
    font-size:16px!important;
    line-height:1.62!important;
    margin-bottom:14px!important;
  }
}

/* BicosShop visible product-list discount badges */
#products .product-miniature .product-flags,
.featured-products .product-miniature .product-flags,
.product-accessories .product-miniature .product-flags,
.product-miniature .product-flags {
  align-items:flex-start;
  gap:6px;
  left:12px;
  top:12px;
  width:auto;
  z-index:5;
}
#products .product-miniature .product-flags li.product-flag.discount,
#products .product-miniature .product-flags li.product-flag.discount-amount,
#products .product-miniature .product-flags li.product-flag.discount-percentage,
.featured-products .product-miniature .product-flags li.product-flag.discount,
.featured-products .product-miniature .product-flags li.product-flag.discount-amount,
.featured-products .product-miniature .product-flags li.product-flag.discount-percentage,
.product-accessories .product-miniature .product-flags li.product-flag.discount,
.product-accessories .product-miniature .product-flags li.product-flag.discount-amount,
.product-accessories .product-miniature .product-flags li.product-flag.discount-percentage,
.product-miniature .product-flags li.product-flag.discount,
.product-miniature .product-flags li.product-flag.discount-amount,
.product-miniature .product-flags li.product-flag.discount-percentage {
  align-items:center;
  background:linear-gradient(135deg,#fed5d9 0%,#f3ea8d 100%)!important;
  border:3px solid #fff;
  border-radius:999px;
  box-shadow:0 9px 20px rgba(119,122,122,.16),0 0 0 1px rgba(189,233,201,.65);
  color:#505858!important;
  display:inline-flex;
  font-family:Asap,sans-serif!important;
  font-size:14px!important;
  font-weight:900!important;
  height:auto;
  justify-content:center;
  letter-spacing:.02em;
  line-height:1!important;
  margin:0!important;
  min-height:34px;
  min-width:58px;
  padding:8px 10px 7px!important;
  position:relative;
  text-align:center;
  text-indent:0!important;
  text-shadow:0 1px 0 rgba(255,255,255,.7);
  width:auto;
}
#products .product-miniature .product-flags li.product-flag.discount::before,
#products .product-miniature .product-flags li.product-flag.discount-amount::before,
#products .product-miniature .product-flags li.product-flag.discount-percentage::before,
.featured-products .product-miniature .product-flags li.product-flag.discount::before,
.featured-products .product-miniature .product-flags li.product-flag.discount-amount::before,
.featured-products .product-miniature .product-flags li.product-flag.discount-percentage::before,
.product-accessories .product-miniature .product-flags li.product-flag.discount::before,
.product-accessories .product-miniature .product-flags li.product-flag.discount-amount::before,
.product-accessories .product-miniature .product-flags li.product-flag.discount-percentage::before,
.product-miniature .product-flags li.product-flag.discount::before,
.product-miniature .product-flags li.product-flag.discount-amount::before,
.product-miniature .product-flags li.product-flag.discount-percentage::before {
  background:rgba(255,255,255,.82)!important;
  background-image:none!important;
  border-radius:50%;
  content:"";
  display:block;
  height:6px;
  left:7px;
  position:absolute;
  top:6px;
  width:6px;
}
#products .product-miniature .product-flags li.product-flag.discount::after,
#products .product-miniature .product-flags li.product-flag.discount-amount::after,
#products .product-miniature .product-flags li.product-flag.discount-percentage::after,
.featured-products .product-miniature .product-flags li.product-flag.discount::after,
.featured-products .product-miniature .product-flags li.product-flag.discount-amount::after,
.featured-products .product-miniature .product-flags li.product-flag.discount-percentage::after,
.product-accessories .product-miniature .product-flags li.product-flag.discount::after,
.product-accessories .product-miniature .product-flags li.product-flag.discount-amount::after,
.product-accessories .product-miniature .product-flags li.product-flag.discount-percentage::after,
.product-miniature .product-flags li.product-flag.discount::after,
.product-miniature .product-flags li.product-flag.discount-amount::after,
.product-miniature .product-flags li.product-flag.discount-percentage::after {
  content:" dto";
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  margin-left:3px;
  opacity:.72;
  text-transform:uppercase;
}
@media (max-width:767px) {
  #products .product-miniature .product-flags,
  .featured-products .product-miniature .product-flags,
  .product-accessories .product-miniature .product-flags,
  .product-miniature .product-flags {
    left:8px;
    top:8px;
  }
  #products .product-miniature .product-flags li.product-flag.discount,
  #products .product-miniature .product-flags li.product-flag.discount-amount,
  #products .product-miniature .product-flags li.product-flag.discount-percentage,
  .featured-products .product-miniature .product-flags li.product-flag.discount,
  .featured-products .product-miniature .product-flags li.product-flag.discount-amount,
  .featured-products .product-miniature .product-flags li.product-flag.discount-percentage,
  .product-accessories .product-miniature .product-flags li.product-flag.discount,
  .product-accessories .product-miniature .product-flags li.product-flag.discount-amount,
  .product-accessories .product-miniature .product-flags li.product-flag.discount-percentage,
  .product-miniature .product-flags li.product-flag.discount,
  .product-miniature .product-flags li.product-flag.discount-amount,
  .product-miniature .product-flags li.product-flag.discount-percentage {
    border-width:2px;
    font-size:12px!important;
    min-height:30px;
    min-width:50px;
    padding:7px 8px 6px!important;
  }
  #products .product-miniature .product-flags li.product-flag.discount::after,
  #products .product-miniature .product-flags li.product-flag.discount-amount::after,
  #products .product-miniature .product-flags li.product-flag.discount-percentage::after,
  .featured-products .product-miniature .product-flags li.product-flag.discount::after,
  .featured-products .product-miniature .product-flags li.product-flag.discount-amount::after,
  .featured-products .product-miniature .product-flags li.product-flag.discount-percentage::after,
  .product-accessories .product-miniature .product-flags li.product-flag.discount::after,
  .product-accessories .product-miniature .product-flags li.product-flag.discount-amount::after,
  .product-accessories .product-miniature .product-flags li.product-flag.discount-percentage::after,
  .product-miniature .product-flags li.product-flag.discount::after,
  .product-miniature .product-flags li.product-flag.discount-amount::after,
  .product-miniature .product-flags li.product-flag.discount-percentage::after {
    content:"";
    margin-left:0;
  }
}

/* BicosShop product grids: keep odd last card left-aligned */
@media (max-width:767px) {
  #products .products.row,
  .featured-products .products.row,
  .product-accessories .products.row,
  .products.row {
    justify-content:flex-start!important;
  }
  #products .product-miniature,
  .featured-products .product-miniature,
  .product-accessories .product-miniature,
  .products.row > .product-miniature {
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* BicosShop category load-more pagination */
#js-product-list .bicos-pagination {
  clear:both;
  margin:28px 0 20px;
  text-align:center;
  width:100%;
}
#js-product-list .bicos-pagination .page-list {
  display:none!important;
}
#js-product-list .bicos-load-more-wrap {
  align-items:center;
  display:flex;
  justify-content:center;
  padding:4px 0 12px;
  width:100%;
}
#js-product-list .bicos-load-more {
  align-items:center;
  background:linear-gradient(135deg,#bde9c9 0%,#fed5d9 100%);
  border:3px solid #fff;
  border-radius:999px;
  box-shadow:0 12px 26px rgba(80,88,88,.16),0 0 0 1px rgba(189,233,201,.8);
  color:#505858;
  cursor:pointer;
  display:inline-flex;
  font-family:Asap,sans-serif;
  font-size:15px;
  font-weight:900;
  gap:8px;
  justify-content:center;
  letter-spacing:.02em;
  line-height:1.1;
  min-height:48px;
  min-width:210px;
  padding:13px 28px;
  position:relative;
  text-transform:uppercase;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}
#js-product-list .bicos-load-more::after {
  align-items:center;
  background:rgba(255,255,255,.72);
  border-radius:50%;
  content:"↓";
  display:inline-flex;
  font-size:15px;
  height:24px;
  justify-content:center;
  line-height:1;
  width:24px;
}
#js-product-list .bicos-load-more:hover,
#js-product-list .bicos-load-more:focus {
  box-shadow:0 15px 30px rgba(80,88,88,.2),0 0 0 1px rgba(189,233,201,.95);
  color:#505858;
  outline:0;
  transform:translateY(-1px);
}
#js-product-list .bicos-load-more:disabled {
  cursor:wait;
  opacity:.72;
  transform:none;
}
#js-product-list .bicos-load-more__loading {
  display:none;
}
#js-product-list .bicos-load-more.is-loading .bicos-load-more__text,
#js-product-list .bicos-load-more.is-loading::after {
  display:none;
}
#js-product-list .bicos-load-more.is-loading .bicos-load-more__loading {
  display:inline;
}
#js-product-list .bicos-product-appended {
  animation:bicosProductFadeIn .28s ease both;
}
@keyframes bicosProductFadeIn {
  from { opacity:0; transform:translateY(10px); }
  to { opacity:1; transform:translateY(0); }
}
@media (max-width:767px) {
  #js-product-list .bicos-pagination {
    margin-top:20px;
  }
  #js-product-list .bicos-load-more {
    font-size:13px;
    min-height:46px;
    min-width:0;
    padding:12px 22px;
    width:calc(100% - 24px);
  }
}

/* BicosShop product detail polish */
body#product #main {
  overflow:hidden;
  padding-bottom:34px;
}
body#product #main > .product-container {
  align-items:flex-start;
  margin:22px auto 44px!important;
  max-width:1120px;
  position:relative;
}
body#product #main > .product-container > .col-lg-8,
body#product #main > .product-container > .col-lg-4 {
  box-sizing:border-box;
}
body#product #main > .product-container > .col-lg-8 {
  padding-right:28px;
}
body#product #main > .product-container > .col-lg-4 {
  background:linear-gradient(180deg,#fff 0%,#fbfffc 100%);
  border:1px solid rgba(189,233,201,.95);
  border-radius:28px;
  box-shadow:0 18px 44px rgba(80,88,88,.11);
  overflow:hidden;
  padding:28px 28px 24px!important;
  position:sticky;
  top:18px;
}
body#product #main > .product-container > .col-lg-4::before {
  background:linear-gradient(90deg,#bde9c9,#fed5d9);
  content:"";
  display:block;
  height:7px;
  left:0;
  position:absolute;
  right:0;
  top:0;
}
body#product .page-content {
  background:linear-gradient(180deg,#fff 0%,#fbfffc 100%);
  border:1px solid rgba(189,233,201,.85);
  border-radius:28px;
  box-shadow:0 18px 44px rgba(80,88,88,.10);
  overflow:hidden;
  padding:22px;
}
body#product .images-container {
  align-items:flex-start;
  margin:0!important;
}
body#product .js-qv-mask.mask {
  padding-left:0!important;
  padding-right:14px!important;
}
body#product .product-images {
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0!important;
  max-height:none!important;
  overflow:visible!important;
}
body#product .thumb-container {
  margin:0!important;
}
body#product .product-images img.thumb {
  border:2px solid rgba(189,233,201,.78)!important;
  border-radius:16px;
  box-shadow:0 8px 18px rgba(80,88,88,.08);
  cursor:pointer;
  height:auto!important;
  overflow:hidden;
  padding:3px;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
  width:84px!important;
}
body#product .product-images img.thumb:hover,
body#product .product-images img.thumb.selected {
  border-color:#99dfad!important;
  box-shadow:0 10px 22px rgba(80,88,88,.13);
  transform:translateY(-1px);
}
body#product .product-cover {
  border-radius:24px;
  overflow:hidden;
  padding:0!important;
  position:relative;
}
body#product .product-cover img {
  background:#fff;
  border-radius:24px;
  display:block;
  height:auto;
  max-width:100%;
}
body#product .product-cover .layer {
  background:rgba(255,255,255,.76);
  border:1px solid rgba(189,233,201,.9);
  border-radius:999px;
  bottom:18px;
  box-shadow:0 10px 22px rgba(80,88,88,.12);
  height:48px;
  opacity:1;
  position:absolute;
  right:18px;
  top:auto;
  width:48px;
}
body#product .product-cover .layer .zoom-in {
  color:#7bcf96;
  font-size:25px;
  line-height:48px;
}
body#product h1.h1[itemprop="name"] {
  color:#606868;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(28px,3vw,38px);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.08;
  margin:0 0 16px;
  text-align:left;
}
body#product .product-prices {
  align-items:flex-end;
  background:#f7fffa;
  border:1px solid rgba(189,233,201,.9);
  border-radius:20px;
  display:flex;
  flex-wrap:wrap;
  gap:4px 10px;
  margin:0 0 18px!important;
  padding:16px 18px;
}
body#product .product-price,
body#product .current-price {
  margin:0!important;
}
body#product .current-price .price,
body#product .product-price .price {
  color:#82dca3!important;
  font-size:34px!important;
  font-weight:900!important;
  letter-spacing:-.02em;
  line-height:1;
}
body#product .tax-shipping-delivery-label {
  color:#868686;
  font-size:13px;
  font-weight:700;
  margin:0 0 3px!important;
}
body#product .product-description {
  color:#686f6f;
  font-size:16px;
  line-height:1.48;
}
body#product #product-description-short,
body#product [id^="product-description-short-"] {
  border-bottom:1px solid rgba(189,233,201,.75);
  margin-bottom:20px;
  padding-bottom:18px;
}
body#product .product-customization .card.card-block {
  background:#fff;
  border:1px solid rgba(254,213,217,.95);
  border-radius:22px;
  box-shadow:0 10px 26px rgba(80,88,88,.08);
  margin:0 0 20px;
  padding:18px!important;
}
body#product .product-customization .card-title {
  color:#565d5d;
  font-family:Asap,sans-serif;
  font-size:18px;
  font-weight:900;
  margin-bottom:8px;
}
body#product .product-customization-auto-save-help {
  color:#7b8282;
  font-size:14px;
  line-height:1.42;
  margin-bottom:14px;
}
body#product .product-customization ul {
  margin:0;
  padding:0;
}
body#product .product-customization-item {
  margin-bottom:14px!important;
}
body#product .product-customization-item label,
body#product .product-variants .control-label,
body#product .product-add-to-cart > .control-label {
  color:#444b4b;
  display:block;
  font-size:14px;
  font-weight:800;
  margin:0 0 8px;
}
body#product .product-customization .product-message,
body#product .product-variants select.form-control {
  background:#fff!important;
  border:1px solid rgba(189,233,201,.95)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  color:#5f6666;
  min-height:48px;
  padding:12px 14px!important;
  width:100%;
}
body#product .product-customization .product-message:focus,
body#product .product-variants select.form-control:focus,
body#product #quantity_wanted:focus {
  border-color:#82dca3!important;
  box-shadow:0 0 0 3px rgba(189,233,201,.42)!important;
  outline:0;
}
body#product .product-customization small {
  color:#9a9a9a;
  font-size:11px;
  margin-top:5px;
}
body#product .product-variants {
  margin:0 0 18px;
}
body#product .product-quantity {
  align-items:flex-end;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:2px;
}
body#product .product-quantity .qty {
  margin:0!important;
}
body#product .product-quantity .bootstrap-touchspin {
  align-items:center!important;
  background:#f7fffa!important;
  border:1px solid rgba(189,233,201,.95)!important;
  border-radius:999px!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
  display:inline-grid!important;
  float:none!important;
  grid-template-columns:36px 42px 36px!important;
  height:38px!important;
  overflow:hidden!important;
  width:114px!important;
}
body#product #quantity_wanted {
  appearance:textfield;
  -moz-appearance:textfield;
  background:#fff!important;
  border:0!important;
  border-left:1px solid rgba(189,233,201,.75)!important;
  border-right:1px solid rgba(189,233,201,.75)!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#4d5555;
  float:none!important;
  font-size:15px!important;
  font-weight:900;
  grid-column:2!important;
  grid-row:1!important;
  height:38px!important;
  line-height:38px!important;
  min-width:0!important;
  padding:0!important;
  text-align:center;
  width:42px!important;
}
body#product #quantity_wanted::-webkit-inner-spin-button,
body#product #quantity_wanted::-webkit-outer-spin-button {
  -webkit-appearance:none;
  margin:0;
}
body#product .product-quantity .bootstrap-touchspin .input-group-btn-vertical {
  display:contents!important;
}
body#product .product-quantity .bootstrap-touchspin .btn-touchspin {
  align-items:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  color:#4d7e5c!important;
  display:flex!important;
  font-size:20px!important;
  font-weight:900!important;
  grid-row:1!important;
  height:38px!important;
  justify-content:center!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  width:36px!important;
}
body#product .product-quantity .bootstrap-touchspin .bootstrap-touchspin-down { grid-column:1!important; }
body#product .product-quantity .bootstrap-touchspin .bootstrap-touchspin-up { grid-column:3!important; }
body#product .product-quantity .bootstrap-touchspin .btn-touchspin i { display:none!important; }
body#product .product-quantity .bootstrap-touchspin .bootstrap-touchspin-down::before { content:"−"; }
body#product .product-quantity .bootstrap-touchspin .bootstrap-touchspin-up::before { content:"+"; }
body#product .product-quantity .bootstrap-touchspin .btn-touchspin:hover,
body#product .product-quantity .bootstrap-touchspin .btn-touchspin:focus {
  background:#eefbf2!important;
  color:#3f7f56!important;
}
body#product .product-quantity .add {
  flex:1 1 180px;
  margin:0!important;
}
body#product .product-actions .add-to-cart {
  align-items:center;
  background:linear-gradient(135deg,#fed5d9 0%,#bde9c9 100%)!important;
  border:3px solid #fff!important;
  border-radius:999px!important;
  box-shadow:0 14px 28px rgba(80,88,88,.16)!important;
  color:#fff!important;
  display:inline-flex!important;
  font-size:18px!important;
  font-weight:900!important;
  gap:10px;
  justify-content:center;
  letter-spacing:.03em;
  min-height:54px;
  padding:12px 24px!important;
  text-shadow:0 1px 0 rgba(80,88,88,.14);
  transition:transform .18s ease,box-shadow .18s ease;
  width:100%;
}
body#product .product-actions .add-to-cart:hover,
body#product .product-actions .add-to-cart:focus {
  box-shadow:0 18px 34px rgba(80,88,88,.20)!important;
  transform:translateY(-1px);
}
body#product .product-actions .add-to-cart img {
  background:transparent!important;
  border-radius:0!important;
  filter:brightness(0) invert(1);
  height:30px!important;
  left:auto!important;
  margin:0!important;
  padding:0!important;
  position:static!important;
  top:auto!important;
  width:30px!important;
}
body#product .wishlist-button-product,
body#product .wishlist-button-add.wishlist-button-product {
  align-items:center;
  background:linear-gradient(135deg,#fff 0%,#fff7f8 100%)!important;
  border:2px solid #fed5d9!important;
  border-radius:999px!important;
  box-shadow:0 12px 24px rgba(242,168,178,.20)!important;
  color:#e88f9c!important;
  display:inline-flex!important;
  flex:1 1 100%;
  gap:9px;
  height:48px!important;
  justify-content:center;
  margin:0!important;
  min-width:0!important;
  padding:0 18px!important;
  position:relative;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  width:100%!important;
}
body#product .wishlist-button-product:hover,
body#product .wishlist-button-product:focus,
body#product .wishlist-button-add.wishlist-button-product:hover,
body#product .wishlist-button-add.wishlist-button-product:focus {
  background:linear-gradient(135deg,#fff8fa 0%,#f2fff6 100%)!important;
  box-shadow:0 16px 30px rgba(242,168,178,.26)!important;
  transform:translateY(-1px);
}
body#product .wishlist-button-product i,
body#product .wishlist-button-add.wishlist-button-product i,
body#product .wishlist-button-product .material-icons,
body#product .wishlist-button-add.wishlist-button-product .material-icons {
  align-items:center!important;
  background:#fff!important;
  border:1px solid rgba(254,213,217,.95)!important;
  border-radius:50%!important;
  display:inline-flex!important;
  font-size:20px!important;
  height:30px!important;
  justify-content:center!important;
  line-height:30px!important;
  margin:0!important;
  min-width:30px!important;
  width:30px!important;
}
body#product .wishlist-button-product::after,
body#product .wishlist-button-add.wishlist-button-product::after {
  color:#6d6d6d;
  content:"Añadir a favoritos";
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
  line-height:1;
  text-transform:uppercase;
}
body#product #product-availability {
  color:#4d5555;
  display:block;
  font-size:14px;
  font-weight:800;
  line-height:1.45;
  margin:16px 0 18px;
  padding-left:30px;
  position:relative;
}
body#product #product-availability::before {
  align-items:center;
  background:#fff4f6;
  border:1px solid #fed5d9;
  border-radius:50%;
  color:#f2a8b2;
  content:"✓";
  display:inline-flex;
  font-size:13px;
  font-weight:900;
  height:22px;
  justify-content:center;
  left:0;
  position:absolute;
  top:0;
  width:22px;
}
body#product #product-availability .material-icons {
  display:none;
}
body#product .product-additional-info,
body#product .social-sharing {
  border-top:1px solid rgba(189,233,201,.72);
  margin-top:16px;
  padding-top:16px;
}
body#product .social-sharing {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body#product .social-sharing span {
  color:#606868;
  font-weight:800;
  margin-right:2px;
}
body#product .social-sharing li a {
  box-shadow:0 8px 16px rgba(80,88,88,.10)!important;
}
body#product .tabs {
  background:#fff;
  border:1px solid rgba(254,213,217,.95);
  border-radius:26px;
  box-shadow:0 16px 34px rgba(80,88,88,.09);
  margin:4px auto 58px!important;
  max-width:1120px;
  overflow:hidden;
  padding:0!important;
}
body#product .tabs .nav-tabs {
  background:linear-gradient(90deg,#fff4f6 0%,#f7fffa 100%);
  border:0!important;
  margin:0!important;
  padding:14px 16px 0;
}
body#product .tabs .nav-tabs .nav-link {
  background:#fff!important;
  border:1px solid rgba(254,213,217,.95)!important;
  border-bottom:0!important;
  border-radius:18px 18px 0 0!important;
  color:#686f6f!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
  font-weight:700;
  padding:10px 38px!important;
}
body#product .tabs .nav-tabs .nav-link.active {
    background:transparent!important;
    border-color:transparent!important;
    color:#686f6f!important;
}
body#product .tabs .tab-content {
  color:#686f6f;
  font-size:16px;
  line-height:1.55;
  padding:22px 30px 28px!important;
}
body#product .tabs .product-description ul {
  margin:0;
  padding-left:22px;
}
body#product .tabs .product-description li {
  margin-bottom:7px;
}
@media (max-width:991px) {
  body#product #main > .product-container {
    margin-top:16px!important;
  }
  body#product #main > .product-container > .col-lg-8 {
    padding-right:15px;
  }
  body#product #main > .product-container > .col-lg-4 {
    margin-top:18px;
    position:relative;
    top:auto;
  }
}
@media (max-width:767px) {
  body#product #main {
    padding-left:12px;
    padding-right:12px;
  }
  body#product #main > .product-container {
    margin:14px 0 28px!important;
    max-width:100%;
  }
  body#product #main > .product-container > .col-lg-8,
  body#product #main > .product-container > .col-lg-4 {
    padding-left:0!important;
    padding-right:0!important;
    width:100%;
  }
  body#product .page-content {
    border-radius:22px;
    padding:12px;
  }
  body#product .images-container {
    display:flex;
    flex-direction:column-reverse;
  }
  body#product .js-qv-mask.mask {
    margin-top:12px;
    padding:0!important;
    width:100%!important;
  }
  body#product .product-images {
    flex-direction:row;
    gap:10px;
    overflow-x:auto!important;
    padding:2px 2px 8px!important;
    scrollbar-width:thin;
  }
  body#product .product-images img.thumb {
    flex:0 0 72px;
    width:72px!important;
  }
  body#product .product-cover {
    border-radius:20px;
    width:100%!important;
  }
  body#product .product-cover img {
    border-radius:20px;
  }
  body#product #main > .product-container > .col-lg-4 {
    border-radius:24px;
    padding:24px 18px 20px!important;
  }
  body#product h1.h1[itemprop="name"] {
    font-size:29px;
    margin-bottom:14px;
  }
  body#product .product-prices {
    border-radius:18px;
    padding:14px 15px;
  }
  body#product .current-price .price,
  body#product .product-price .price {
    font-size:31px!important;
  }
  body#product .product-customization .card.card-block {
    border-radius:19px;
    padding:16px!important;
  }
  body#product .product-quantity {
    align-items:stretch;
  }
  body#product .product-quantity .add {
    flex:1 1 100%;
  }
  body#product .product-actions .add-to-cart {
    min-height:56px;
    width:100%;
  }
  body#product .wishlist-button-product,
  body#product .wishlist-button-add.wishlist-button-product {
    flex:1 1 100%;
    min-height:48px;
    width:100%!important;
  }
  body#product .tabs {
    border-radius:22px;
    margin:0 0 38px!important;
    max-width:100%;
  }
  body#product .tabs .nav-tabs {
    padding:12px 12px 0;
  }
  body#product .tabs .nav-tabs .nav-link {
    font-size:21px;
    padding:9px 24px!important;
  }
  body#product .tabs .tab-content {
    padding:18px 18px 22px!important;
  }
}

/* BicosShop add-to-cart modal polish 20260817a */
#blockcart-modal.bicos-cart-modal,
#blockcart-modal.bicos-cart-modal * {
  box-sizing:border-box;
}
#blockcart-modal.bicos-cart-modal {
  color:#4d5555;
  padding:18px!important;
}
#blockcart-modal.bicos-cart-modal .modal-dialog {
  margin:48px auto!important;
  max-width:980px!important;
  width:calc(100% - 32px)!important;
}
#blockcart-modal.bicos-cart-modal .modal-content {
  background:linear-gradient(135deg,#ffffff 0%,#fbfffc 52%,#fff8fa 100%)!important;
  border:1px solid rgba(189,233,201,.95)!important;
  border-radius:30px!important;
  box-shadow:0 28px 70px rgba(67,83,74,.20)!important;
  overflow:hidden;
  position:relative;
}
#blockcart-modal.bicos-cart-modal .modal-content::before {
  background:linear-gradient(90deg,#bde9c9 0%,#fed5d9 100%);
  content:"";
  height:8px;
  left:0;
  position:absolute;
  right:0;
  top:0;
}
#blockcart-modal.bicos-cart-modal .modal-header {
  align-items:center;
  background:transparent!important;
  border:0!important;
  display:flex;
  gap:16px;
  min-height:0;
  padding:34px 38px 20px!important;
  position:relative;
}
#blockcart-modal.bicos-cart-modal .modal-header .close {
  align-items:center;
  background:#fff!important;
  border:1px solid rgba(254,213,217,.95)!important;
  border-radius:50%;
  box-shadow:0 10px 20px rgba(242,168,178,.18);
  color:#6b6f6f;
  display:flex;
  height:42px;
  justify-content:center;
  line-height:1;
  margin:0!important;
  opacity:1!important;
  padding:0!important;
  position:absolute;
  right:24px;
  top:24px;
  width:42px;
  z-index:2;
}
#blockcart-modal.bicos-cart-modal .modal-header .close .material-icons {
  color:#6b6f6f!important;
  font-size:22px;
  line-height:1;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__success {
  align-items:center;
  background:linear-gradient(135deg,#bde9c9 0%,#eaffef 100%);
  border:5px solid #fff;
  border-radius:50%;
  box-shadow:0 14px 28px rgba(104,163,121,.22);
  color:#3c9858;
  display:flex;
  flex:0 0 62px;
  height:62px;
  justify-content:center;
  width:62px;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__success .material-icons {
  font-size:32px;
  line-height:1;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__heading {
  max-width:calc(100% - 86px);
  padding-right:54px;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__eyebrow,
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__label {
  color:#7f8c86;
  display:block;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:6px;
  text-transform:uppercase;
}
#blockcart-modal.bicos-cart-modal .modal-title {
  color:#444d4a!important;
  font-family:inherit;
  font-size:26px!important;
  font-weight:900!important;
  line-height:1.12;
  margin:0!important;
  text-align:left!important;
}
#blockcart-modal.bicos-cart-modal .modal-title i.material-icons {
  display:none!important;
}
#blockcart-modal.bicos-cart-modal .modal-body {
  background:transparent!important;
  padding:0 38px 38px!important;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__grid {
  align-items:stretch;
  display:flex;
  margin:0!important;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__product,
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__summary {
  padding-left:0!important;
  padding-right:0!important;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__product {
  background:#fff;
  border:1px solid rgba(189,233,201,.86)!important;
  border-radius:24px;
  box-shadow:0 16px 34px rgba(80,88,88,.08);
  padding:18px!important;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__product-row {
  align-items:center;
  display:flex;
  margin:0!important;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__image-col,
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__info-col {
  padding-left:0!important;
  padding-right:0!important;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__image-col {
  padding-right:16px!important;
}
#blockcart-modal.bicos-cart-modal .product-image {
  background:#fff;
  border:1px solid rgba(254,213,217,.95);
  border-radius:20px;
  box-shadow:0 12px 24px rgba(242,168,178,.12);
  display:block;
  height:auto;
  margin:0!important;
  max-width:138px!important;
  padding:8px;
  width:100%!important;
}
#blockcart-modal.bicos-cart-modal .product-name {
  color:#4d5555!important;
  font-size:19px!important;
  font-weight:900;
  line-height:1.2;
  margin:0 0 10px!important;
  padding:0!important;
}
#blockcart-modal.bicos-cart-modal .product-price {
  background:#eefbf2;
  border:1px solid rgba(189,233,201,.9);
  border-radius:999px;
  color:#3f7f56!important;
  display:inline-flex!important;
  font-size:20px!important;
  font-weight:900;
  line-height:1;
  margin:0 0 12px!important;
  padding:9px 14px!important;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__meta {
  color:#6a7070;
  display:flex;
  flex-direction:column;
  font-size:14px;
  gap:5px;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__meta span {
  display:block!important;
  margin:0!important;
  padding:0!important;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__summary {
  padding-left:22px!important;
}
#blockcart-modal.bicos-cart-modal .cart-content {
  background:rgba(255,255,255,.74);
  border:1px solid rgba(254,213,217,.82);
  border-radius:24px;
  height:100%;
  padding:20px!important;
}
#blockcart-modal.bicos-cart-modal .cart-content p.cart-products-count {
  align-items:center;
  background:#fff8fa;
  border:1px solid rgba(254,213,217,.92);
  border-radius:16px;
  color:#d77786!important;
  display:flex!important;
  font-size:16px!important;
  font-weight:900!important;
  justify-content:flex-start!important;
  margin:0 0 14px!important;
  padding:13px 15px!important;
}
#blockcart-modal.bicos-cart-modal .cart-content p.cart-products-count::before {
  align-items:center;
  background:#fff;
  border-radius:50%;
  color:#e88f9c;
  content:"🛍";
  display:inline-flex;
  height:30px;
  justify-content:center;
  margin-right:10px;
  width:30px;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__totals {
  display:flex;
  flex-direction:column;
  gap:8px;
}
#blockcart-modal.bicos-cart-modal .cart-content p {
  align-items:center;
  background:#fff;
  border:1px solid rgba(238,244,240,.95);
  border-radius:14px;
  color:#5c6464!important;
  display:flex!important;
  justify-content:space-between!important;
  margin:0!important;
  padding:11px 13px!important;
}
#blockcart-modal.bicos-cart-modal .cart-content p .label,
#blockcart-modal.bicos-cart-modal .cart-content p .value {
  font-weight:800!important;
}
#blockcart-modal.bicos-cart-modal .cart-content p.product-total {
  background:linear-gradient(135deg,#eefbf2 0%,#fff 100%)!important;
  border-color:rgba(189,233,201,.95)!important;
  color:#3f7f56!important;
  font-size:18px;
}
#blockcart-modal.bicos-cart-modal .cart-content p.product-tax {
  color:#7b8383!important;
  display:block!important;
  font-size:13px!important;
  text-align:right;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__trust {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:14px 0 18px;
}
#blockcart-modal.bicos-cart-modal .bicos-cart-modal__trust span {
  background:#f7fffa;
  border:1px solid rgba(189,233,201,.8);
  border-radius:999px;
  color:#557161;
  font-size:12px;
  font-weight:800;
  padding:8px 11px;
}
#blockcart-modal.bicos-cart-modal .cart-content .cart-content-btn {
  display:flex!important;
  gap:12px;
  width:100%;
}
#blockcart-modal.bicos-cart-modal .cart-content .cart-content-btn button,
#blockcart-modal.bicos-cart-modal .cart-content .cart-content-btn .btn {
  align-items:center;
  border-radius:999px!important;
  display:inline-flex!important;
  flex:1 1 0;
  font-size:14px!important;
  font-weight:900!important;
  justify-content:center;
  margin:0!important;
  min-height:50px;
  padding:12px 18px!important;
  text-align:center;
  text-transform:uppercase;
  white-space:normal!important;
}
#blockcart-modal.bicos-cart-modal .cart-content .cart-content-btn .btn-secondary {
  background:#fff!important;
  border:2px solid #fed5d9!important;
  color:#6d6d6d!important;
}
#blockcart-modal.bicos-cart-modal .cart-content .cart-content-btn .btn-primary {
  background:linear-gradient(135deg,#9fdeb2 0%,#77c98e 100%)!important;
  border:0!important;
  box-shadow:0 14px 26px rgba(111,190,135,.28)!important;
  color:#fff!important;
}
#blockcart-modal.bicos-cart-modal .cart-content .cart-content-btn .btn-primary i {
  font-size:20px;
  margin-right:8px;
}
@media (max-width:767px) {
  #blockcart-modal.bicos-cart-modal {
    padding:8px!important;
  }
  #blockcart-modal.bicos-cart-modal .modal-dialog {
    margin:12px auto!important;
    max-width:100%!important;
    width:calc(100% - 16px)!important;
  }
  #blockcart-modal.bicos-cart-modal .modal-content {
    border-radius:24px!important;
    max-height:calc(100vh - 24px);
    overflow-y:auto;
  }
  #blockcart-modal.bicos-cart-modal .modal-header {
    gap:12px;
    padding:26px 18px 16px!important;
  }
  #blockcart-modal.bicos-cart-modal .modal-header .close {
    height:36px;
    right:14px;
    top:14px;
    width:36px;
  }
  #blockcart-modal.bicos-cart-modal .bicos-cart-modal__success {
    border-width:4px;
    flex-basis:52px;
    height:52px;
    width:52px;
  }
  #blockcart-modal.bicos-cart-modal .bicos-cart-modal__heading {
    max-width:calc(100% - 64px);
    padding-right:34px;
  }
  #blockcart-modal.bicos-cart-modal .modal-title {
    font-size:21px!important;
  }
  #blockcart-modal.bicos-cart-modal .modal-body {
    padding:0 14px 16px!important;
  }
  #blockcart-modal.bicos-cart-modal .bicos-cart-modal__grid,
  #blockcart-modal.bicos-cart-modal .bicos-cart-modal__product-row {
    display:block;
  }
  #blockcart-modal.bicos-cart-modal .bicos-cart-modal__product {
    margin-bottom:12px;
    padding:14px!important;
  }
  #blockcart-modal.bicos-cart-modal .bicos-cart-modal__image-col {
    float:left;
    padding-right:12px!important;
    width:34%!important;
  }
  #blockcart-modal.bicos-cart-modal .bicos-cart-modal__info-col {
    float:left;
    width:66%!important;
  }
  #blockcart-modal.bicos-cart-modal .bicos-cart-modal__product-row::after {
    clear:both;
    content:"";
    display:block;
  }
  #blockcart-modal.bicos-cart-modal .product-image {
    max-width:100%!important;
    padding:6px;
  }
  #blockcart-modal.bicos-cart-modal .product-name {
    font-size:17px!important;
  }
  #blockcart-modal.bicos-cart-modal .product-price {
    font-size:17px!important;
    padding:8px 12px!important;
  }
  #blockcart-modal.bicos-cart-modal .bicos-cart-modal__summary {
    padding-left:0!important;
    width:100%!important;
  }
  #blockcart-modal.bicos-cart-modal .cart-content {
    padding:14px!important;
  }
  #blockcart-modal.bicos-cart-modal .cart-content p {
    font-size:14px;
    gap:10px;
  }
  #blockcart-modal.bicos-cart-modal .cart-content p.cart-products-count {
    font-size:14px!important;
  }
  #blockcart-modal.bicos-cart-modal .cart-content .cart-content-btn {
    flex-direction:column;
  }
  #blockcart-modal.bicos-cart-modal .cart-content .cart-content-btn button,
  #blockcart-modal.bicos-cart-modal .cart-content .cart-content-btn .btn {
    flex-basis:auto;
    width:100%;
  }
}

/* BicosShop floating cart drawer 20260817a */
body.bicos-cart-drawer-open {
  overflow:hidden;
}
.blockcart .bicos-cart-drawer {
  inset:0;
  pointer-events:none;
  position:fixed;
  z-index:2147483000;
}
.blockcart .bicos-cart-drawer__backdrop {
  background:rgba(47,57,55,.38);
  inset:0;
  opacity:0;
  position:absolute;
  transition:opacity .22s ease;
}
.blockcart .bicos-cart-drawer__panel {
  background:linear-gradient(180deg,#ffffff 0%,#fbfffc 58%,#fff8fa 100%);
  border-left:1px solid rgba(189,233,201,.95);
  box-shadow:-24px 0 54px rgba(63,79,72,.20);
  display:flex;
  flex-direction:column;
  height:100dvh;
  max-width:100%;
  position:absolute;
  right:0;
  top:0;
  transform:translateX(104%);
  transition:transform .26s ease;
  width:min(430px,100vw);
}
body.bicos-cart-drawer-open .blockcart .bicos-cart-drawer {
  pointer-events:auto;
}
body.bicos-cart-drawer-open .blockcart .bicos-cart-drawer__backdrop {
  opacity:1;
}
body.bicos-cart-drawer-open .blockcart .bicos-cart-drawer__panel {
  transform:translateX(0);
}
.bicos-cart-drawer__header {
  align-items:center;
  background:#fff;
  border-bottom:1px solid rgba(189,233,201,.78);
  display:flex;
  flex:0 0 auto;
  justify-content:space-between;
  padding:20px 22px 16px;
  position:relative;
}
.bicos-cart-drawer__header::before {
  background:linear-gradient(90deg,#bde9c9 0%,#fed5d9 100%);
  content:"";
  height:6px;
  left:0;
  position:absolute;
  right:0;
  top:0;
}
.bicos-cart-drawer__eyebrow {
  color:#7f8c86;
  display:block;
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  margin-bottom:4px;
  text-transform:uppercase;
}
.bicos-cart-drawer__header h2 {
  color:#404a47;
  font-size:27px;
  font-weight:900;
  line-height:1;
  margin:0;
}
.bicos-cart-drawer__close {
  align-items:center;
  background:#fff8fa;
  border:1px solid #fed5d9;
  border-radius:50%;
  box-shadow:0 8px 18px rgba(242,168,178,.18);
  color:#6b6f6f;
  display:flex;
  font-size:28px;
  font-weight:400;
  height:42px;
  justify-content:center;
  line-height:1;
  padding:0 0 3px;
  width:42px;
}
.bicos-cart-drawer__summary-pill {
  align-items:center;
  background:#fff8fa;
  border:1px solid rgba(254,213,217,.95);
  border-radius:18px;
  color:#d77786;
  display:flex;
  flex:0 0 auto;
  font-size:15px;
  font-weight:900;
  gap:10px;
  margin:16px 18px 12px;
  padding:12px 14px;
}
.bicos-cart-drawer__bag {
  align-items:center;
  background:#fff;
  border-radius:50%;
  display:inline-flex;
  height:32px;
  justify-content:center;
  width:32px;
}
.bicos-cart-drawer__items {
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  padding:0 18px 16px;
  -webkit-overflow-scrolling:touch;
}
.bicos-cart-drawer__item {
  background:#fff;
  border:1px solid rgba(189,233,201,.84);
  border-radius:22px;
  box-shadow:0 12px 26px rgba(80,88,88,.08);
  display:grid;
  gap:13px;
  grid-template-columns:86px minmax(0,1fr);
  margin:0 0 12px;
  padding:12px;
}
.bicos-cart-drawer__item-image {
  align-items:center;
  background:#fff8fa;
  border:1px solid rgba(254,213,217,.9);
  border-radius:18px;
  display:flex;
  height:86px;
  justify-content:center;
  overflow:hidden;
  width:86px;
}
.bicos-cart-drawer__item-image img {
  display:block;
  height:100%;
  object-fit:contain;
  padding:6px;
  width:100%;
}
.bicos-cart-drawer__item-body {
  min-width:0;
}
.bicos-cart-drawer__item-top {
  align-items:flex-start;
  display:flex;
  gap:8px;
  justify-content:space-between;
}
.bicos-cart-drawer__item-name {
  color:#454f4c!important;
  display:block;
  flex:1 1 auto;
  font-size:15px;
  font-weight:900;
  line-height:1.22;
  min-width:0;
  overflow-wrap:anywhere;
  text-decoration:none!important;
}
.bicos-cart-drawer__remove {
  align-items:center;
  background:#fff;
  border:1px solid rgba(254,213,217,.95);
  border-radius:50%;
  color:#dc8591;
  display:flex;
  flex:0 0 32px;
  height:32px;
  justify-content:center;
  padding:0;
  width:32px;
}
.bicos-cart-drawer__remove .material-icons {
  font-size:18px;
  line-height:1;
}
.bicos-cart-drawer__attributes {
  color:#7b8383;
  display:flex;
  flex-direction:column;
  font-size:12px;
  gap:2px;
  margin-top:5px;
}
.bicos-cart-drawer__item-bottom {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:space-between;
  margin-top:10px;
}
.bicos-cart-drawer__qty {
  align-items:center;
  background:#f7fffa;
  border:1px solid rgba(189,233,201,.95);
  border-radius:999px;
  display:inline-flex;
  flex:0 0 auto;
  height:38px;
  overflow:hidden;
}
.bicos-cart-drawer__qty-btn {
  align-items:center;
  background:transparent;
  border:0;
  color:#4d7e5c;
  display:flex;
  font-size:20px;
  font-weight:900;
  height:38px;
  justify-content:center;
  line-height:1;
  padding:0;
  width:36px;
}
.bicos-cart-drawer__qty-btn:hover,
.bicos-cart-drawer__qty-btn:focus {
  background:#eefbf2;
}
.bicos-cart-drawer__qty-input {
  appearance:textfield;
  -moz-appearance:textfield;
  background:#fff!important;
  border:0!important;
  border-left:1px solid rgba(189,233,201,.75)!important;
  border-right:1px solid rgba(189,233,201,.75)!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#4d5555;
  font-size:15px;
  font-weight:900;
  height:38px!important;
  line-height:38px;
  padding:0!important;
  text-align:center;
  width:42px!important;
}
.bicos-cart-drawer__qty-input::-webkit-inner-spin-button,
.bicos-cart-drawer__qty-input::-webkit-outer-spin-button {
  -webkit-appearance:none;
  margin:0;
}
.bicos-cart-drawer__line-price {
  color:#3f7f56;
  font-size:15px;
  font-weight:900;
  margin-left:auto;
  white-space:nowrap;
}
.bicos-cart-drawer__empty {
  align-items:center;
  background:#fff;
  border:1px dashed rgba(254,213,217,.95);
  border-radius:24px;
  color:#6b7272;
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
  padding:34px 22px;
  text-align:center;
}
.bicos-cart-drawer__empty span {
  color:#e88f9c;
  font-size:38px;
}
.bicos-cart-drawer__footer {
  background:rgba(255,255,255,.96);
  border-top:1px solid rgba(189,233,201,.78);
  box-shadow:0 -12px 28px rgba(80,88,88,.07);
  flex:0 0 auto;
  padding:14px 18px 18px;
}
.bicos-cart-drawer__totals {
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:12px;
}
.bicos-cart-drawer__subtotal,
.bicos-cart-drawer__total {
  align-items:center;
  display:flex;
  justify-content:space-between;
}
.bicos-cart-drawer__subtotal {
  color:#697171;
  font-size:13px;
}
.bicos-cart-drawer__total {
  background:#eefbf2;
  border:1px solid rgba(189,233,201,.95);
  border-radius:16px;
  color:#3f7f56;
  font-size:18px;
  font-weight:900;
  padding:12px 14px;
}
.blockcart .bicos-cart-drawer__checkout {
  align-items:center!important;
  background:linear-gradient(135deg,#9fdeb2 0%,#77c98e 100%)!important;
  border-radius:999px!important;
  box-shadow:0 14px 26px rgba(111,190,135,.28)!important;
  color:#fff!important;
  display:flex!important;
  font-size:15px!important;
  font-weight:900!important;
  gap:8px;
  justify-content:center!important;
  min-height:52px!important;
  padding:0 18px!important;
  text-decoration:none!important;
  text-transform:uppercase;
  width:100%!important;
}
.blockcart .bicos-cart-drawer__checkout .material-icons {
  font-size:20px;
}
.bicos-cart-drawer__continue {
  background:transparent;
  border:0;
  color:#7b8383;
  display:block;
  font-size:13px;
  font-weight:900;
  margin:10px auto 0;
  text-transform:uppercase;
}
.blockcart .bicos-cart-drawer.is-loading .bicos-cart-drawer__panel::after {
  align-items:center;
  background:rgba(255,255,255,.72);
  color:#4d7e5c;
  content:"Actualizando…";
  display:flex;
  font-size:15px;
  font-weight:900;
  inset:0;
  justify-content:center;
  position:absolute;
  z-index:3;
}
@media (max-width:480px) {
  .blockcart .bicos-cart-drawer__panel {
    border-left:0;
    width:100vw;
  }
  .bicos-cart-drawer__header {
    padding:18px 18px 14px;
  }
  .bicos-cart-drawer__summary-pill {
    margin:14px 14px 10px;
  }
  .bicos-cart-drawer__items {
    padding:0 14px 14px;
  }
  .bicos-cart-drawer__item {
    grid-template-columns:78px minmax(0,1fr);
    padding:10px;
  }
  .bicos-cart-drawer__item-image {
    height:78px;
    width:78px;
  }
  .bicos-cart-drawer__item-bottom {
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .bicos-cart-drawer__footer {
    padding:12px 14px 16px;
  }
}

/* BicosShop account, cart, checkout and CMS polish 20260822a.
 * Commerce visual thesis: calm, trustworthy transactional surfaces which keep
 * the native PrestaShop flow and its recovery states immediately legible. */
body#cart, body#checkout, body#order-confirmation, body#my-account,
body#identity, body#addresses, body#address, body#history, body#order-detail,
body#order-follow, body#order-return, body#order-slip, body#discount,
body#authentication, body#password, body#guest-tracking, body#cms,
body#sitemap, body#stores, body[id^="module-ps_emailalerts-"],
body[id^="module-psgdpr-"], body[id^="module-blockwishlist-"] {
  --bicos-ink:#505858;
  --bicos-copy:#626868;
  --bicos-muted:#737b7b;
  --bicos-mint:#bde9c9;
  --bicos-mint-deep:#4c775b;
  --bicos-pink:#fed5d9;
  --bicos-line:rgba(189,233,201,.92);
  --bicos-shadow:0 18px 44px rgba(80,88,88,.11);
  --bicos-radius:24px;
  background:#fffdfd;
  color:var(--bicos-copy);
  font-family:Asap,sans-serif;
}

body#cart #main, body#order-confirmation #main, body#my-account #main,
body#identity #main, body#addresses #main, body#address #main, body#history #main,
body#order-detail #main, body#order-follow #main, body#order-return #main,
body#order-slip #main, body#discount #main, body#authentication #main,
body#password #main, body#guest-tracking #main, body#cms #main, body#sitemap #main,
body#stores #main { margin-bottom:48px; }
body[id^="module-ps_emailalerts-"] #main, body[id^="module-psgdpr-"] #main,
body[id^="module-blockwishlist-"] #main { margin-bottom:48px; }

body#cart .page-header, body#order-confirmation .page-header, body#my-account .page-header,
body#identity .page-header, body#addresses .page-header, body#address .page-header,
body#history .page-header, body#order-detail .page-header, body#order-follow .page-header,
body#order-return .page-header, body#order-slip .page-header, body#discount .page-header,
body#authentication .page-header, body#password .page-header, body#guest-tracking .page-header,
body#cms .page-header, body#sitemap .page-header, body#stores .page-header { margin:28px 0 22px; text-align:center; }
body#cart .page-header h1, body#order-confirmation .page-header h1, body#my-account .page-header h1,
body#identity .page-header h1, body#addresses .page-header h1, body#address .page-header h1,
body#history .page-header h1, body#order-detail .page-header h1, body#order-follow .page-header h1,
body#order-return .page-header h1, body#order-slip .page-header h1, body#discount .page-header h1,
body#authentication .page-header h1, body#password .page-header h1, body#guest-tracking .page-header h1,
body#cms .page-header h1, body#sitemap .page-header h1, body#stores .page-header h1 {
  color:var(--bicos-ink); display:inline-block; font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(29px,4vw,42px); font-weight:700; letter-spacing:-.025em; line-height:1.1; margin:0;
}
body[id^="module-ps_emailalerts-"] .page-header, body[id^="module-psgdpr-"] .page-header,
body[id^="module-blockwishlist-"] .page-header { margin:28px 0 22px; text-align:center; }
body[id^="module-ps_emailalerts-"] .page-header h1, body[id^="module-psgdpr-"] .page-header h1,
body[id^="module-blockwishlist-"] .page-header h1 { color:var(--bicos-ink); display:inline-block; font-family:Georgia,"Times New Roman",serif; font-size:clamp(29px,4vw,42px); font-weight:700; letter-spacing:-.025em; line-height:1.1; margin:0; }
body#cart a, body#checkout a, body#order-confirmation a, body#my-account a, body#identity a,
body#addresses a, body#address a, body#history a, body#order-detail a, body#order-follow a,
body#order-return a, body#order-slip a, body#discount a, body#authentication a, body#password a,
body#guest-tracking a, body#cms a, body#sitemap a, body#stores a { color:var(--bicos-mint-deep); }
body#cart a:hover, body#cart a:focus, body#checkout a:hover, body#checkout a:focus,
body#order-confirmation a:hover, body#order-confirmation a:focus, body#my-account a:hover,
body#my-account a:focus, body#cms a:hover, body#cms a:focus, body#sitemap a:hover,
body#sitemap a:focus, body#stores a:hover, body#stores a:focus { color:#315a3f; }
body#cart :focus-visible, body#checkout :focus-visible, body#order-confirmation :focus-visible,
body#my-account :focus-visible, body#identity :focus-visible, body#addresses :focus-visible,
body#address :focus-visible, body#history :focus-visible, body#order-detail :focus-visible,
body#order-follow :focus-visible, body#order-return :focus-visible, body#order-slip :focus-visible,
body#discount :focus-visible, body#authentication :focus-visible, body#password :focus-visible,
body#guest-tracking :focus-visible, body#cms :focus-visible, body#sitemap :focus-visible,
body#stores :focus-visible { outline:3px solid #315a3f!important; outline-offset:3px; }

/* Account, authentication and post-sale. */
body#my-account .page-content, body#identity .page-content, body#addresses .page-content,
body#address .page-content, body#history .page-content, body#order-detail .page-content,
body#order-follow .page-content, body#order-return .page-content, body#order-slip .page-content,
body#discount .page-content, body#authentication .page-content, body#password .page-content,
body#guest-tracking .page-content, body#order-confirmation .page-content,
body#order-confirmation #content-hook_order_confirmation, body#order-confirmation #content-hook_payment_return,
body#order-confirmation #registration-form {
  background:linear-gradient(145deg,#fff 0%,#fffafa 100%); border:1px solid var(--bicos-line);
  border-radius:var(--bicos-radius); box-shadow:var(--bicos-shadow); color:var(--bicos-copy);
}
body#my-account .page-content, body#identity .page-content, body#addresses .page-content,
body#address .page-content, body#history .page-content, body#order-detail .page-content,
body#order-follow .page-content, body#order-return .page-content, body#order-slip .page-content,
body#discount .page-content, body#authentication .page-content, body#password .page-content,
body#guest-tracking .page-content { padding:28px!important; }
body[id^="module-ps_emailalerts-"] .bicos-account-content .page-content, body[id^="module-psgdpr-"] .bicos-account-content .page-content,
body[id^="module-blockwishlist-"] .bicos-account-content .page-content { background:linear-gradient(145deg,#fff 0%,#fffafa 100%); border:1px solid var(--bicos-line); border-radius:var(--bicos-radius); box-shadow:var(--bicos-shadow); color:var(--bicos-copy); padding:28px!important; }
body#my-account .page-footer, body#identity .page-footer, body#addresses .page-footer,
body#address .page-footer, body#history .page-footer, body#order-detail .page-footer,
body#order-follow .page-footer, body#order-return .page-footer, body#order-slip .page-footer,
body#discount .page-footer, body#authentication .page-footer, body#password .page-footer,
body#guest-tracking .page-footer { margin-top:20px; text-align:center; }
body#my-account .links { margin:0 -7px; }
body#my-account .links > a { padding:7px; text-decoration:none; }
body#my-account .links .link-item {
  align-items:center; background:linear-gradient(135deg,#fff 0%,#f8fffa 100%); border:1px solid var(--bicos-line);
  border-radius:18px; box-shadow:0 8px 20px rgba(80,88,88,.07); color:var(--bicos-ink); display:flex;
  font-size:16px; font-weight:800; gap:13px; min-height:82px; padding:18px;
  transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;
}
body#my-account .links .link-item .material-icons {
  align-items:center; background:linear-gradient(135deg,var(--bicos-mint),var(--bicos-pink)); border:2px solid #fff;
  border-radius:50%; box-shadow:0 5px 12px rgba(80,88,88,.12); color:var(--bicos-ink); display:inline-flex;
  box-sizing:border-box; flex:0 0 42px; font-size:22px; height:42px; justify-content:center; line-height:1!important;
  margin:0!important; padding:0!important; width:42px!important;
}
body#my-account .links > a:hover .link-item, body#my-account .links > a:focus .link-item {
  border-color:#85c999; box-shadow:0 12px 26px rgba(80,88,88,.13); transform:translateY(-2px);
}
/* Interior account pages share one navigable workspace while the account
 * dashboard intentionally remains a separate card grid. */
body#identity .bicos-account-layout, body#addresses .bicos-account-layout, body#address .bicos-account-layout,
body#history .bicos-account-layout, body#order-detail .bicos-account-layout, body#order-follow .bicos-account-layout,
body#order-return .bicos-account-layout, body#order-slip .bicos-account-layout, body#discount .bicos-account-layout,
body[id^="module-ps_emailalerts-"] .bicos-account-layout, body[id^="module-psgdpr-"] .bicos-account-layout,
body[id^="module-blockwishlist-"] .bicos-account-layout {
  align-items:start; display:grid; gap:24px; grid-template-columns:minmax(220px,250px) minmax(0,1fr);
}
body#identity .bicos-account-content, body#addresses .bicos-account-content, body#address .bicos-account-content,
body#history .bicos-account-content, body#order-detail .bicos-account-content, body#order-follow .bicos-account-content,
body#order-return .bicos-account-content, body#order-slip .bicos-account-content, body#discount .bicos-account-content,
body[id^="module-ps_emailalerts-"] .bicos-account-content, body[id^="module-psgdpr-"] .bicos-account-content,
body[id^="module-blockwishlist-"] .bicos-account-content { min-width:0; }
body#identity .bicos-account-sidebar, body#addresses .bicos-account-sidebar, body#address .bicos-account-sidebar,
body#history .bicos-account-sidebar, body#order-detail .bicos-account-sidebar, body#order-follow .bicos-account-sidebar,
body#order-return .bicos-account-sidebar, body#order-slip .bicos-account-sidebar, body#discount .bicos-account-sidebar,
body[id^="module-ps_emailalerts-"] .bicos-account-sidebar, body[id^="module-psgdpr-"] .bicos-account-sidebar,
body[id^="module-blockwishlist-"] .bicos-account-sidebar {
  background:linear-gradient(145deg,#fff 0%,#f8fffa 100%); border:1px solid var(--bicos-line); border-radius:20px;
  box-shadow:0 8px 20px rgba(80,88,88,.07); padding:16px;
}
@media (min-width:768px) {
  body#identity .bicos-account-layout, body#addresses .bicos-account-layout, body#address .bicos-account-layout,
  body#history .bicos-account-layout, body#order-detail .bicos-account-layout, body#order-follow .bicos-account-layout,
  body#order-return .bicos-account-layout, body#order-slip .bicos-account-layout, body#discount .bicos-account-layout,
  body[id^="module-ps_emailalerts-"] .bicos-account-layout, body[id^="module-psgdpr-"] .bicos-account-layout,
  body[id^="module-blockwishlist-"] .bicos-account-layout { gap:30px; grid-template-columns:minmax(248px,270px) minmax(0,1fr); }
  body#identity .bicos-account-sidebar, body#addresses .bicos-account-sidebar, body#address .bicos-account-sidebar,
  body#history .bicos-account-sidebar, body#order-detail .bicos-account-sidebar, body#order-follow .bicos-account-sidebar,
  body#order-return .bicos-account-sidebar, body#order-slip .bicos-account-sidebar, body#discount .bicos-account-sidebar,
  body[id^="module-ps_emailalerts-"] .bicos-account-sidebar, body[id^="module-psgdpr-"] .bicos-account-sidebar,
  body[id^="module-blockwishlist-"] .bicos-account-sidebar { padding:20px 14px; position:sticky; top:24px; }
  .bicos-account-nav__disclosure > .bicos-account-nav__items { display:block!important; }
}
.bicos-account-nav__title { align-items:center; color:var(--bicos-ink); display:flex; font-size:17px; font-weight:900; gap:9px; letter-spacing:.02em; margin:3px 6px 10px; text-transform:uppercase; }
.bicos-account-nav__title::before { background:linear-gradient(180deg,var(--bicos-mint),var(--bicos-pink)); border-radius:999px; content:""; display:block; flex:0 0 7px; height:24px; }
.bicos-account-nav__summary { display:none; }
.bicos-account-nav__items { display:block; }
.bicos-account-nav__list { list-style:none; margin:0; padding:0; }
.bicos-account-nav__list li + li { margin-top:4px; }
.bicos-account-nav__link { align-items:center; border:1px solid transparent; border-radius:14px; color:var(--bicos-ink)!important; display:flex; font-weight:800; gap:11px; line-height:1.28; min-height:50px; padding:10px 12px; text-decoration:none; transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.bicos-account-nav__link .material-icons { align-items:center; background:#f1fff5; border:1px solid rgba(189,233,201,.82); border-radius:10px; color:var(--bicos-mint-deep); display:inline-flex; flex:0 0 30px; font-size:19px; height:30px; justify-content:center; line-height:1; width:30px; }
.bicos-account-nav__link:hover, .bicos-account-nav__link:focus { background:#fff; border-color:var(--bicos-line); box-shadow:0 6px 14px rgba(80,88,88,.07); color:var(--bicos-ink)!important; transform:translateX(2px); }
.bicos-account-nav__link[aria-current="page"] { background:linear-gradient(100deg,#eafff0 0%,#fff7f9 100%); border-color:#85c999; box-shadow:inset 4px 0 0 var(--bicos-mint-deep),0 6px 14px rgba(80,88,88,.07); }
.bicos-account-nav__link[aria-current="page"] .material-icons { background:linear-gradient(135deg,var(--bicos-mint-deep),var(--bicos-mint)); border-color:#fff; color:#fff; }
.bicos-account-nav__extensions { border-top:1px solid rgba(189,233,201,.62); margin-top:10px; padding-top:10px; }
.bicos-account-nav__extensions > a, .bicos-account-nav__extensions > li { box-sizing:border-box; float:none!important; list-style:none; margin:0 0 4px!important; max-width:none!important; padding:0!important; width:100%!important; }
.bicos-account-nav__extensions a { align-items:center; border:1px solid transparent; border-radius:12px; box-sizing:border-box; color:var(--bicos-ink)!important; display:flex; font-weight:800; gap:10px; min-height:44px; padding:9px 10px; text-decoration:none; width:100%; }
.bicos-account-nav__extensions > a .link-item { align-items:center; color:inherit; display:flex; gap:10px; min-height:24px; padding:0; }
.bicos-account-nav__extensions > a .link-item .material-icons { align-items:center; color:var(--bicos-mint-deep); display:inline-flex; flex:0 0 24px; font-size:20px; height:24px; justify-content:center; line-height:1; margin:0!important; padding:0!important; width:24px!important; }
.bicos-account-nav__extensions a:hover, .bicos-account-nav__extensions a:focus { background:#fff; border-color:var(--bicos-line); }
body[id^="module-ps_emailalerts-"] .bicos-account-content > .page-content > ul { list-style:none; margin:0; padding:0; }
body[id^="module-ps_emailalerts-"] .bicos-account-content > .page-content > ul > li { background:#fff!important; border:1px solid var(--bicos-line); border-radius:15px; box-shadow:0 6px 16px rgba(80,88,88,.06); margin:0 0 10px!important; padding:14px!important; }
body[id^="module-ps_emailalerts-"] .bicos-account-content > .page-content .js-remove-email-alert { align-items:center; background:#fff7f8; border:1px solid rgba(254,213,217,.95); border-radius:50%; color:#a34e5b!important; display:inline-flex; height:36px; justify-content:center; padding:0; width:36px; }
body[id^="module-psgdpr-"] .bicos-account-content .container { max-width:none; padding:0; width:auto; }
body[id^="module-psgdpr-"] .bicos-account-content .psgdprinfo17 { background:#f8fffa; border:1px solid var(--bicos-line); border-radius:16px; margin:0 0 14px; padding:20px; }
body[id^="module-psgdpr-"] .bicos-account-content .psgdprinfo17 h2 { color:var(--bicos-ink); font-family:Georgia,"Times New Roman",serif; font-size:24px; font-weight:700; margin:0 0 10px; }
body[id^="module-psgdpr-"] .bicos-account-content .psgdprgetdatabtn17 { background:linear-gradient(135deg,var(--bicos-mint) 0%,var(--bicos-pink) 100%); border:2px solid #fff; border-radius:999px; box-shadow:0 8px 18px rgba(80,88,88,.13),0 0 0 1px var(--bicos-line); color:var(--bicos-ink)!important; float:none; font-family:Asap,sans-serif; font-size:14px; font-weight:900; letter-spacing:.02em; margin:6px 8px 0 0!important; min-height:46px; padding:11px 22px; text-transform:uppercase; transition:box-shadow .18s ease,transform .18s ease; }
body[id^="module-psgdpr-"] .bicos-account-content .psgdprgetdatabtn17:hover, body[id^="module-psgdpr-"] .bicos-account-content .psgdprgetdatabtn17:focus { box-shadow:0 12px 24px rgba(80,88,88,.18); color:var(--bicos-ink)!important; transform:translateY(-1px); }
body[id^="module-blockwishlist-"] .wishlist-container, body[id^="module-blockwishlist-"] .wishlist-products-container { min-height:120px; }
/* Wishlist dialogs must sit above catalog headers, whose decorative title has
 * its own stacking context. Keep the module's focus and click behaviour. */
.wishlist-add-to, .wishlist-create, .wishlist-share, .wishlist-delete, .wishlist-login, .wishlist-rename { --bicos-ink:#505858; --bicos-line:#bde9c9; --bicos-mint-deep:#4c775b; }
.wishlist-add-to .wishlist-modal.show, .wishlist-create .wishlist-modal.show, .wishlist-share .wishlist-modal.show, .wishlist-delete .wishlist-modal.show, .wishlist-login .wishlist-modal.show, .wishlist-rename .wishlist-modal.show { display:block!important; opacity:1!important; pointer-events:auto!important; z-index:2147483002!important; }
.wishlist-add-to .modal-backdrop.in, .wishlist-create .modal-backdrop.in, .wishlist-share .modal-backdrop.in, .wishlist-delete .modal-backdrop.in, .wishlist-login .modal-backdrop.in, .wishlist-rename .modal-backdrop.in { background:rgba(47,57,55,.48); inset:0; opacity:1!important; position:fixed!important; z-index:2147483001!important; }
.wishlist-modal .modal-dialog { margin:clamp(16px,8vh,80px) auto; max-width:min(560px,calc(100vw - 32px))!important; position:relative; }
.wishlist-modal .modal-content { background:linear-gradient(145deg,#fff 0%,#fffafa 100%)!important; border:1px solid var(--bicos-line)!important; border-radius:22px!important; box-shadow:0 22px 56px rgba(47,57,55,.24)!important; overflow:hidden; }
.wishlist-modal .modal-header { align-items:center; background:#f8fffa!important; border-bottom:1px solid rgba(189,233,201,.62)!important; min-height:64px; padding:16px 20px!important; }
.wishlist-modal .modal-header h5.modal-title { background:none!important; border:0!important; color:var(--bicos-ink)!important; font-family:Asap,sans-serif!important; font-size:21px!important; font-weight:900!important; letter-spacing:0!important; line-height:1.25!important; margin:0!important; padding:0!important; position:static!important; text-transform:none!important; transform:none!important; }
.wishlist-modal .modal-header .close { align-items:center; background:#fff; border:1px solid rgba(254,213,217,.95); border-radius:50%; color:var(--bicos-ink); display:inline-flex; flex:0 0 36px; font-size:28px; height:36px; justify-content:center; line-height:1; margin:0; opacity:1; padding:0; width:36px; }
.wishlist-modal .modal-body { padding:0!important; }
.wishlist-modal .wishlist-list { border-color:rgba(189,233,201,.62)!important; }
.wishlist-modal .wishlist-list .wishlist-list-item { padding:0!important; }
.wishlist-modal .wishlist-list .wishlist-list-item p { color:var(--bicos-ink)!important; font-size:15px!important; font-weight:800; line-height:1.35!important; padding:16px 20px!important; }
.wishlist-modal .wishlist-list .wishlist-list-item:hover, .wishlist-modal .wishlist-list .wishlist-list-item:focus-within { background:#f1fff5!important; }
.wishlist-modal .modal-footer { background:#f8fffa; border-top:1px solid rgba(189,233,201,.62)!important; padding:14px 20px!important; text-align:left!important; }
.wishlist-modal .wishlist-add-to-new { color:var(--bicos-mint-deep)!important; font-weight:900; min-height:32px; }
.wishlist-modal .wishlist-add-to-new i { color:var(--bicos-mint-deep)!important; }
body#identity .bicos-account-content .form-group, body#address .bicos-account-content .form-group { align-items:flex-start; margin-bottom:20px; }
body#identity .bicos-account-content .form-control-label, body#address .bicos-account-content .form-control-label { padding-top:11px; }
body#identity .bicos-account-content .form-control, body#address .bicos-account-content .form-control { max-width:100%; width:100%; }
body#identity .bicos-account-content .form-control-comment, body#address .bicos-account-content .form-control-comment { color:var(--bicos-muted); font-size:13px; line-height:1.45; padding-top:10px; }
body#identity .bicos-account-content .input-group-btn .btn, body#address .bicos-account-content .input-group-btn .btn { background:#f5fff8; border:1px solid var(--bicos-line); color:var(--bicos-ink); font-weight:800; min-height:46px; }
body#identity .bicos-account-content .form-footer, body#address .bicos-account-content .form-footer { align-items:center; border-top:1px solid rgba(189,233,201,.62); display:flex; justify-content:flex-end; margin-top:26px; padding-top:20px; }
body#identity .bicos-account-content .form-footer .btn, body#address .bicos-account-content .form-footer .btn { float:none!important; min-width:126px; }
body#identity .bicos-account-content .form-group.has-error .form-control, body#address .bicos-account-content .form-group.has-error .form-control { border-color:#b45260!important; box-shadow:0 0 0 3px rgba(254,213,217,.72)!important; }
body#identity .form-control, body#address .form-control, body#authentication .form-control,
body#password .form-control, body#guest-tracking .form-control, body#my-account .form-control,
body#order-follow .form-control, body#order-return .form-control, body#discount .form-control {
  background:#fff; border:1px solid var(--bicos-line); border-radius:13px; color:var(--bicos-ink); min-height:46px; padding:10px 13px;
}
body#identity .form-control:focus, body#address .form-control:focus, body#authentication .form-control:focus,
body#password .form-control:focus, body#guest-tracking .form-control:focus, body#order-follow .form-control:focus,
body#order-return .form-control:focus, body#discount .form-control:focus { border-color:#4c775b; box-shadow:0 0 0 3px rgba(189,233,201,.55); }
body#identity .form-control-label, body#address .form-control-label, body#authentication .form-control-label,
body#password .form-control-label, body#guest-tracking .form-control-label, body#order-follow .form-control-label,
body#order-return .form-control-label, body#discount .form-control-label { color:var(--bicos-ink); font-weight:800; }
body#identity .btn-primary, body#address .btn-primary, body#authentication .btn-primary, body#password .btn-primary,
body#guest-tracking .btn-primary, body#order-follow .btn-primary, body#order-return .btn-primary,
body#discount .btn-primary, body#order-detail .button-primary, body#order-confirmation .btn-primary,
body#checkout section.checkout-step .btn-primary, body#checkout #payment-confirmation .btn-primary,
body#contact .bicos-contact__form-card .btn-primary {
  background:linear-gradient(135deg,var(--bicos-mint) 0%,var(--bicos-pink) 100%); border:2px solid #fff;
  border-radius:999px; box-shadow:0 8px 18px rgba(80,88,88,.13),0 0 0 1px var(--bicos-line); color:var(--bicos-ink)!important;
  font-family:Asap,sans-serif; font-size:14px; font-weight:900; letter-spacing:.02em; min-height:46px;
  padding:11px 22px; text-transform:uppercase; transition:box-shadow .18s ease,transform .18s ease;
}
body#identity .btn-primary:hover, body#identity .btn-primary:focus, body#address .btn-primary:hover,
body#address .btn-primary:focus, body#authentication .btn-primary:hover, body#authentication .btn-primary:focus,
body#password .btn-primary:hover, body#password .btn-primary:focus, body#guest-tracking .btn-primary:hover,
body#guest-tracking .btn-primary:focus, body#order-follow .btn-primary:hover, body#order-follow .btn-primary:focus,
body#order-return .btn-primary:hover, body#order-return .btn-primary:focus, body#discount .btn-primary:hover,
body#discount .btn-primary:focus, body#order-detail .button-primary:hover, body#order-detail .button-primary:focus,
body#order-confirmation .btn-primary:hover, body#order-confirmation .btn-primary:focus,
body#checkout section.checkout-step .btn-primary:hover, body#checkout section.checkout-step .btn-primary:focus,
body#checkout #payment-confirmation .btn-primary:hover, body#checkout #payment-confirmation .btn-primary:focus,
body#contact .bicos-contact__form-card .btn-primary:hover, body#contact .bicos-contact__form-card .btn-primary:focus {
  box-shadow:0 12px 24px rgba(80,88,88,.18),0 0 0 1px #85c999; transform:translateY(-1px);
}
body#checkout #payment-confirmation .btn-primary:disabled { box-shadow:none; cursor:not-allowed; opacity:.58; transform:none; }
body#addresses .address, body#order-detail .box, body#order-detail .addresses .box, body#order-return-infos,
body#order-return .card, body#order-follow .card, body#order-slip .card, body#discount .card {
  background:#fff; border:1px solid var(--bicos-line)!important; border-radius:18px; box-shadow:0 8px 20px rgba(80,88,88,.07); margin-bottom:16px; padding:18px;
}
body#addresses .addresses-footer a { align-items:center; border:1px dashed #75ae85; border-radius:15px; display:inline-flex; font-weight:800; gap:7px; margin-top:8px; min-height:46px; padding:10px 15px; }
body#history h6, body#order-follow h6, body#order-return h6, body#discount h6 { color:var(--bicos-copy); font-size:16px; line-height:1.5; margin:0 0 18px; }
body#history .table, body#order-detail .table, body#order-follow .table, body#order-return .table,
body#order-slip .table, body#discount .table { border:1px solid var(--bicos-line); border-radius:14px; overflow:hidden; }
body#history .table thead th, body#order-detail .table thead th, body#order-follow .table thead th,
body#order-return .table thead th, body#order-slip .table thead th, body#discount .table thead th { background:#f5fff8; border-color:var(--bicos-line); color:var(--bicos-ink); font-weight:900; }
body#history .table td, body#order-detail .table td, body#order-follow .table td, body#order-return .table td,
body#order-slip .table td, body#discount .table td { border-color:rgba(189,233,201,.56); vertical-align:middle; }
body#history .orders .order, body#history .history-lines .history-line, body#order-detail .shipping-lines .shipping-line,
body#order-follow .order-returns .order-return { background:#fff; border:1px solid var(--bicos-line); border-radius:15px; box-shadow:0 6px 16px rgba(80,88,88,.06); margin-bottom:10px; padding:14px; }

/* Cart: product review and totals preserve every native action and hook. */
body#cart #main > .cart-grid { margin-top:26px; }
body#cart .cart-container, body#cart .cart-summary, body#checkout .cart-grid-right > .cart-summary, body#checkout .cart-grid-right > #js-checkout-summary { background:linear-gradient(145deg,#fff 0%,#fffafa 100%); border:1px solid var(--bicos-line); border-radius:var(--bicos-radius); box-shadow:var(--bicos-shadow); overflow:hidden; }
body#cart .cart-container > .card-block { padding:25px 28px 20px; }
body#cart .cart-container h1.h1 { color:var(--bicos-ink); font-family:Georgia,"Times New Roman",serif; font-size:clamp(28px,4vw,39px); font-weight:700; margin:0; text-transform:none; }
body#cart .cart-container .separator { border-color:var(--bicos-line); margin:0; }
body#cart .cart-grid-right .bicos-giftcard-redeem {
  box-sizing:border-box;
  margin:0 0 16px;
  width:100%;
}
body#cart .cart-item { border-bottom:1px solid rgba(189,233,201,.62); padding:20px 24px; }
body#cart .cart-item:last-child { border-bottom:0; }
body#cart .cart-item .product-image { border:1px solid var(--bicos-line); border-radius:14px; overflow:hidden; }
body#cart .cart-item .product-image img { display:block; height:auto; width:100%; }
body#cart .cart-item .label, body#cart .cart-item .product-line-info a, body#cart .cart-item .product-line-info { color:var(--bicos-ink); font-weight:800; }
body#cart .cart-item .product-price, body#cart .cart-item .current-price { color:var(--bicos-mint-deep); font-weight:900; }
body#cart .cart-item .qty .bootstrap-touchspin {
  align-items:center;
  background:#f7fffa;
  border:1px solid rgba(189,233,201,.95);
  border-radius:999px;
  display:inline-grid;
  float:none;
  grid-template-columns:36px 42px 36px;
  height:38px;
  overflow:hidden;
  vertical-align:middle;
  width:114px;
}
body#cart .cart-item .qty .bootstrap-touchspin input.form-control {
  appearance:textfield;
  -moz-appearance:textfield;
  background:#fff!important;
  border:0;
  border-left:1px solid rgba(189,233,201,.75);
  border-right:1px solid rgba(189,233,201,.75);
  border-radius:0;
  box-shadow:none;
  color:#4d5555;
  float:none;
  font-size:15px;
  font-weight:800;
  grid-column:2;
  grid-row:1;
  height:38px;
  line-height:38px;
  min-height:0;
  padding:0;
  text-align:center;
  width:42px;
}
body#cart .cart-item .qty .bootstrap-touchspin .input-group-btn-vertical {
  display:contents;
}
body#cart .cart-item .qty .bootstrap-touchspin .btn-touchspin {
  align-items:center;
  background:transparent;
  border:0;
  border-radius:0;
  color:#4d7e5c;
  display:flex;
  font-size:20px;
  font-weight:900;
  grid-row:1;
  height:38px;
  justify-content:center;
  line-height:1;
  min-height:0;
  min-width:36px;
  padding:0;
  width:36px;
}
body#cart .cart-item .qty .bootstrap-touchspin .bootstrap-touchspin-down { grid-column:1; }
body#cart .cart-item .qty .bootstrap-touchspin .bootstrap-touchspin-up { grid-column:3; }
body#cart .cart-item .qty .bootstrap-touchspin .btn-touchspin i { display:none; }
body#cart .cart-item .qty .bootstrap-touchspin .bootstrap-touchspin-down::before { content:"−"; }
body#cart .cart-item .qty .bootstrap-touchspin .bootstrap-touchspin-up::before { content:"+"; }
body#cart .cart-item .qty .bootstrap-touchspin .btn-touchspin:hover,
body#cart .cart-item .qty .bootstrap-touchspin .btn-touchspin:focus { background:#eefbf2; }
body#cart .cart-item .qty .bootstrap-touchspin input.form-control::-webkit-inner-spin-button,
body#cart .cart-item .qty .bootstrap-touchspin input.form-control::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
body#cart .cart-item .product-line-grid-right .col-md-10 > .row {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
}
body#cart .cart-item .product-line-grid-right .qty {
  flex:0 0 114px;
  max-width:114px;
  padding-right:0;
  width:114px;
}
body#cart .cart-item .product-line-grid-right .price {
  flex:1 1 auto;
  margin-left:auto;
  max-width:none;
  min-width:0;
  padding-left:9px;
  text-align:right;
  white-space:nowrap;
  width:auto;
}
body#cart .cart-item .product-line-grid-right .price .product-price { line-height:38px; }
body#cart .cart-item .remove-from-cart { align-items:center; background:#fff7f8; border:1px solid rgba(254,213,217,.95); border-radius:50%; display:inline-flex; height:32px; justify-content:center; width:32px; }
body#cart .cart-item .remove-from-cart i { color:#a34e5b; font-size:19px; }
body#cart .cart-summary, body#checkout .cart-grid-right > .cart-summary { padding:24px; }
/* The cart template wraps the total in an extra card-block; its native side
 * padding made the total narrower than the lines above it. */
body#cart .cart-summary .cart-summary-totals { padding:0!important; }
body#checkout .cart-grid-right > #js-checkout-summary > .card-block { padding:0 24px 24px; }
body#cart .cart-summary::before, body#checkout .cart-grid-right > .cart-summary::before { background:linear-gradient(90deg,var(--bicos-mint),var(--bicos-pink)); content:""; display:block; height:6px; margin:-24px -24px 18px; }
body#checkout .cart-grid-right > #js-checkout-summary::before { background:linear-gradient(90deg,var(--bicos-mint),var(--bicos-pink)); content:""; display:block; height:6px; margin:0 0 18px; }
body#cart .cart-summary .cart-summary-line, body#checkout .cart-grid-right > .cart-summary .cart-summary-line, body#checkout #js-checkout-summary .cart-summary-line { border-bottom:1px solid rgba(189,233,201,.55); padding:10px 0; }
body#cart .cart-summary .cart-summary-line.cart-total, body#checkout .cart-grid-right > .cart-summary .cart-summary-line.cart-total, body#checkout #js-checkout-summary .cart-summary-line.cart-total { align-items:center; background:#f5fff8; border:1px solid var(--bicos-line); border-radius:15px; color:var(--bicos-ink); margin-top:14px; padding:15px; }
body#cart .cart-summary .cart-summary-line.cart-total .value, body#checkout .cart-grid-right > .cart-summary .cart-summary-line.cart-total .value, body#checkout #js-checkout-summary .cart-summary-line.cart-total .value { color:var(--bicos-mint-deep); font-size:23px; font-weight:900; }
body#cart .cart-summary .checkout a, body#cart .cart-summary .checkout .btn-primary { align-items:center; background:linear-gradient(135deg,var(--bicos-mint),var(--bicos-pink)); border:2px solid #fff; border-radius:999px; box-shadow:0 8px 18px rgba(80,88,88,.13),0 0 0 1px var(--bicos-line); color:var(--bicos-ink)!important; display:flex; font-weight:900; justify-content:center; min-height:50px; padding:12px 20px; text-transform:uppercase; }
body#cart .cart-summary .checkout a:hover, body#cart .cart-summary .checkout a:focus { box-shadow:0 12px 24px rgba(80,88,88,.18); transform:translateY(-1px); }
body#cart .cart-voucher { border-top:1px solid rgba(189,233,201,.62); margin-top:18px; padding-top:18px; }
body#cart .cart-voucher .promo-input { border:1px solid var(--bicos-line); border-radius:13px; min-height:44px; }
body#cart .continue-shopping { margin:18px 4px; }
body#cart .continue-shopping a, body#cart a.label { align-items:center; display:inline-flex; font-weight:800; gap:4px; min-height:38px; }
body#cart .cart-empty { background:#fff; border:1px dashed #75ae85; border-radius:20px; color:var(--bicos-copy); padding:30px; text-align:center; }

/* Checkout: native step state classes remain the only state source. */
body#checkout #wrapper { background:linear-gradient(180deg,#fffdfd 0%,#fbfffc 100%); padding:20px 0 48px; }
body#checkout #content > .row { align-items:flex-start; }
body#checkout section.checkout-step { background:#fff; border:1px solid var(--bicos-line); border-radius:20px; box-shadow:0 8px 20px rgba(80,88,88,.07); margin:0 0 14px; overflow:hidden; }
body#checkout section.checkout-step .step-title { align-items:center; background:#f8fffa; color:var(--bicos-ink); display:flex; font-family:Asap,sans-serif; font-size:17px; font-weight:900; gap:10px; line-height:1.3; margin:0; min-height:62px; padding:13px 18px; }
body#checkout section.checkout-step .step-number { align-items:center; background:#fff; border:2px solid var(--bicos-mint); border-radius:50%; color:var(--bicos-ink); display:inline-flex; flex:0 0 32px; font-size:14px; height:32px; justify-content:center; width:32px; }
body#checkout section.checkout-step .done { color:var(--bicos-mint-deep); }
body#checkout section.checkout-step.-current { border-color:#85c999; box-shadow:0 13px 28px rgba(80,88,88,.12); }
body#checkout section.checkout-step.-current .step-title { background:linear-gradient(90deg,#f3fff6,#fff7f8); }
body#checkout section.checkout-step.-current .step-number { background:linear-gradient(135deg,var(--bicos-mint),var(--bicos-pink)); border-color:#fff; box-shadow:0 0 0 1px var(--bicos-line); }
body#checkout section.checkout-step.-unreachable { opacity:.72; }
body#checkout section.checkout-step .content { color:var(--bicos-copy); padding:20px!important; }
body#checkout section.checkout-step .step-edit { color:var(--bicos-mint-deep); font-size:13px; font-weight:800; margin-left:auto; }
body#checkout section.checkout-step .step-edit .edit { font-size:17px; vertical-align:middle; }
body#checkout section.checkout-step .form-control, body#checkout section.checkout-step textarea, body#checkout section.checkout-step select { background:#fff; border:1px solid var(--bicos-line)!important; border-radius:13px!important; color:var(--bicos-ink); min-height:46px; padding:10px 13px!important; }
body#checkout section.checkout-step textarea { min-height:86px; }
body#checkout section.checkout-step .form-control:focus, body#checkout section.checkout-step textarea:focus, body#checkout section.checkout-step select:focus { border-color:#4c775b!important; box-shadow:0 0 0 3px rgba(189,233,201,.55)!important; }
body#checkout section.checkout-step .form-control-label, body#checkout section.checkout-step label { color:var(--bicos-ink); font-weight:800; }
body#checkout section.checkout-step .address-item, body#checkout section.checkout-step .delivery-option, body#checkout section.checkout-step .payment-option { background:#fff; border:1px solid rgba(189,233,201,.8); border-radius:15px; margin:0 0 10px; padding:13px; }
body#checkout section.checkout-step .address-item.selected, body#checkout section.checkout-step .delivery-option:has(input:checked), body#checkout section.checkout-step .payment-option:has(input:checked) { background:#f5fff8; border-color:#75ae85; box-shadow:0 0 0 2px rgba(189,233,201,.45); }
body#checkout section.checkout-step .custom-radio, body#checkout section.checkout-step .custom-checkbox { min-height:24px; min-width:24px; }
body#checkout section.checkout-step .custom-radio input[type="radio"] + span, body#checkout section.checkout-step .custom-checkbox input[type="checkbox"] + span { border-color:#4c775b; }
body#checkout section.checkout-step .delivery-option label { margin:0; padding:2px 0; }
body#checkout section.checkout-step .carrier-name { color:var(--bicos-ink); font-size:16px; font-weight:900; }
body#checkout section.checkout-step .carrier-delay { color:var(--bicos-muted); line-height:1.4; }
body#checkout section.checkout-step .carrier-price { color:var(--bicos-mint-deep); font-weight:900; }
body#checkout section.checkout-step .additional-information, body#checkout section.checkout-step .js-additional-information { background:#fffaf1; border:1px solid rgba(243,234,141,.9); border-radius:13px; margin:0 0 12px; padding:13px; }
body#checkout section.checkout-step #conditions-to-approve { background:#f8fffa; border:1px solid var(--bicos-line); border-radius:14px; margin:18px 0; padding:14px; }
body#checkout section.checkout-step #conditions-to-approve ul { margin:0; }
body#checkout #cart-summary-product-list .media { border-bottom:1px solid rgba(189,233,201,.55); padding:10px 0; }
body#checkout #cart-summary-product-list img { border:1px solid var(--bicos-line); border-radius:11px; }
body#checkout #order-summary-content { background:#fff; border:1px solid var(--bicos-line); border-radius:16px; margin-top:16px; overflow:hidden; }
body#checkout #order-summary-content h4, body#checkout #order-summary-content h3 { color:var(--bicos-ink); font-weight:900; }

/* Confirmation and CMS keep a clear receipt or editorial reading surface. */
body#order-confirmation #content-hook_order_confirmation { border-color:#85c999; margin-bottom:20px; text-align:center; }
body#order-confirmation #content-hook_order_confirmation .card-block { padding:30px; }
body#order-confirmation #content-hook_order_confirmation .card-title { color:var(--bicos-ink); font-family:Georgia,"Times New Roman",serif; font-size:clamp(28px,4vw,39px); font-weight:700; }
body#order-confirmation #content-hook_order_confirmation .done { color:var(--bicos-mint-deep); font-size:34px; vertical-align:middle; }
body#order-confirmation .page-order-confirmation .card-block, body#order-confirmation #content-hook_payment_return .card-block, body#order-confirmation #registration-form .card-block { padding:26px; }
body#order-confirmation .order-confirmation-table { border:1px solid var(--bicos-line); border-radius:16px; overflow:hidden; }
body#order-confirmation .order-confirmation-table th { background:#f5fff8; color:var(--bicos-ink); font-weight:900; }
body#order-confirmation #order-details { background:#f8fffa; border:1px solid var(--bicos-line); border-radius:16px; margin-top:10px; padding:18px; }
body#order-confirmation #order-details .card-title { color:var(--bicos-ink); font-weight:900; }
body#cms .page-content, body#stores .page-content { background:linear-gradient(145deg,#fff 0%,#fffafa 100%); border:1px solid var(--bicos-line); border-radius:var(--bicos-radius); box-shadow:var(--bicos-shadow); color:var(--bicos-copy); line-height:1.68; padding:clamp(22px,4vw,42px)!important; }
body#cms .page-cms { font-size:17px; }
body#cms .page-cms > :first-child { margin-top:0; }
body#cms .page-cms h2, body#cms .page-cms h3, body#cms .page-cms h4 { color:var(--bicos-ink); font-family:Georgia,"Times New Roman",serif; font-weight:700; line-height:1.2; margin:1.7em 0 .65em; text-transform:none; }
body#cms .page-cms h2 { font-size:clamp(24px,3vw,32px); }
body#cms .page-cms h3 { font-size:clamp(20px,2.5vw,26px); }
body#cms .page-cms p, body#cms .page-cms li { max-width:74ch; }
body#cms .page-cms ul, body#cms .page-cms ol { margin-bottom:1.25rem; padding-left:1.35rem; }
body#cms .page-cms li + li { margin-top:.42rem; }
body#cms .page-cms img { border-radius:16px; height:auto; max-width:100%; }
body#cms .page-cms table { border:1px solid var(--bicos-line); border-radius:14px; display:block; max-width:100%; overflow-x:auto; }
body#cms .page-cms th { background:#f5fff8; color:var(--bicos-ink); }
body#cms .page-cms th, body#cms .page-cms td { border-color:rgba(189,233,201,.65); padding:10px 12px; }
body#cms .page-cms .btn, body#cms .page-cms .button { border-radius:999px; font-weight:900; min-height:44px; }
body#cms .sitemap, body#sitemap .sitemap { margin:0; }
body#cms .sitemap > [class*="col-"], body#sitemap .sitemap > [class*="col-"] { background:#fff; border:1px solid var(--bicos-line); border-radius:18px; box-shadow:0 8px 20px rgba(80,88,88,.07); margin-bottom:16px; padding:20px; }
body#cms .sitemap h2, body#sitemap .sitemap h2 { color:var(--bicos-ink); font-family:Georgia,"Times New Roman",serif; font-size:24px; font-weight:700; margin:0 0 12px; }
body#cms .sitemap ul, body#sitemap .sitemap ul { margin:0; padding-left:18px; }
body#stores .page-stores .store-item { background:#fff; border:1px solid var(--bicos-line); border-radius:18px; box-shadow:0 8px 20px rgba(80,88,88,.07); margin-bottom:18px; overflow:hidden; }
body#stores .page-stores .store-picture img { border-radius:12px; }
body#stores .page-stores .store-item-container { padding:20px; }
body#stores .page-stores .card-title { color:var(--bicos-ink); font-family:Georgia,"Times New Roman",serif; font-weight:700; }
body#stores .page-stores .store-item-footer { background:#f8fffa; border-color:var(--bicos-line); }

@media (max-width:767px) {
  body#cart #main, body#order-confirmation #main, body#my-account #main, body#identity #main, body#addresses #main, body#address #main, body#history #main, body#order-detail #main, body#order-follow #main, body#order-return #main, body#order-slip #main, body#discount #main, body#authentication #main, body#password #main, body#guest-tracking #main, body#cms #main, body#sitemap #main, body#stores #main { margin-bottom:30px; }
  body#cart .page-header, body#order-confirmation .page-header, body#my-account .page-header, body#identity .page-header, body#addresses .page-header, body#address .page-header, body#history .page-header, body#order-detail .page-header, body#order-follow .page-header, body#order-return .page-header, body#order-slip .page-header, body#discount .page-header, body#authentication .page-header, body#password .page-header, body#guest-tracking .page-header, body#cms .page-header, body#sitemap .page-header, body#stores .page-header { margin:20px 0 16px; }
  body#my-account .page-content, body#identity .page-content, body#addresses .page-content, body#address .page-content, body#history .page-content, body#order-detail .page-content, body#order-follow .page-content, body#order-return .page-content, body#order-slip .page-content, body#discount .page-content, body#authentication .page-content, body#password .page-content, body#guest-tracking .page-content { border-radius:20px; padding:19px!important; }
  body[id^="module-ps_emailalerts-"] .bicos-account-content .page-content, body[id^="module-psgdpr-"] .bicos-account-content .page-content,
  body[id^="module-blockwishlist-"] .bicos-account-content .page-content { border-radius:20px; padding:19px!important; }
  body#my-account .links > a { padding:5px; }
  body#my-account .links .link-item { font-size:15px; min-height:72px; padding:13px; }
  body#my-account .links .link-item .material-icons { flex:0 0 38px; height:38px; width:38px!important; }
  body#identity .bicos-account-layout, body#addresses .bicos-account-layout, body#address .bicos-account-layout,
  body#history .bicos-account-layout, body#order-detail .bicos-account-layout, body#order-follow .bicos-account-layout,
  body#order-return .bicos-account-layout, body#order-slip .bicos-account-layout, body#discount .bicos-account-layout,
  body[id^="module-ps_emailalerts-"] .bicos-account-layout, body[id^="module-psgdpr-"] .bicos-account-layout,
  body[id^="module-blockwishlist-"] .bicos-account-layout { display:block; }
  body#identity .bicos-account-sidebar, body#addresses .bicos-account-sidebar, body#address .bicos-account-sidebar,
  body#history .bicos-account-sidebar, body#order-detail .bicos-account-sidebar, body#order-follow .bicos-account-sidebar,
  body#order-return .bicos-account-sidebar, body#order-slip .bicos-account-sidebar, body#discount .bicos-account-sidebar,
  body[id^="module-ps_emailalerts-"] .bicos-account-sidebar, body[id^="module-psgdpr-"] .bicos-account-sidebar,
  body[id^="module-blockwishlist-"] .bicos-account-sidebar { margin-bottom:16px; padding:12px; }
  .wishlist-modal .modal-dialog { margin:12px auto; max-width:calc(100vw - 20px)!important; }
  .wishlist-modal .modal-header { min-height:58px; padding:13px 16px!important; }
  .wishlist-modal .modal-header h5.modal-title { font-size:19px!important; }
  .wishlist-modal .wishlist-list .wishlist-list-item p { padding:14px 16px!important; }
  .wishlist-modal .modal-footer { padding:12px 16px!important; }
  .bicos-account-nav__title { display:none; }
  .bicos-account-nav__disclosure { margin:0; }
  .bicos-account-nav__summary { align-items:center; background:linear-gradient(100deg,#eafff0 0%,#fff7f9 100%); border:1px solid #85c999; border-radius:14px; color:var(--bicos-ink); cursor:pointer; display:flex; font-size:16px; font-weight:900; justify-content:space-between; list-style:none; min-height:50px; padding:10px 13px; }
  .bicos-account-nav__summary::-webkit-details-marker { display:none; }
  .bicos-account-nav__summary::marker { content:""; }
  .bicos-account-nav__summary .material-icons { color:var(--bicos-mint-deep); font-size:24px; transition:transform .18s ease; }
  .bicos-account-nav__disclosure[open] .bicos-account-nav__summary .material-icons { transform:rotate(180deg); }
  .bicos-account-nav__items { padding-top:10px; }
  .bicos-account-nav__list { display:grid; gap:4px; padding:0; }
  .bicos-account-nav__list li + li { margin-top:0; }
  .bicos-account-nav__extensions { border-left:0; border-top:1px solid rgba(189,233,201,.62); display:block; margin:10px 0 0; padding:10px 0 0; }
  .bicos-account-nav__extensions > a, .bicos-account-nav__extensions > li { margin:0 0 4px!important; width:100%!important; }
  .bicos-account-nav__extensions a { white-space:normal; }
  .bicos-account-nav__link { min-height:48px; padding:9px 11px; white-space:normal; }
  body#identity .bicos-account-content .form-group, body#address .bicos-account-content .form-group { margin-bottom:17px; }
  body#identity .bicos-account-content .form-control-label, body#address .bicos-account-content .form-control-label { padding-top:0; }
  body#identity .bicos-account-content .form-control-comment, body#address .bicos-account-content .form-control-comment { padding-top:5px; }
  body#identity .bicos-account-content .form-footer, body#address .bicos-account-content .form-footer { margin-top:20px; padding-top:16px; }
  body#cart .cart-container > .card-block { padding:20px; }
  body#cart .cart-item { padding:16px; }
  body#cart .cart-item .product-line-grid-right .col-md-10 > .row { min-width:0; }
  body#cart .cart-summary, body#checkout .cart-grid-right > .cart-summary { margin-top:16px; padding:18px; }
  body#checkout .cart-grid-right > #js-checkout-summary { margin-top:16px; }
  body#checkout .cart-grid-right > #js-checkout-summary > .card-block { padding:0 18px 18px; }
  body#cart .cart-summary::before, body#checkout .cart-grid-right > .cart-summary::before { margin:-18px -18px 15px; }
  body#checkout .cart-grid-right > #js-checkout-summary::before { margin:0 0 15px; }
  body#checkout #wrapper { padding:10px 0 30px; }
  body#checkout section.checkout-step { border-radius:17px; }
  body#checkout section.checkout-step .step-title { font-size:16px; min-height:58px; padding:12px 14px; }
  body#checkout section.checkout-step .content { padding:16px!important; }
  body#checkout section.checkout-step .step-edit { font-size:0; min-height:28px; min-width:28px; }
  body#checkout section.checkout-step .step-edit .edit { font-size:20px; }
  body#checkout section.checkout-step .delivery-option { padding:12px; }
  body#order-confirmation #content-hook_order_confirmation .card-block, body#order-confirmation .page-order-confirmation .card-block, body#order-confirmation #content-hook_payment_return .card-block, body#order-confirmation #registration-form .card-block { padding:20px; }
  body#cms .page-content, body#stores .page-content { border-radius:20px; font-size:16px; padding:21px!important; }
  body#cms .page-cms table { font-size:14px; }
}
@media (max-width:360px) {
  body#cart .cart-item .qty .bootstrap-touchspin { grid-template-columns:30px 36px 30px; width:96px; }
  body#cart .cart-item .qty .bootstrap-touchspin input.form-control { width:36px; }
  body#cart .cart-item .qty .bootstrap-touchspin .btn-touchspin { min-width:30px; width:30px; }
  body#cart .cart-item .product-line-grid-right .qty { flex-basis:96px; max-width:96px; width:96px; }
  body#cart .cart-item .product-line-grid-right .price { font-size:14px; padding-left:5px; }
}

@media (max-width:767px) {
  body#cart .cart-container > .card-block { padding:16px; }
  body#cart .cart-container h1.h1 { font-size:26px; }
  body#cart .cart-item { padding:12px; }
  body#cart .cart-item .product-line-grid,
  body#cart .cart-item .product-line-grid-left,
  body#cart .cart-item .product-line-grid-body,
  body#cart .cart-item .product-line-grid-right { min-width:0; }
  body#cart .cart-item .product-line-info a { display:block; font-size:14px; line-height:1.3; overflow-wrap:anywhere; }
  body#cart .cart-item .qty .bootstrap-touchspin { grid-template-columns:30px 36px 30px; width:96px; }
  body#cart .cart-item .qty .bootstrap-touchspin input.form-control { width:36px; }
  body#cart .cart-item .qty .bootstrap-touchspin .btn-touchspin { min-width:30px; width:30px; }
  body#cart .cart-item .product-line-grid-right .qty { flex-basis:96px; max-width:96px; width:96px; }
  body#cart .cart-item .product-line-grid-right .price { min-width:0; white-space:normal; overflow-wrap:anywhere; }
  body#cart .cart-summary { padding:16px; }
  body#cart .cart-summary::before { margin:-16px -16px 14px; }
}
@media (prefers-reduced-motion:reduce) {
  body#cart *, body#checkout *, body#order-confirmation *, body#my-account *, body#cms *, body#sitemap *, body#stores * { scroll-behavior:auto!important; transition-duration:.01ms!important; }
}

/* Navegación de escritorio: comparte el markup que PrestaShop traslada al
 * cajón móvil; esta capa solo se activa desde el breakpoint nativo (992 px). */
@media (min-width:992px) {
  #menu { background:linear-gradient(135deg,#f3fff7 0%,#fff8fa 52%,#f3fff7 100%); border-bottom:1px solid rgba(189,233,201,.72); margin-top:10px; padding:8px 0 12px; position:relative; }
  #menu::before { background:radial-gradient(circle,rgba(254,213,217,.58) 0 3px,transparent 3.5px) 0 0/42px 42px,radial-gradient(circle,rgba(189,233,201,.72) 0 3px,transparent 3.5px) 20px 20px/42px 42px; content:""; inset:0; opacity:.56; pointer-events:none; position:absolute; }
  #menu .container { position:relative; z-index:1; }
  #header .header-top #_desktop_top_menu.menu { display:block; margin:0; position:relative; text-align:initial; }
  #_desktop_top_menu .top-menu[data-depth="0"] { align-items:stretch; display:flex; flex-wrap:wrap; justify-content:center; list-style:none; margin:0; padding:3px; }
  #_desktop_top_menu .top-menu li { list-style:none; margin:0; position:relative; }
  #_desktop_top_menu .top-menu a[data-depth="0"] { align-items:center; border:1px solid transparent; border-radius:14px; color:#505858 !important; display:flex; font-family:Asap,sans-serif !important; font-size:14px !important; font-weight:800; gap:8px; justify-content:center; letter-spacing:.01em; line-height:1.2; margin:0 2px; min-height:44px; padding:7px 12px; text-decoration:none !important; transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease; white-space:nowrap; }
  #_desktop_top_menu .top-menu a[data-depth="0"] .icono-menu { display:none !important; }
  /* Las miniaturas de categoría son ilustraciones claras/translúcidas; este
   * fondo oscuro mantiene su contraste sin cambiar los recursos del catálogo. */
  #_desktop_top_menu .top-menu a[data-depth="0"] .icono-menu { align-items:center; background:linear-gradient(135deg,#315a3f,#4c775b); border:1px solid rgba(255,255,255,.9); border-radius:50%; box-shadow:0 2px 6px rgba(49,90,63,.18); display:inline-flex; flex:0 0 28px; height:28px; justify-content:center; overflow:hidden; width:28px; }
  #_desktop_top_menu .top-menu a[data-depth="0"] .icono-menu img { display:block; flex:0 0 22px; height:22px !important; max-height:none !important; max-width:none !important; object-fit:contain; width:22px !important; }
  #_desktop_top_menu .top-menu[data-depth="0"] > li.current > a, #_desktop_top_menu .top-menu[data-depth="0"] > li:hover > a, #_desktop_top_menu .top-menu[data-depth="0"] > li:focus-within > a { background:#fff; border-color:rgba(189,233,201,.95); box-shadow:0 5px 13px rgba(80,88,88,.10); color:#315a3f !important; transform:translateY(-1px); }
  #_desktop_top_menu a:focus-visible { outline:3px solid #315a3f; outline-offset:3px; }
  #_desktop_top_menu .bicos-mobile-category-toggle { display:none !important; }
  #_desktop_top_menu .bicos-mobile-submenu { background:#fff; border:1px solid rgba(189,233,201,.95); border-radius:0 0 18px 18px; box-shadow:0 16px 30px rgba(80,88,88,.16); display:none !important; left:50%; min-width:250px; padding:12px; position:absolute; top:100%; transform:translateX(-50%); z-index:70; }
  #_desktop_top_menu .top-menu[data-depth="0"] > li:hover > .bicos-mobile-submenu, #_desktop_top_menu .top-menu[data-depth="0"] > li:focus-within > .bicos-mobile-submenu { display:block !important; }
  #_desktop_top_menu .bicos-mobile-submenu > a.bicos-mobile-view-all { background:#f3fff7!important; color:#315a3f!important; display:block!important; opacity:1!important; }
  #_desktop_top_menu .bicos-mobile-view-all { color:#315a3f; display:block; font-size:13px; font-weight:900; padding:8px 10px; text-decoration:none; }
  #_desktop_top_menu .bicos-mobile-submenu > .top-menu[data-depth="1"] { display:grid; gap:0 12px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); margin:0; padding:0; width:min(680px,calc(100vw - 32px)); }
  #_desktop_top_menu .bicos-mobile-submenu .top-menu a { border-radius:10px; color:#505858; display:block; font-size:14px; font-weight:800; min-height:38px; padding:9px 10px; text-decoration:none; }
  #_desktop_top_menu .bicos-mobile-submenu .top-menu a:hover, #_desktop_top_menu .bicos-mobile-submenu .top-menu a:focus { background:#f3fff7; color:#315a3f; }
  #_desktop_top_menu .bicos-mobile-submenu .bicos-mobile-submenu { left:100%; top:-1px; transform:none; }
  #_desktop_top_menu .bicos-mobile-submenu li:hover > .bicos-mobile-submenu, #_desktop_top_menu .bicos-mobile-submenu li:focus-within > .bicos-mobile-submenu { display:block !important; }
}

@media (prefers-reduced-motion:reduce) {
  #_desktop_top_menu .top-menu a[data-depth="0"] { transition:none; }
}

/* BicosShop wishlist: override the module's runtime Vue styles without
 * modifying its upgradeable bundle. */
body[id^="module-blockwishlist-"] a { color:var(--bicos-mint-deep); }
body[id^="module-blockwishlist-"] a:hover, body[id^="module-blockwishlist-"] a:focus { color:#315a3f; }
body[id^="module-blockwishlist-"] :focus-visible { outline:3px solid #315a3f!important; outline-offset:3px; }
body[id^="module-blockwishlist-"] .wishlist-container-header, body[id^="module-blockwishlist-"] .wishlist-products-container-header { align-items:center; gap:16px; margin:0 0 18px; }
body[id^="module-blockwishlist-"] .wishlist-container-header h1, body[id^="module-blockwishlist-"] .wishlist-products-container-header h1 { color:var(--bicos-ink); font-family:Georgia,"Times New Roman",serif; font-size:clamp(24px,3vw,32px); font-weight:700; line-height:1.15; margin:0; }
body[id^="module-blockwishlist-"] .wishlist-products-count { color:var(--bicos-muted); font-family:Asap,sans-serif; font-size:.65em; font-weight:700; }
body[id^="module-blockwishlist-"] .wishlist-add-to-new, body[id^="module-blockwishlist-"] .wishlist-product-addtocart { background:linear-gradient(135deg,var(--bicos-mint) 0%,var(--bicos-pink) 100%); border:2px solid #fff; border-radius:999px; box-shadow:0 8px 18px rgba(80,88,88,.13),0 0 0 1px var(--bicos-line); color:var(--bicos-ink)!important; font-size:13px; font-weight:900; min-height:44px; text-transform:uppercase; transition:box-shadow .18s ease,transform .18s ease; }
body[id^="module-blockwishlist-"] .wishlist-add-to-new { align-items:center; display:inline-flex; gap:6px; padding:10px 16px; text-decoration:none!important; }
body[id^="module-blockwishlist-"] .wishlist-add-to-new:hover, body[id^="module-blockwishlist-"] .wishlist-add-to-new:focus, body[id^="module-blockwishlist-"] .wishlist-product-addtocart:hover, body[id^="module-blockwishlist-"] .wishlist-product-addtocart:focus { box-shadow:0 12px 24px rgba(80,88,88,.18),0 0 0 1px #85c999; color:var(--bicos-ink)!important; opacity:1; transform:translateY(-1px); }
body[id^="module-blockwishlist-"] .wishlist-add-to-new i { color:inherit; font-size:20px; margin:0; }
body[id^="module-blockwishlist-"] .wishlist-container .card.page-content, body[id^="module-blockwishlist-"] .wishlist-products-container .card.page-content { background:transparent; border:0; border-radius:0; box-shadow:none; margin:0; padding:0!important; }
body[id^="module-blockwishlist-"] .wishlist-list { margin:0; padding:0; }
body[id^="module-blockwishlist-"] .wishlist-list-item { background:#fff; border:1px solid var(--bicos-line); border-radius:16px; box-shadow:0 6px 16px rgba(80,88,88,.06); list-style:none; margin:0 0 10px; overflow:visible; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
body[id^="module-blockwishlist-"] .wishlist-list-item-default { border-bottom:1px solid var(--bicos-line); }
body[id^="module-blockwishlist-"] .wishlist-list-item:hover, body[id^="module-blockwishlist-"] .wishlist-list-item:focus-within { border-color:#85c999; box-shadow:0 10px 22px rgba(80,88,88,.1); transform:translateY(-1px); }
body[id^="module-blockwishlist-"] .wishlist-list-item-link { align-items:center; color:var(--bicos-ink)!important; min-height:62px; padding:14px 15px; text-decoration:none!important; }
body[id^="module-blockwishlist-"] .wishlist-list-item:hover .wishlist-list-item-title, body[id^="module-blockwishlist-"] .wishlist-list-item:focus-within .wishlist-list-item-title, body[id^="module-blockwishlist-"] .wishlist-list-item-title { color:var(--bicos-ink)!important; }
body[id^="module-blockwishlist-"] .wishlist-list-item-title { font-size:16px; font-weight:900; }
body[id^="module-blockwishlist-"] .wishlist-list-item-title span { color:var(--bicos-muted); font-weight:700; }
body[id^="module-blockwishlist-"] .wishlist-list-item-right > button, body[id^="module-blockwishlist-"] .wishlist-button-add { align-items:center; background:#fff7f8; border:1px solid rgba(254,213,217,.95); border-radius:50%; color:#a34e5b; display:inline-flex; height:36px; justify-content:center; margin-left:6px; padding:0; width:36px; }
body[id^="module-blockwishlist-"] .wishlist-list-item-right > button i, body[id^="module-blockwishlist-"] .wishlist-button-add i { color:inherit!important; font-size:20px!important; margin:0; }
body[id^="module-blockwishlist-"] .wishlist-list-item-right .dropdown-menu, body[id^="module-blockwishlist-"] .wishlist-products-container .dropdown-menu { background:#fff; border:1px solid var(--bicos-line); border-radius:14px; box-shadow:0 12px 26px rgba(80,88,88,.16); margin-top:6px; overflow:hidden; z-index:20; }
body[id^="module-blockwishlist-"] .wishlist-list-item-right .dropdown-menu > button, body[id^="module-blockwishlist-"] .wishlist-products-container .select-list { color:var(--bicos-ink)!important; font-size:14px; font-weight:800; padding:11px 14px; text-decoration:none!important; }
body[id^="module-blockwishlist-"] .wishlist-list-item-right .dropdown-menu > button:hover, body[id^="module-blockwishlist-"] .wishlist-list-item-right .dropdown-menu > button:focus, body[id^="module-blockwishlist-"] .wishlist-products-container .select-list:hover, body[id^="module-blockwishlist-"] .wishlist-products-container .select-list:focus { background:#f1fff5; color:var(--bicos-ink)!important; }
body[id^="module-blockwishlist-"] .wishlist-products-container .sort-by-row { gap:9px; min-width:0; }
body[id^="module-blockwishlist-"] .wishlist-products-container .sort-by { color:var(--bicos-muted); font-size:14px; font-weight:800; }
body[id^="module-blockwishlist-"] .wishlist-products-container .select-title { align-items:center; background:#fff; border:1px solid var(--bicos-line); border-radius:13px; color:var(--bicos-ink)!important; display:flex; font-size:14px; font-weight:800; min-height:44px; padding:9px 12px; width:100%; }
body[id^="module-blockwishlist-"] .wishlist-products-container .select-title i { color:var(--bicos-mint-deep); margin-left:auto; }
body[id^="module-blockwishlist-"] .wishlist-products-list { display:grid; gap:18px; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); margin:0; padding:0; }
body[id^="module-blockwishlist-"] .wishlist-products-item { margin:0; min-width:0; }
body[id^="module-blockwishlist-"] .wishlist-product { background:#fff; border:1px solid var(--bicos-line); border-radius:20px; box-shadow:0 8px 20px rgba(80,88,88,.07); max-width:none; overflow:hidden; padding:12px; transition:box-shadow .18s ease,transform .18s ease; }
body[id^="module-blockwishlist-"] .wishlist-product:hover { box-shadow:0 12px 26px rgba(80,88,88,.13); transform:translateY(-2px); }
body[id^="module-blockwishlist-"] .wishlist-product-link { color:var(--bicos-ink)!important; text-decoration:none!important; }
body[id^="module-blockwishlist-"] .wishlist-product-image { background:#fff8fa; border:1px solid rgba(254,213,217,.82); border-radius:14px; height:auto; padding-top:100%; width:100%; }
body[id^="module-blockwishlist-"] .wishlist-product-image img { padding:8px; }
body[id^="module-blockwishlist-"] .wishlist-product-title { color:var(--bicos-ink); font-size:15px; font-weight:900; line-height:1.32; margin:13px 0 7px; min-height:2.64em; }
body[id^="module-blockwishlist-"] .wishlist-product-price { color:var(--bicos-mint-deep); font-size:18px; font-weight:900; margin:0 0 7px; }
body[id^="module-blockwishlist-"] .wishlist-product-price-promo, body[id^="module-blockwishlist-"] .wishlist-product-combinations-text { color:var(--bicos-muted); font-weight:700; }
body[id^="module-blockwishlist-"] .wishlist-product-combinations-text { font-size:12px; line-height:1.45; min-height:36px; }
body[id^="module-blockwishlist-"] .wishlist-product-combinations a { align-items:center; background:#f1fff5; border-radius:50%; color:var(--bicos-mint-deep)!important; display:inline-flex; height:30px; justify-content:center; width:30px; }
body[id^="module-blockwishlist-"] .wishlist-product-bottom { align-items:center; display:flex; gap:8px; margin-top:12px; }
body[id^="module-blockwishlist-"] .wishlist-product-addtocart { flex:1; padding:9px 12px; }
body[id^="module-blockwishlist-"] .wishlist-product-addtocart:disabled { cursor:not-allowed; opacity:.58; transform:none; }
body[id^="module-blockwishlist-"] .wishlist-product-bottom .wishlist-button-add { flex:0 0 38px; height:38px; margin:0; width:38px; }
body[id^="module-blockwishlist-"] .wishlist-product-availability { color:#a34e5b; font-size:12px; font-weight:800; }
body[id^="module-blockwishlist-"] .wishlist-product-availability i { color:#a34e5b; }
body[id^="module-blockwishlist-"] .wishlist-list-empty { color:var(--bicos-muted); font-size:18px; font-weight:800; padding:28px 14px; }
body[id^="module-blockwishlist-"] .wishlist-list-loader { padding:20px; }
@media (max-width:768px) { body[id^="module-blockwishlist-"] .wishlist-container-header, body[id^="module-blockwishlist-"] .wishlist-products-container-header { align-items:stretch; flex-direction:column; } body[id^="module-blockwishlist-"] .wishlist-add-to-new { justify-content:center; width:100%; } body[id^="module-blockwishlist-"] .wishlist-products-container .sort-by-row { width:100%; } body[id^="module-blockwishlist-"] .wishlist-products-list { grid-template-columns:1fr; } body[id^="module-blockwishlist-"] .wishlist-products-item { margin-bottom:0!important; } body[id^="module-blockwishlist-"] .wishlist-product { max-width:100%; } }
@media (prefers-reduced-motion:reduce) { body[id^="module-blockwishlist-"] .wishlist-add-to-new, body[id^="module-blockwishlist-"] .wishlist-list-item, body[id^="module-blockwishlist-"] .wishlist-product { transition:none; } }

/* The wishlist front controller uses body#view (not a module-prefixed page
 * id), so mirror the product-list skin for its actual route. */
body#view {
  --bicos-ink:#505858;
  --bicos-copy:#626868;
  --bicos-muted:#737b7b;
  --bicos-mint:#bde9c9;
  --bicos-mint-deep:#4c775b;
  --bicos-pink:#fed5d9;
  --bicos-line:rgba(189,233,201,.92);
}
body#view .wishlist-products-container-header { align-items:center; gap:16px; margin:0 0 18px; }
body#view .wishlist-products-container-header h1 { color:var(--bicos-ink); font-family:Georgia,"Times New Roman",serif; font-size:clamp(24px,3vw,32px); font-weight:700; line-height:1.15; margin:0; }
body#view .wishlist-products-count { color:var(--bicos-muted); font-family:Asap,sans-serif; font-size:.65em; font-weight:700; }
body#view .wishlist-products-container .card.page-content { background:transparent; border:0; border-radius:0; box-shadow:none; margin:0; padding:0!important; }
body#view .wishlist-products-container .sort-by-row { gap:9px; min-width:0; }
body#view .wishlist-products-container .sort-by { color:var(--bicos-muted); font-size:14px; font-weight:800; }
body#view .wishlist-products-container .select-title { align-items:center; background:#fff; border:1px solid var(--bicos-line); border-radius:13px; color:var(--bicos-ink)!important; display:flex; font-size:14px; font-weight:800; min-height:44px; padding:9px 12px; width:100%; }
body#view .wishlist-products-container .select-title i { color:var(--bicos-mint-deep); margin-left:auto; }
body#view .wishlist-products-container .dropdown-menu { background:#fff; border:1px solid var(--bicos-line); border-radius:14px; box-shadow:0 12px 26px rgba(80,88,88,.16); margin-top:6px; overflow:hidden; z-index:20; }
body#view .wishlist-products-container .select-list { color:var(--bicos-ink)!important; font-size:14px; font-weight:800; padding:11px 14px; text-decoration:none!important; }
body#view .wishlist-products-container .select-list:hover, body#view .wishlist-products-container .select-list:focus { background:#f1fff5; color:var(--bicos-ink)!important; }
body#view .wishlist-products-list { display:grid; gap:18px; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); margin:0; padding:0; }
body#view .wishlist-products-item { margin:0; min-width:0; }
body#view .wishlist-product { background:#fff; border:1px solid var(--bicos-line); border-radius:20px; box-shadow:0 8px 20px rgba(80,88,88,.07); max-width:none; overflow:hidden; padding:12px; transition:box-shadow .18s ease,transform .18s ease; }
body#view .wishlist-product:hover { box-shadow:0 12px 26px rgba(80,88,88,.13); transform:translateY(-2px); }
body#view .wishlist-product-link { color:var(--bicos-ink)!important; text-decoration:none!important; }
body#view .wishlist-product-image { background:#fff8fa; border:1px solid rgba(254,213,217,.82); border-radius:14px; height:auto; padding-top:100%; width:100%; }
body#view .wishlist-product-image img { padding:8px; }
body#view .wishlist-product-title { color:var(--bicos-ink); font-size:15px; font-weight:900; line-height:1.32; margin:13px 0 7px; min-height:2.64em; }
body#view .wishlist-product-price { color:var(--bicos-mint-deep); font-size:18px; font-weight:900; margin:0 0 7px; }
body#view .wishlist-product-price-promo, body#view .wishlist-product-combinations-text { color:var(--bicos-muted); font-weight:700; }
body#view .wishlist-product-combinations-text { font-size:12px; line-height:1.45; min-height:36px; }
body#view .wishlist-product-combinations a { align-items:center; background:#f1fff5; border-radius:50%; color:var(--bicos-mint-deep)!important; display:inline-flex; height:30px; justify-content:center; width:30px; }
body#view .wishlist-product-bottom { align-items:center; display:flex; gap:8px; margin-top:12px; }
body#view .wishlist-product-addtocart { background:linear-gradient(135deg,var(--bicos-mint) 0%,var(--bicos-pink) 100%); border:2px solid #fff; border-radius:999px; box-shadow:0 8px 18px rgba(80,88,88,.13),0 0 0 1px var(--bicos-line); color:var(--bicos-ink)!important; flex:1; font-size:13px; font-weight:900; min-height:44px; padding:9px 12px; text-transform:uppercase; transition:box-shadow .18s ease,transform .18s ease; }
body#view .wishlist-product-addtocart:hover, body#view .wishlist-product-addtocart:focus { box-shadow:0 12px 24px rgba(80,88,88,.18),0 0 0 1px #85c999; color:var(--bicos-ink)!important; transform:translateY(-1px); }
body#view .wishlist-product-addtocart:disabled { cursor:not-allowed; opacity:.58; transform:none; }
body#view .wishlist-button-add { align-items:center; background:#fff7f8; border:1px solid rgba(254,213,217,.95); border-radius:50%; color:#a34e5b; display:inline-flex; flex:0 0 38px; height:38px; justify-content:center; margin:0; padding:0; width:38px; }
body#view .wishlist-button-add i { color:inherit!important; font-size:20px!important; margin:0; }
body#view .wishlist-product-availability { color:#a34e5b; font-size:12px; font-weight:800; }
body#view .wishlist-product-availability i { color:#a34e5b; }
body#view :focus-visible { outline:3px solid #315a3f!important; outline-offset:3px; }
@media (max-width:768px) { body#view .wishlist-products-container-header { align-items:stretch; flex-direction:column; } body#view .wishlist-products-container .sort-by-row { width:100%; } body#view .wishlist-products-list { grid-template-columns:1fr; } body#view .wishlist-products-item { margin-bottom:0!important; } }
@media (prefers-reduced-motion:reduce) { body#view .wishlist-product, body#view .wishlist-product-addtocart { transition:none; } }

/* The module positions the delete control over the image by default. In the
 * Bicos card it belongs beside the cart CTA, so restore its normal flex flow. */
body[id^="module-blockwishlist-"] .wishlist-product-bottom .wishlist-button-add,
body#view .wishlist-product-bottom .wishlist-button-add {
  min-width:38px;
  position:static;
  right:auto;
  top:auto;
}

/* BicosShop wishlist notifications: a compact, high-contrast status surface
 * that works consistently from product and wishlist pages. */
.wishlist-toast {
  align-items:center;
  background:#fff!important;
  border:1px solid rgba(189,233,201,.95)!important;
  border-radius:16px!important;
  box-shadow:0 14px 32px rgba(80,88,88,.2)!important;
  color:#505858!important;
  display:flex;
  gap:10px;
  max-width:min(390px,calc(100vw - 32px));
  min-height:54px;
  padding:12px 16px!important;
  right:16px!important;
  top:16px!important;
  transform:translateY(-14px)!important;
  z-index:2147483003!important;
}
.wishlist-toast::before {
  align-items:center;
  background:#eefbf2;
  border-radius:50%;
  color:#315a3f;
  content:"✓";
  display:inline-flex;
  flex:0 0 28px;
  font-family:Arial,sans-serif;
  font-size:17px;
  font-weight:900;
  height:28px;
  justify-content:center;
  width:28px;
}
.wishlist-toast.error { background:#fff7f8!important; border-color:rgba(254,213,217,.98)!important; }
.wishlist-toast.error::before { background:#fed5d9; color:#9f3f4e; content:"!"; }
.wishlist-toast.success { background:#f5fff8!important; border-color:#85c999!important; }
.wishlist-toast.isActive { transform:translateY(0)!important; }
.wishlist-toast .wishlist-toast-text { color:inherit!important; font-family:Asap,sans-serif; font-size:14px; font-weight:800; line-height:1.35; margin:0!important; }
@media (max-width:575px) {
  .wishlist-toast { left:12px; max-width:none; right:12px!important; top:12px!important; width:auto!important; }
}
@media (prefers-reduced-motion:reduce) {
  .wishlist-toast { transition:none!important; }
}

/* Página de contacto: una única lectura, datos reales del módulo y acción clara. */
body#contact {
  --bicos-ink: #505858;
  --bicos-line: rgba(189, 233, 201, .9);
  --bicos-mint: #bde9c9;
  --bicos-pink: #fed5d9;
  --bicos-contact-ink: #505858;
  --bicos-contact-copy: #626868;
  --bicos-contact-mint: #bde9c9;
  --bicos-contact-mint-deep: #315a3f;
  --bicos-contact-pink: #fed5d9;
  --bicos-contact-line: rgba(189, 233, 201, .9);
}

body#contact #wrapper {
  background: transparent;
  padding-bottom: 28px;
}

body#contact #main .page-content {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.bicos-contact {
  color: var(--bicos-contact-copy);
  margin: 0 auto;
  max-width: 1180px;
}

.bicos-contact__header {
  margin: 0 auto 28px;
  max-width: 650px;
  padding: 20px 16px 0;
  text-align: center;
}

.bicos-contact__eyebrow {
  color: var(--bicos-contact-mint-deep);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  margin: 0 0 7px;
  text-transform: uppercase;
}

.bicos-contact h1,
.bicos-contact h2 {
  color: var(--bicos-contact-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
}

.bicos-contact h1 {
  font-size: clamp(34px, 5vw, 52px);
  line-height: 1;
  margin: 0 0 12px;
}

.bicos-contact h2 {
  font-size: clamp(25px, 3vw, 32px);
  line-height: 1.15;
  margin: 0;
}

.bicos-contact__intro,
.bicos-contact__form-heading > p:last-child {
  font-size: 17px;
  line-height: 1.55;
  margin: 12px 0 0;
}

.bicos-contact__grid {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  padding: 0 16px;
}

.bicos-contact__aside,
.bicos-contact__form-card {
  min-width: 0;
}

.bicos-contact__info,
.bicos-contact__map,
.bicos-contact__form-card {
  background: #fff;
  border: 1px solid var(--bicos-contact-line);
  border-radius: 22px;
  box-shadow: 0 12px 28px rgba(80, 88, 88, .08);
}

.bicos-contact__info:empty {
  display: none;
}

.bicos-contact__info {
  margin-bottom: 20px;
  padding: 22px;
}

.bicos-contact__info .contact-rich {
  margin: 0;
}

.bicos-contact__info .contact-rich h4 {
  color: var(--bicos-contact-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  font-weight: 700;
  margin: 0 0 18px;
}

.bicos-contact__info .contact-rich .block {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.bicos-contact__info .contact-rich .block .icon {
  align-items: center;
  background: #f0fff4;
  border-radius: 50%;
  color: var(--bicos-contact-mint-deep);
  display: inline-flex;
  flex: 0 0 38px;
  height: 38px;
  justify-content: center;
  margin: 0;
  width: 38px;
}

.bicos-contact__info .contact-rich .block .data,
.bicos-contact__info .contact-rich .block a {
  color: var(--bicos-contact-copy);
  font-size: 15px;
  line-height: 1.5;
}

.bicos-contact__info .contact-rich .block a {
  color: var(--bicos-contact-mint-deep);
  font-weight: 800;
}

.bicos-contact__info .contact-rich .block .data.email {
  flex: 1 1 calc(100% - 50px);
}

.bicos-contact__info .contact-rich .block .data.email + a {
  clear: none;
  flex: 1 1 calc(100% - 50px);
  margin: -5px 0 0 50px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.bicos-contact__info .contact-rich hr {
  border-color: var(--bicos-contact-line);
  margin: 16px 0;
}

.bicos-contact__map {
  overflow: hidden;
}

.bicos-contact__map-heading {
  padding: 22px 22px 16px;
}

.bicos-contact__map iframe {
  border: 0;
  display: block;
  height: 290px;
  width: 100%;
}

.bicos-contact__form-card {
  padding: 28px;
}

.bicos-contact__form-heading {
  border-bottom: 1px solid var(--bicos-contact-line);
  margin-bottom: 24px;
  padding-bottom: 20px;
}

.bicos-contact__form-card .contact-form {
  background: transparent;
  color: var(--bicos-contact-copy);
  padding: 0;
}

.bicos-contact__form-card .form-group {
  align-items: flex-start;
  display: block;
  margin-bottom: 19px;
}

.bicos-contact__form-card .form-control-label {
  color: var(--bicos-contact-ink);
  display: block;
  font-size: 15px;
  font-weight: 800;
  max-width: none;
  padding-top: 0;
  text-align: left;
  width: 100%;
}

.bicos-contact__form-card .form-group > [class*="col-md-"],
.bicos-contact__form-card .form-group > .offset-md-3 {
  flex: none;
  max-width: none;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
}

.bicos-contact__form-card .form-control {
  border: 1px solid #b9d8c2;
  border-radius: 12px;
  box-shadow: none;
  color: var(--bicos-contact-ink);
  font-size: 16px;
  min-height: 46px;
  width: 100%;
}

.bicos-contact__form-card textarea.form-control {
  min-height: 125px;
  padding-top: 12px;
  resize: vertical;
}

.bicos-contact__form-card .form-control:focus {
  border-color: var(--bicos-contact-mint-deep);
  box-shadow: 0 0 0 3px rgba(189, 233, 201, .72);
}

.bicos-contact__form-card .form-control-comment {
  color: #747b7b;
  font-size: 13px;
  padding-top: 12px;
}

.bicos-contact__upload {
  position: relative;
}

.bicos-contact__file-input {
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 1px;
}

.bicos-contact__upload-dropzone {
  align-items: center;
  background: #f7fffa;
  border: 2px dashed #9acdaa;
  border-radius: 14px;
  color: var(--bicos-contact-ink);
  cursor: pointer;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin: 0;
  min-height: 94px;
  padding: 14px;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.bicos-contact__upload-dropzone > .material-icons {
  align-items: center;
  background: #e1f7e7;
  border-radius: 50%;
  color: var(--bicos-contact-mint-deep);
  display: inline-flex;
  flex: 0 0 40px;
  font-size: 23px;
  height: 40px;
  justify-content: center;
  width: 40px;
}

.bicos-contact__upload-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  font-size: 13px;
  line-height: 1.35;
  min-width: 0;
}

.bicos-contact__upload-copy strong {
  font-size: 14px;
  font-weight: 900;
}

.bicos-contact__upload-copy > span {
  color: var(--bicos-contact-copy);
}

.bicos-contact__upload-action {
  background: #fff;
  border: 1px solid var(--bicos-contact-line);
  border-radius: 999px;
  color: var(--bicos-contact-mint-deep);
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 900;
  padding: 8px 11px;
  text-transform: uppercase;
}

.bicos-contact__upload.is-dragging .bicos-contact__upload-dropzone,
.bicos-contact__upload-dropzone:hover {
  background: #fff8fa;
  border-color: #d48a96;
}

.bicos-contact__file-input:focus-visible + .bicos-contact__upload-dropzone {
  box-shadow: 0 0 0 3px rgba(189, 233, 201, .72);
}

.bicos-contact__upload-status {
  color: #747b7b;
  font-size: 13px;
  line-height: 1.35;
  margin: 8px 0 0;
  overflow-wrap: anywhere;
}

.bicos-contact__upload.is-selected .bicos-contact__upload-status {
  color: var(--bicos-contact-mint-deep);
  font-weight: 800;
}

.bicos-contact__form-card .form-footer {
  border-top: 1px solid var(--bicos-contact-line);
  margin-top: 24px;
  padding-top: 22px;
}

.bicos-contact :focus-visible {
  outline: 3px solid var(--bicos-contact-mint-deep);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  body#contact #wrapper {
    padding-bottom: 20px;
  }

  .bicos-contact__header {
    margin-bottom: 20px;
    padding-top: 12px;
  }

  .bicos-contact__grid {
    gap: 18px;
    grid-template-columns: 1fr;
  }

  .bicos-contact__form-card {
    padding: 22px 18px;
  }

  .bicos-contact__map iframe {
    height: 245px;
  }

  .bicos-contact__form-card .form-control-label {
    padding-top: 0;
  }

  .bicos-contact__upload-dropzone {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .bicos-contact__upload-action {
    margin-left: 52px;
  }

  .bicos-contact__form-card .form-footer .btn-primary {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bicos-contact * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* Avisos del front: mantienen el significado nativo de PrestaShop, con una
 * lectura más clara y consistente con la identidad visual de BicosShop. */
#notifications {
  margin:20px 0 0;
}

#notifications .container {
  max-width:1180px;
}

#notifications .alert {
  align-items:flex-start;
  border:1px solid transparent;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(80,88,88,.08);
  color:#505858;
  display:flex;
  font-family:Asap,sans-serif;
  font-size:16px;
  font-weight:700;
  line-height:1.45;
  margin:0 0 16px;
  padding:16px 18px;
}

#notifications .alert::before {
  align-items:center;
  border-radius:50%;
  display:inline-flex;
  flex:0 0 30px;
  font-family:Arial,sans-serif;
  font-size:18px;
  font-weight:900;
  height:30px;
  justify-content:center;
  margin:0 12px 0 0;
  width:30px;
}

#notifications .alert ul {
  list-style:none;
  margin:2px 0 0;
  padding:0;
}

#notifications .alert li + li {
  margin-top:5px;
}

#notifications .alert-danger {
  background:#fff7f8;
  border-color:#f3bdc5;
  color:#9f3f4e;
}

#notifications .alert-danger::before {
  background:#fed5d9;
  color:#9f3f4e;
  content:"!";
}

#notifications .alert-warning {
  background:#fff9e7;
  border-color:#efd88c;
  color:#80621c;
}

#notifications .alert-warning::before {
  background:#fff0bd;
  color:#80621c;
  content:"!";
}

#notifications .alert-success {
  background:#f2fff5;
  border-color:#9fd8ad;
  color:#315a3f;
}

#notifications .alert-success::before {
  background:#dff5e5;
  color:#315a3f;
  content:"✓";
}

#notifications .alert-info {
  background:#f2fbff;
  border-color:#add9e9;
  color:#356879;
}

#notifications .alert-info::before {
  background:#dff3fa;
  color:#356879;
  content:"i";
  font-family:Georgia,serif;
}

.bicos-cart-drawer__qty-btn:disabled {
  background:#eef4ef;
  color:#9ca9a1;
  cursor:not-allowed;
}

@media (max-width:575px) {
  #notifications {
    margin-top:12px;
  }

  #notifications .alert {
    border-radius:14px;
    font-size:14px;
    padding:13px 14px;
  }
}

/* Home: capa visual de los módulos de displayHome. El contenido y los enlaces
 * siguen administrándose desde PrestaShop; los selectores se limitan a index. */
body#index .page-home {
  --bicos-ink:#505858;
  --bicos-copy:#626868;
  --bicos-muted:#737b7b;
  --bicos-mint:#bde9c9;
  --bicos-mint-deep:#4c775b;
  --bicos-pink:#fed5d9;
  --bicos-line:rgba(189,233,201,.92);
  --bicos-radius:24px;
  --bicos-shadow:0 18px 44px rgba(80,88,88,.11);
  color:var(--bicos-copy);
}

body#index .page-home > #carousel,
body#index .page-home > .bicos-featured-products,
body#index .page-home > .banner,
body#index .page-home > #custom-text,
body#index .page-home > .bicos-google-reviews,
body#index .page-home > .bicos-home-extra {
  margin-left:auto;
  margin-right:auto;
  max-width:1180px;
  width:calc(100% - 32px);
}

body#index .page-home > #carousel {
  border:1px solid var(--bicos-line);
  border-radius:var(--bicos-radius);
  box-shadow:var(--bicos-shadow);
  margin-bottom:42px;
  overflow:hidden;
  position:relative;
}

body#index #carousel .carousel-inner,
body#index #carousel .carousel-item,
body#index #carousel figure {
  margin:0;
}

body#index #carousel .carousel-inner { aspect-ratio:1110 / 340; overflow:hidden; }
body#index #carousel .carousel-item { position:relative; }
body#index #carousel .carousel-item,
body#index #carousel figure,
body#index #carousel .carousel-item > a,
body#index #carousel .carousel-item img {
  height:100%!important;
  min-height:0;
}
body#index #carousel figure { position:relative; }

body#index #carousel .carousel-item > a,
body#index #carousel figure > a {
  display:block;
}

body#index #carousel .carousel-item img {
  display:block;
  object-fit:cover;
  width:100%;
}

/* El slider utiliza capas superpuestas para evitar el hueco blanco del
 * desplazamiento horizontal de Bootstrap. La variante de entrada se decide
 * en custom.js para que cada cambio tenga una transición ligeramente distinta. */
body#index #carousel.carousel-fade .carousel-inner { position:relative; }

body#index #carousel.carousel-fade .carousel-item {
  display:block!important;
  left:0!important;
  opacity:0;
  position:absolute;
  top:0;
  transform:translate3d(0,0,0)!important;
  transition:opacity .72s ease-in-out,transform .72s ease-in-out,filter .72s ease-in-out;
  visibility:hidden;
  width:100%;
  z-index:0;
}

body#index #carousel.carousel-fade .carousel-item figure,
body#index #carousel.carousel-fade .carousel-item > a { width:100%; }

body#index #carousel.carousel-fade .carousel-item img { height:auto!important; }

body#index #carousel.carousel-fade .carousel-item.active {
  opacity:1;
  visibility:visible;
  z-index:2;
}

body#index #carousel.carousel-fade .carousel-item.next,
body#index #carousel.carousel-fade .carousel-item.prev {
  opacity:0;
  visibility:visible;
  z-index:3;
}

body#index #carousel.carousel-fade .carousel-item.active.left,
body#index #carousel.carousel-fade .carousel-item.active.right {
  opacity:0;
  z-index:1;
}

body#index #carousel.carousel-fade .carousel-item.next.left,
body#index #carousel.carousel-fade .carousel-item.prev.right {
  opacity:1;
  z-index:3;
}

body#index #carousel.bicos-transition-zoom .carousel-item.next,
body#index #carousel.bicos-transition-zoom .carousel-item.prev {
  transform:scale(1.045)!important;
}

body#index #carousel.bicos-transition-zoom .carousel-item.next.left,
body#index #carousel.bicos-transition-zoom .carousel-item.prev.right {
  transform:scale(1)!important;
}

body#index #carousel.bicos-transition-lift .carousel-item.next { transform:translate3d(0,18px,0)!important; }
body#index #carousel.bicos-transition-lift .carousel-item.prev { transform:translate3d(0,-18px,0)!important; }
body#index #carousel.bicos-transition-lift .carousel-item.next.left,
body#index #carousel.bicos-transition-lift .carousel-item.prev.right { transform:translate3d(0,0,0)!important; }

body#index #carousel.bicos-transition-soft .carousel-item.next,
body#index #carousel.bicos-transition-soft .carousel-item.prev { filter:blur(4px); }
body#index #carousel.bicos-transition-soft .carousel-item.next.left,
body#index #carousel.bicos-transition-soft .carousel-item.prev.right { filter:blur(0); }

body#index #carousel .caption {
  background:rgba(255,255,255,.93);
  border:1px solid var(--bicos-line);
  border-radius:18px;
  bottom:28px;
  box-shadow:0 12px 28px rgba(80,88,88,.13);
  color:var(--bicos-copy);
  left:clamp(16px,4vw,68px)!important;
  max-width:min(460px,calc(100% - 36px));
  padding:20px 22px;
  position:absolute;
  right:auto!important;
  text-align:left;
  top:auto!important;
  transform:none!important;
  z-index:2;
}

body#index #carousel .caption .display-1,
body#index #carousel .caption h2 {
  color:var(--bicos-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(29px,4vw,42px);
  font-weight:700;
  line-height:1.08;
  margin:0 0 9px;
  text-transform:none!important;
}

body#index #carousel .caption-description,
body#index #carousel .caption-description p {
  color:var(--bicos-copy);
  font-size:16px;
  line-height:1.55;
  margin:0;
}

body#index #carousel .caption a,
body#index #custom-text a {
  color:var(--bicos-mint-deep);
  font-weight:800;
}

body#index #carousel .direction .carousel-control {
  align-items:center;
  background:#fff;
  border:1px solid var(--bicos-line);
  border-radius:50%;
  box-shadow:0 8px 18px rgba(80,88,88,.14);
  color:var(--bicos-ink);
  display:flex;
  height:46px;
  justify-content:center;
  opacity:1;
  bottom:auto!important;
  top:50%;
  transform:translateY(-50%);
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
  width:46px;
}

body#index #carousel .direction { inset:0; pointer-events:none; position:absolute; z-index:10; }
body#index #carousel .direction .carousel-control { pointer-events:auto; }
body#index #carousel .direction .carousel-control .icon-prev,
body#index #carousel .direction .carousel-control .icon-next { align-items:center; display:flex; height:100%; justify-content:center; left:auto!important; margin:0!important; position:static!important; top:auto!important; width:100%; }
body#index #carousel .direction .carousel-control .material-icons { line-height:1; margin:0; position:static; }

body#index #carousel .direction .left { left:16px; }
body#index #carousel .direction .right { right:16px; }
body#index #carousel .direction .carousel-control:hover,
body#index #carousel .direction .carousel-control:focus-visible {
  background:linear-gradient(135deg,var(--bicos-mint),var(--bicos-pink));
  box-shadow:0 11px 22px rgba(80,88,88,.19);
  color:var(--bicos-ink);
  outline:3px solid #315a3f;
  outline-offset:3px;
}

body#index #carousel .direction .material-icons { font-size:28px; }

body#index .page-home > .banner {
  background:#fffdfd;
  border:1px solid var(--bicos-line);
  border-radius:var(--bicos-radius);
  box-shadow:var(--bicos-shadow);
  margin-bottom:44px;
  overflow:hidden;
  transition:box-shadow .18s ease,transform .18s ease;
}

body#index .page-home > .banner img {
  box-shadow:none;
  display:block;
  height:auto;
  width:100%;
}

body#index .page-home > .banner:hover {
  box-shadow:0 22px 46px rgba(80,88,88,.16);
  transform:translateY(-2px);
}

body#index .bicos-featured-products {
  margin-bottom:50px;
  margin-top:0;
  overflow:visible;
  padding:28px;
}

body#index .bicos-products-heading { margin-bottom:24px; }
body#index .bicos-products-heading .titulo-home,
body#index .bicos-home-title {
  color:var(--bicos-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(29px,4vw,42px);
  font-weight:700;
  justify-content:center;
  line-height:1.1;
  margin:0 0 8px;
  text-transform:none;
  white-space:nowrap;
}

body#index .bicos-products-heading .titulo-home::before,
body#index .bicos-products-heading .titulo-home::after { content:none; }

@media (max-width:992px) {
  body#index .bicos-home-title::before,
  body#index .bicos-home-title::after { content:none; }
}

body#index .bicos-products-heading p {
  color:var(--bicos-copy);
  font-size:17px;
  line-height:1.55;
  max-width:680px;
}

body#index .bicos-products-carousel .thumbnail-container {
  background:#fffdfd;
  border-color:var(--bicos-line);
  border-radius:18px;
  box-shadow:0 8px 20px rgba(80,88,88,.07);
  padding:12px;
}

body#index .bicos-products-carousel .product-title a { color:var(--bicos-ink); font-weight:800; }
body#index .bicos-products-carousel .product-price-and-shipping,
body#index .bicos-products-carousel .product-price-and-shipping .price { color:var(--bicos-ink); }
body#index .bicos-products-carousel .owl-nav button.owl-prev,
body#index .bicos-products-carousel .owl-nav button.owl-next {
  border-color:var(--bicos-line)!important;
}

/* Etiquetas de producto: compactas y legibles sobre la imagen de la home. */
body#index .bicos-products-carousel .product-flags {
  align-items:flex-start;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  left:10px;
  margin:0;
  /* Deja libre la esquina derecha para el botón de favoritos (50 px + margen). */
  max-width:calc(100% - 72px);
  padding:0;
  top:10px;
  width:calc(100% - 72px);
  z-index:6;
}

body#index .bicos-products-carousel .product-flags li.product-flag {
  background:#fffdfd;
  border:1px solid var(--bicos-line);
  border-radius:999px;
  box-shadow:0 4px 10px rgba(80,88,88,.10);
  box-sizing:border-box;
  color:var(--bicos-ink);
  font-family:Asap,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  line-height:1.15;
  margin:0;
  max-width:100%;
  min-height:30px;
  min-width:0;
  overflow-wrap:anywhere;
  padding:7px 10px;
  text-align:center;
  text-indent:0;
  text-transform:uppercase;
  width:auto;
}

body#index .bicos-products-carousel .product-flags li.product-flag.discount,
body#index .bicos-products-carousel .product-flags li.product-flag.discount-amount,
body#index .bicos-products-carousel .product-flags li.product-flag.discount-percentage {
  background:linear-gradient(135deg,var(--bicos-pink),#fff4e8)!important;
  border-color:#f3bdc5;
  color:#8d4553;
}

body#index .bicos-products-carousel .product-flags li.product-flag.new,
body#index .bicos-products-carousel .product-flags li.product-flag.online-only {
  background:#f1fff5;
  border-color:#9fd8ad;
  color:#315a3f;
}

body#index .bicos-products-carousel .product-flags li.product-flag.on-sale {
  background:linear-gradient(135deg,var(--bicos-mint),var(--bicos-pink));
  border-color:#fff;
  position:static;
  width:auto;
}

body#index .bicos-products-carousel .product-flags li.product-flag::before,
body#index .bicos-products-carousel .product-flags li.product-flag::after {
  content:none;
  display:none;
}

/* La tarjeta de Owl ya separa los elementos mediante `margin`: no sumar el
 * padding heredado de los listados, que abría huecos de 44 px entre tarjetas. */
body#index .bicos-products-carousel .product-miniature {
  padding-left:0;
  padding-right:0;
}

/* El mismo lenguaje de etiquetas se aplica a todas las fichas de listado,
 * incluida la búsqueda, sin afectar los carruseles de la portada. */
body:not(#index) #products .product-flags {
  align-items:flex-start;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  left:10px;
  margin:0;
  /* Deja libre la esquina derecha para el botón de favoritos (50 px + margen). */
  max-width:calc(100% - 72px);
  padding:0;
  top:10px;
  width:calc(100% - 72px);
  z-index:6;
}

body:not(#index) #products .product-flags li.product-flag {
  background:#fffdfd;
  border:1px solid rgba(189,233,201,.92);
  border-radius:999px;
  box-shadow:0 4px 10px rgba(80,88,88,.10);
  box-sizing:border-box;
  color:#505858;
  font-family:Asap,sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  line-height:1.15;
  margin:0;
  max-width:100%;
  min-height:30px;
  min-width:0;
  overflow-wrap:anywhere;
  padding:7px 10px;
  text-align:center;
  text-indent:0;
  text-transform:uppercase;
  width:auto;
}

body:not(#index) #products .product-flags li.product-flag.discount,
body:not(#index) #products .product-flags li.product-flag.discount-amount,
body:not(#index) #products .product-flags li.product-flag.discount-percentage {
  background:linear-gradient(135deg,#fed5d9,#fff4e8)!important;
  border-color:#f3bdc5;
  color:#8d4553;
}

body:not(#index) #products .product-flags li.product-flag.new,
body:not(#index) #products .product-flags li.product-flag.online-only {
  background:#f1fff5;
  border-color:#9fd8ad;
  color:#315a3f;
}

body:not(#index) #products .product-flags li.product-flag.on-sale {
  background:linear-gradient(135deg,#bde9c9,#fed5d9);
  border-color:#fff;
  position:static;
  width:auto;
}

body:not(#index) #products .product-flags li.product-flag::before,
body:not(#index) #products .product-flags li.product-flag::after { content:none; display:none; }

/* Las páginas de búsqueda y de listados especiales usan un título simple en
 * la plantilla base; se alinea con el acabado de la cabecera de categoría. */
body#search #js-product-list-header.h2,
body#best-sales #js-product-list-header.h2,
body#new-products #js-product-list-header.h2,
body#prices-drop #js-product-list-header.h2,
body#manufacturer #js-product-list-header.h2,
body#supplier #js-product-list-header.h2 {
  align-items:center;
  background:linear-gradient(135deg,#fff 0%,#f8fff9 56%,#fff7fa 100%);
  border:1px solid rgba(189,233,201,.86);
  border-radius:24px;
  box-shadow:0 12px 28px rgba(119,122,122,.08);
  color:#505858;
  display:flex;
  font-family:Asap,sans-serif;
  font-size:clamp(24px,3vw,36px);
  font-weight:900;
  justify-content:center;
  margin:36px auto 28px;
  min-height:96px;
  padding:20px 28px;
  text-align:center;
  text-transform:none;
}

body#index .page-home > #custom-text {
  background:#f8fffa;
  border:1px solid var(--bicos-line);
  border-radius:var(--bicos-radius);
  box-shadow:var(--bicos-shadow);
  margin-bottom:50px;
  margin-top:0;
  padding:28px;
}

body#index #custom-text p {
  color:var(--bicos-copy);
  font-size:17px;
  line-height:1.68;
  margin-left:auto;
  margin-right:auto;
  max-width:74ch;
  text-align:left;
}

body#index #custom-text h1,
body#index #custom-text h2,
body#index #custom-text h3 {
  color:var(--bicos-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(24px,3vw,32px);
  font-weight:700;
  line-height:1.15;
  margin:28px auto 14px;
  max-width:74ch;
  text-align:left;
  text-transform:none;
}

body#index #custom-text h1:first-child,
body#index #custom-text h2:first-child,
body#index #custom-text h3:first-child { margin-top:0; }

body#index #custom-text img {
  border:1px solid var(--bicos-line);
  border-radius:18px;
  box-shadow:0 8px 20px rgba(80,88,88,.10);
}

body#index #custom-text a:hover,
body#index #custom-text a:focus-visible { color:#315a3f; outline:3px solid #315a3f; outline-offset:3px; }

body#index .bicos-home-seo-text {
  background:#f8fffa;
  border:1px solid var(--bicos-line);
  border-radius:var(--bicos-radius);
  box-shadow:var(--bicos-shadow);
  margin:34px 0 0;
  padding:28px;
  text-align:left;
}

body#index .bicos-home-seo-text h2 {
  color:var(--bicos-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(24px,3vw,32px);
  font-weight:700;
  line-height:1.15;
  margin:0 0 14px;
  text-transform:none;
}

body#index .bicos-home-seo-text p {
  color:var(--bicos-copy);
  font-size:17px;
  line-height:1.68;
  margin:0;
  max-width:74ch;
}

body#index #block-reassurance {
  background:#fffdfd;
  border:1px solid var(--bicos-line);
  border-radius:18px;
  box-shadow:0 10px 24px rgba(80,88,88,.08);
  margin:0 auto 44px;
  max-width:1180px;
  padding:8px 18px;
  width:calc(100% - 32px);
}

body#index #block-reassurance ul { display:flex; flex-wrap:wrap; margin:0; padding:0; }
body#index #block-reassurance li { border:0; flex:1 1 220px; }
body#index #block-reassurance li .block-reassurance-item { align-items:center; display:flex; gap:12px; padding:14px 10px; }
body#index #block-reassurance img { background:linear-gradient(135deg,var(--bicos-mint),var(--bicos-pink)); border:2px solid #fff; border-radius:50%; height:40px; margin:0; object-fit:contain; padding:7px; width:40px; }
body#index #block-reassurance .h6 { color:var(--bicos-ink); font-size:14px; font-weight:800; line-height:1.3; }

/* Módulos propios que también pueden ocupar displayHome. */
body#index .bicos-google-reviews,
body#index .bicos-instagram-feed {
  background:linear-gradient(145deg,#fff,#fffafa);
  border:1px solid var(--bicos-line);
  border-radius:var(--bicos-radius);
  box-shadow:var(--bicos-shadow);
  padding:28px;
}

body#index .bicos-google-reviews h2,
body#index .bicos-instagram-feed h2,
body#index .talleresbicos-home h2 {
  color:var(--bicos-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(29px,4vw,42px);
  font-weight:700;
  line-height:1.1;
  text-transform:none;
}

body#index .bicos-google-reviews p,
body#index .bicos-instagram-feed p { color:var(--bicos-copy); }

body#index .bicos-google-link,
body#index .bicos-instagram-profile,
body#index .bicos-home-whatsapp,
body#index .talleresbicos-home-heading > a,
body#index .talleresbicos-home-details,
body#index .talleresbicos-home-card .btn {
  background:linear-gradient(135deg,var(--bicos-mint),var(--bicos-pink));
  border:2px solid #fff;
  border-radius:999px;
  box-shadow:0 0 0 1px var(--bicos-line);
  color:var(--bicos-ink)!important;
  font-weight:900;
  min-height:44px;
  padding:10px 18px;
  text-decoration:none;
  transition:box-shadow .18s ease,transform .18s ease;
}

body#index .bicos-google-link:hover,
body#index .bicos-google-link:focus-visible,
body#index .bicos-instagram-profile:hover,
body#index .bicos-instagram-profile:focus-visible,
body#index .bicos-home-whatsapp:hover,
body#index .bicos-home-whatsapp:focus-visible,
body#index .talleresbicos-home a:hover,
body#index .talleresbicos-home a:focus-visible {
  box-shadow:0 8px 18px rgba(80,88,88,.16),0 0 0 1px #85c999;
  color:var(--bicos-ink)!important;
  outline:3px solid #315a3f;
  outline-offset:3px;
  transform:translateY(-1px);
}

body#index .bicos-google-review-card,
body#index .talleresbicos-home-card {
  border:1px solid var(--bicos-line);
  border-radius:18px;
  box-shadow:0 8px 20px rgba(80,88,88,.07);
  overflow:hidden;
}

body#index .bicos-google-review-card h3,
body#index .talleresbicos-home-card h3 {
  color:var(--bicos-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700;
  text-transform:none;
}

body#index .talleresbicos-home {
  margin:50px auto;
  max-width:1180px;
  padding:0;
  width:calc(100% - 32px);
}

body#index .talleresbicos-home-heading { align-items:center; margin-bottom:24px; }
body#index .talleresbicos-home-heading span { color:var(--bicos-mint-deep); font-weight:800; }
body#index .talleresbicos-home-card { background:#fffdfd; }
body#index .talleresbicos-home-card img { background:#fff; height:220px; object-fit:contain; }
body#index .talleresbicos-home-card p { color:var(--bicos-copy); }
body#index .talleresbicos-home-card .talleresbicos-home-full { color:#9f3f4e; font-weight:800; }

@media (max-width:767px) {
  body#index .page-home > #carousel,
  body#index .page-home > .bicos-featured-products,
  body#index .page-home > .banner,
  body#index .page-home > #custom-text,
  body#index .page-home > .bicos-google-reviews,
  body#index .page-home > .bicos-home-extra,
  body#index #block-reassurance { width:calc(100% - 20px); }
  body#index .page-home > #carousel { border-radius:18px; margin-bottom:28px; }
  body#index #carousel .caption { bottom:14px; left:14px; padding:15px 16px; }
  body#index #carousel .caption-description,
  body#index #carousel .caption-description p { font-size:14px; }
  body#index #carousel .direction .carousel-control { height:40px; width:40px; }
  body#index #carousel .direction .left { left:9px; }
  body#index #carousel .direction .right { right:9px; }
  body#index .bicos-featured-products { margin-bottom:32px; padding:20px 0; }
  body#index .page-home > .banner,
  body#index .page-home > #custom-text { border-radius:18px; margin-bottom:32px; }
  body#index .page-home > #custom-text { padding:20px 18px; }
  body#index #custom-text p { font-size:16px; }
  body#index #custom-text h1,
  body#index #custom-text h2,
  body#index #custom-text h3 { font-size:clamp(23px,7vw,29px); margin-top:24px; }
  body#index .bicos-home-seo-text { border-radius:18px; margin-top:24px; padding:20px 18px; }
  body#index .bicos-home-seo-text p { font-size:16px; }
  body#index #block-reassurance { margin-bottom:32px; padding:6px 12px; }
  body#index .bicos-google-reviews,
  body#index .bicos-instagram-feed { border-radius:18px; padding:20px 18px; }
  body#index .talleresbicos-home { margin:32px auto; width:calc(100% - 20px); }
  body#index .talleresbicos-home-heading { align-items:flex-start; flex-direction:column; gap:14px; }
  body#index .bicos-products-carousel .product-flags { left:8px; top:8px; }
  body#index .bicos-products-carousel .product-flags li.product-flag { font-size:10px; min-height:28px; padding:6px 8px; }
  body:not(#index) #products .product-flags { left:8px; top:8px; }
  body:not(#index) #products .product-flags li.product-flag { font-size:10px; min-height:28px; padding:6px 8px; }
}

@media (prefers-reduced-motion:reduce) {
  body#index .page-home .banner,
  body#index .page-home .carousel-control { transition:none!important; }
}
/* Mantenimiento: superficie independiente del storefront, compatible con el
 * texto administrable PS_MAINTENANCE_TEXT y los hooks del modo mantenimiento. */
body:has(.bicos-maintenance) {
  background:
    radial-gradient(circle at 9% 15%, rgba(189,233,201,.55), transparent 22rem),
    radial-gradient(circle at 91% 83%, rgba(254,213,217,.62), transparent 24rem),
    #fffdfd;
}

#layout-error:has(.bicos-maintenance) {
  background:transparent;
  box-shadow:none;
  margin:0;
  max-width:none;
  padding:0;
  text-align:initial;
  width:auto;
}

.bicos-maintenance {
  --bicos-copy:#626868;
  --bicos-ink:#505858;
  --bicos-line:rgba(189,233,201,.92);
  --bicos-mint:#bde9c9;
  --bicos-mint-deep:#4c775b;
  --bicos-pink:#fed5d9;
  --bicos-radius:24px;
  --bicos-shadow:0 18px 44px rgba(80,88,88,.11);
  align-content:center;
  box-sizing:border-box;
  display:grid;
  min-height:100vh;
  padding:clamp(20px,5vw,72px);
}

.bicos-maintenance *,
.bicos-maintenance *::before,
.bicos-maintenance *::after { box-sizing:border-box; }

.bicos-maintenance__header,
.bicos-maintenance__content {
  margin-inline:auto;
  max-width:680px;
  text-align:center;
}

.bicos-maintenance__header { margin-bottom:24px; }

.bicos-maintenance__brand {
  display:inline-flex;
  margin-bottom:clamp(26px,4vw,40px);
}

.bicos-maintenance__brand img {
  display:block;
  height:auto;
  max-height:72px;
  max-width:min(240px,62vw);
  width:auto;
}

.bicos-maintenance__hook:empty { display:none; }

.bicos-maintenance__eyebrow {
  color:var(--bicos-mint-deep);
  font-family:Asap,sans-serif;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  margin:0 0 12px;
  text-transform:uppercase;
}

.bicos-maintenance h1 {
  color:var(--bicos-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,6vw,62px);
  font-weight:700;
  line-height:1.03;
  margin:0;
}

.bicos-maintenance__content {
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,255,250,.9));
  border:1px solid var(--bicos-line);
  border-radius:var(--bicos-radius);
  box-shadow:var(--bicos-shadow);
  color:var(--bicos-copy);
  font-family:Asap,sans-serif;
  font-size:17px;
  line-height:1.65;
  padding:clamp(24px,5vw,46px);
}

.bicos-maintenance__message > :first-child { margin-top:0; }
.bicos-maintenance__message > :last-child { margin-bottom:0; }
.bicos-maintenance__message p { margin:0 auto 1em; max-width:52ch; }

.bicos-maintenance__support {
  margin:28px auto 14px;
  max-width:45ch;
}

.bicos-maintenance__action {
  align-items:center;
  background:linear-gradient(135deg,var(--bicos-mint),var(--bicos-pink));
  border:2px solid #fff;
  border-radius:999px;
  box-shadow:0 0 0 1px var(--bicos-line);
  color:var(--bicos-ink);
  display:inline-flex;
  font-family:Asap,sans-serif;
  font-size:14px;
  font-weight:900;
  justify-content:center;
  min-height:48px;
  padding:11px 20px;
  text-decoration:none;
  transition:box-shadow .18s ease,transform .18s ease;
}

.bicos-maintenance__brand:focus-visible,
.bicos-maintenance__action:focus-visible {
  outline:3px solid #315a3f;
  outline-offset:3px;
}

.bicos-maintenance__action:hover,
.bicos-maintenance__action:focus-visible {
  box-shadow:0 8px 18px rgba(80,88,88,.16),0 0 0 1px #85c999;
  color:var(--bicos-ink);
  transform:translateY(-1px);
}

@media (max-width:767px) {
  .bicos-maintenance { padding:20px 14px; }
  .bicos-maintenance__header { margin-bottom:18px; }
  .bicos-maintenance__brand { margin-bottom:28px; }
  .bicos-maintenance__content { border-radius:18px; font-size:16px; padding:26px 19px; }
}

@media (prefers-reduced-motion:reduce) {
  .bicos-maintenance__action { transition:none; }
}

/* BicosShop: patrón común de puntos para toda la superficie de contenidos. */
#wrapper {
  background:radial-gradient(circle at 7px 8px,rgba(241,203,210,.34) 0 2.5px,transparent 3px) 0 0/60px 44px,radial-gradient(circle at 34px 26px,rgba(189,233,201,.38) 0 1.7px,transparent 2.3px) 0 0/60px 44px,radial-gradient(circle at 49px 9px,rgba(247,223,155,.34) 0 2px,transparent 2.6px) 0 0/60px 44px,#fff !important;
}
