/* ==========================================================================
   ESTILOS EXCLUSIVOS PARA ORDENADOR (ESCRITORIO)
   ========================================================================== */
@media (min-width: 992px) {
}
/* ==========================================================================
   CAMBIO TOTAL DE COLOR GLOBAL: TU AZUL CORPORATIVO (#235188)
   ========================================================================== */

/* 1. Forzar variables en la raíz para elementos que dependan de ellas */
:root, [data-bs-theme="light"], [data-bs-theme="dark"] {
    --bs-primary: #235188 !important;
    --bs-primary-rgb: 35, 81, 136 !important;
    --bs-primary-bg-subtle: #e9eff6 !important;
    --bs-link-color: #235188 !important;
    --bs-link-hover-color: #193c66 !important;
}

/* 2. El "plumazo" para TODOS los botones primarios de la web (incluyendo comentarios) */
.btn-primary, 
button[type="submit"].btn,
.post-comment-buttons .btn,
#product-comments-list button {
    background-color: #235188 !important;
    border-color: #235188 !important;
    color: #ffffff !important;
}

/* 3. El efecto al pasar el ratón (Hover) y estados activos de TODOS los botones */
.btn-primary:hover, 
.btn-primary:focus, 
.btn-primary:active,
button[type="submit"].btn:hover,
.post-comment-buttons .btn:hover,
#product-comments-list button:hover {
    background-color: #193c66 !important; /* Tu azul corporativo un poco más oscuro */
    border-color: #193c66 !important;
    color: #ffffff !important;
}
/* ==========================================================================
   CAMBIO TOTAL: BOTONES CON FONDO BLANCO A TU AZUL (#235188)
   ========================================================================== */

/* 1. Estado normal: Fondo blanco, texto y borde con tu azul corporativo */
.btn-outline-primary,
.btn-secondary,
.page-product #product-comments-list .btn-secondary,
.product-actions .btn-outline-secondary {
    background-color: #ffffff !important;
    border-color: #235188 !important;
    color: #235188 !important;
}

/* 2. Efecto Hover: Al pasar el ratón se rellenan con tu azul y el texto pasa a blanco */
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-secondary:hover,
.page-product #product-comments-list .btn-secondary:hover,
.product-actions .btn-outline-secondary:hover {
    background-color: #235188 !important;
    border-color: #235188 !important;
    color: #ffffff !important;
}
body {
    background-color: #fafafa;
	color: #777;
}
a {
	color: #235188;
}
.product-flags .badge.discount, .product-flags .badge:not(.discount) {
    border: 1px solid #8d1a5b;
}
/* === FORZAR NEGRITA EN LOS TÍTULOS DE LOS PRODUCTOS === */
.product-miniature__title,
a.product-miniature__title,
.product-miniature__title-link {
    font-weight: bold !important;
    margin-bottom:	0rem;
    line-height: 1rem;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
}
.product-miniature__description_short {
    margin-bottom: 1rem;
    color: #7b7b7b;
    line-height: 1rem;
    font-size: smaller;
}
.product-miniature___variants {
    font-size: 12px;
    font-weight: bolder;
    margin: 1px 0 1px 0;
    color: #235188;
}
/* ==========================================================================
   MINIATURAS: PRECIO VERDE CENTRADO Y PRECIO ANTIGUO OCULTO
   ========================================================================== */

/* 1. Tu regla original para el precio verde (Volvemos al centrado clásico) */
.product-miniature .product-miniature__price {
    color: #008b00;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    margin: 0 auto !important;
}

/* 2. Ocultamos el precio antiguo usando su clase real */
.product-miniature .product-miniature__regular-price {
    display: none !important;
}

.btn-outline-primary mt-3 {
    display: none;
}
.layout-full-width .products {
    grid-template-columns: repeat(5,minmax(0,1fr));
}
#wrapper {
    background-image: url(../../../../img/drops/flowerstop.webp), url(../../../../img/drops/fondosin.webp);
    background-position: left top, left bottom;
    background-repeat: repeat-x, repeat;
}

.col-xl-2 {
    flex: 0 0 auto;
    width: 100%;
}

.blockreassurance--light {
    background-color: #deebf7;
    padding-top: 5px;
    font-family: Noto Sans, sans-serif;
    font-size: 1.0rem;
}
.header-top {
    background-color: #235188;
}
#header .ps-contactinfo a {
    color: #f9f4c9;
}
.header-block__icon {
    font-size: 1.75rem;
    color: #f9f4c9;
}
.header-block__action-btn {
    color: #f9f4c9;
}
.header-block__action-btn[href]:focus, .header-block__action-btn[href]:hover {
    color: #d5e3fc;
}
.header-block__badge {
    color: #235188;
}
.header-bottom .navbar-brand .logo {
    max-width: 320px !important;  /* Pon aquí la misma medida que arriba */
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
}
    /* === QUITAR FONDO AZULADO DEL LOGO === */
    .header-logo,
    .header-logo a,
    #_desktop_logo,
    #_desktop_logo a,
    .shop-logo {
        background: #ffffff !important;   /* Fuerza a que el fondo sea transparente */
        background-color: #ffffff !important;
        box-shadow: none !important;          /* Elimina sombras azuladas si las hubiera */
        border: none !important;              /* Elimina posibles bordes residuales */
    }

    /* Evita que se vuelva azul al pasar el ratón por encima (hover) o al hacer clic (focus) */
    .header-logo a:hover, 
    .header-logo a:focus,
    #_desktop_logo a:hover,
    #_desktop_logo a:focus {
        background: #ffffff !important;
        background-color: #ffffff !important;
        outline: none !important;
    }
.header-bottom {
    border-bottom: none;
    background-color: #fafafa;
}
.header-menu-horizontal {
    background-color: #F7E991;
}
.ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree>li .ps-mainmenu__tree-link {
    color: #235188;
    font-weight: bold;
    background-color: #cdc27a;
    margin-top: 20px;
    padding-top: 6px;
    padding-bottom: 6px;
    text-shadow: 1px 1px rgba(255, 255, 255, 0.75);
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3);
}
.ps-mainmenu:is(.ps-mainmenu--desktop) {
    display: flex;
    justify-content: center;
}
.page-item .page-link {
    color: #235188;
}
.h1, .h2, .h3 {
    color: #656565;
}
.col-xl-3 {
	width: 16%;
}
.btn btn-basic {
    background-color: #fff;
    border-color: #235188;
    color: #235188;
}
#left-column {
    --left-block-title-color: #656565;
    --left-block-title-size: 2rem;
    --left-block-subtitle-size: 2rem;
	--left-block-subtitle-color: #656565;
	font-family: Dancing Script;
}
.accordion-button.collapsed {
    color: white;
	font-size: 1rem;
	font-family: sans-serif;
	background-color: #afadad;
	padding-left: 1rem;
}
.search-filters__link {
    font-size: 1rem;
    font-family: sans-serif;
}
.products__count {
    color: rgb(69 69 70 / 75%);
}
.center-column .products,
#center-column .products {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
.products__sort-dropdown-button {
    background-color: #e2e2e0;
    border-color: #3c3c3c;
    color: #3c3c3c;
}
/* ==========================================================================
   DESACTIVAR EL BOTÓN "VER MÁS DETALLES" EN LAS MINIATURAS DEL CATÁLOGO
   ========================================================================== */
a.btn.btn-outline-primary.mt-3 {
    display: none !important;
}
.alert-danger {
    --bs-alert-bg: #dcd6f1;
    --bs-alert-border-color: none;
}
.email-subscription {
	background-color: #fbf2da;
	padding: 2.5rem 1rem;
}
.email-subscription .email-subscription__label {
	color: #888;
	font-size: 1.1rem;
	line-height: 1.5rem;
}
.py-4 {
	padding-bottom: 1rem !important;
}
.p-4 {
	padding: .5rem !important;
}
.header-block__action-btn {
	color: #fff;
}
.header-block--active .header-block__icon {
	color: #fbc72b;
}
.rich-text .h2, .rich-text h2 {
	color: #848484;
}
.detail {
	padding: initial;
}
/*******************************
             FOOTER
********************************/

/*
 Kit Digital
*/
.footer .footer__main {
	background: #235188;
	padding-bottom: .5rem;
	padding-top: 1rem;
}
#footer .kit-digital {
    text-align: center;
    margin: 30px 0;
}

#footer .kit-digital img {
    max-width: 100%;
}
.block-category #category-description {
	display: none;
}
html body .bg-body-tertiary {
    --bs-bg-opacity: 1 !important;
    --bs-tertiary-bg-rgb: 253, 252, 224 !important; /* El equivalente numérico de tu rgb(253 252 224) */
    background-color: rgb(253 252 224) !important;
}
.footer-block a {
    color: #fff;
    padding: 0px;
}
#left-column.col-lg-3 {
    flex: 0 0 auto !important;
    width: 16.667% !important;
}

#center-column.col-lg-9 {
    flex: 0 0 auto !important;
    width: 83.333% !important;
}
/*******************************
          PRODUCT PAGE
********************************/

/*
 Product Tabs
*/

#product-infos-accordion {
    margin-top: 20px;
}
/*
.page-product .product__variants .variant {
	display: none;
}*/
.thumbnails__container .thumbnail:not(:last-child) {
	display: none;
}
.accordion-item__headers {
    display: flex;
    flex-flow: wrap;
    gap: 0 0px;
    margin-bottom: 0px;
}
.page-product .product__infos .accordion-button {
	display: flex;
	gap: 10px;
	border-bottom: none;
	border-radius: 8px 8px 0px 0px !important;
	color: white;
	padding: 10px;
}
.accordion-button:not(.collapsed) {
    background-color: #235188;
    font-size: medium;
    color: white;
}
.rich-text p, .rich-text ul {
	font-size: .85rem;
}
.rich-text {
	line-height: initial;
}
.rich-text ul {
	list-style type: circle;
	color: gray;
}
.rich-text h4, {
	color: #888;
	font-weight: 700;
}
.h4 {
	color: #656565;
	text-shadow: 1px 1px rgba(255, 255, 255, 0.5);
	margin-bottom: 1rem;
	font-size: xxx-large;
}
.page-product .product__discount-price {
    color: #8d1a5b;
    font-size: 1rem;
    font-weight: bold;
}
.page-product .product__discount-amount.text-primary-emphasis {
    --bs-primary-text-emphasis: #8d1a5b !important;
    color: #8d1a5b !important;
}
.page-product span.product__price, 
.page-product div.product__price, 
.page-product .product__price {
    font-size: 1.8rem !important;
    color: #2f8fd2 !important;
    text-shadow: 1px 1px rgba(255, 255, 255, 0.5);
}
/* Botón de añadir comentarios con tu azul corporativo */
.page-product #product-comments-list .btn-primary,
.page-product #product-comments-list button,
.page-product .post-comment-buttons .btn {
    background-color: #235188 !important;
    border-color: #235188 !important;
    color: #ffffff !important; /* Texto blanco para una lectura clara */
}

/* Efecto al pasar el ratón (Hover) */
.page-product #product-comments-list .btn-primary:hover,
.page-product #product-comments-list button:hover,
.page-product .post-comment-buttons .btn:hover {
    background-color: #193c66 !important;
    border-color: #193c66 !important;
    color: #ffffff !important;
}
/* ==========================================================================
   OCULTAR POR COMPLETO EL ACORDEÓN DE DETALLES DEL PRODUCTO
   ========================================================================== */
/* 1. Ocultamos el botón o cabecera del acordeón */
.product-tabs #product-details-heading,
#product-details-heading,
button[data-bs-target="#product-details-collapse"] {
    display: none !important;
}

/* 2. Ocultamos el bloque que contiene la información interna por seguridad */
#product-details-collapse,
.info.accordion-item#details {
    display: none !important;
}
/* ==========================================================================
   OCULTAR POR COMPLETO EL BLOQUE DE CARACTERÍSTICAS DEL PRODUCTO
   ========================================================================== */
/* 1. Ocultamos el botón o pestaña de características */
.product-tabs #product-features-heading,
#product-features-heading,
button[data-bs-target="#product-features-collapse"],
.nav-link[href*="product-features"] {
    display: none !important;
}

/* 2. Ocultamos el contenedor con la tabla interna de características */
#product-features-collapse,
.product-features,
.info.accordion-item#features {
    display: none !important;
}
/*******************************
     ORDER PAGE
********************************/
.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
	color: #235188;
}
.col-form-label, .form-label {
	color: #6A6A6A;
	font-size: small;
}
/* === ELIMINAR RESIDUOS DEL FONDO OSCURO DEL CARRITO (MÓVIL Y ESCRITORIO) === */
.modal-backdrop, 
.offcanvas-backdrop,
[class*="backdrop"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Forzar que el scroll siga funcionando siempre en los teléfonos */
html, body {
    overflow: auto !important;
    height: auto !important;
}

@media (max-width: 768px) {
.center-column .products, #center-column .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
    .header-block__icon {
    font-size: 1.75rem;
    color: #235188;
}
}
@media (max-width: 575px) {
     .pe-3 {
	color: white;
}
.header-block__badge {
    color: white;
}
.center-column .products, #center-column .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.product-miniature__description_short {
    margin-bottom: 1rem;
    color: #7b7b7b;
    line-height: 1rem;
    font-size: smaller;
}
}

/*******************************
     MODULE - COMBINATIONS
********************************/
/* Card lines:
   1) reference + colour
   2) quantity + availability
   3) price
   4) qty input + add to cart
*/
#ct_matrix .ctd_image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}
#ct_matrix .ctd_image img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}
#ct_matrix thead {
    display: flex;
    justify-content: flex-end;
}

#ct_matrix .ct_matrix_head {
    background: none;
}

#ct_matrix thead th {
    padding: 10px 20px 10px 10px;
    background-position: right 5px center;
    font-size: 13px;
}

#ct_matrix thead th:hover {
    background-color: #f1f1f1;
}

#ct_matrix thead cth_title {
    background: none!important;
    border: 0;
    padding: 0 15px 0 0;
    font-size: 14px;
    font-weight: normal;
    cursor: default;
}

#ct_matrix tbody {
    display: flex;
    flex-flow: wrap;
    overflow: hidden;
}

#ct_matrix tbody tr.ct_matrix_row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    align-items: center;
    column-gap: 4px;
    row-gap: 2px;
    padding: 6px 4px;
    border: 1px solid #dadada;
    width: 12%;
    box-sizing: border-box;
    font-family: Arial;
    color: #5B5B5B;
    text-align: center;
}

#ct_matrix tbody tr td {
    padding: 1px;
    border: 0!important;
    box-sizing: border-box;
    width: auto;
}

#ct_matrix .ctd_rowbreak {
    flex: 0 0 100%;
    width: 100% !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden;
    pointer-events: none;
}

#ct_matrix .ctd_image,
#ct_matrix .ctd_price,
#ct_matrix .ctd_addtocart {
    flex: 0 0 100%;
    width: 100%;
    height: auto;
}

#ct_matrix .ctd_reference,
#ct_matrix tbody tr td[class*="ctd_attr_group_"]:not(.ctd_attr_group_price),
#ct_matrix .ctd_quantity,
#ct_matrix .ctd_availability {
    flex: 0 0 auto;
    white-space: nowrap;
}

#ct_matrix .ctd_price {
    text-align: center;
}

#ct_matrix .ctd_addtocart {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 4px;
    min-height: 28px;
}

/* Kill module margin that misaligns qty vs button */
#ct_matrix .ctd_addtocart .qty,
#ct_matrix .ctd_addtocart input.qty {
    margin: 0 !important;
    height: 28px !important;
    width: 32px !important;
    min-height: 28px;
    padding: 0 2px !important;
    line-height: 26px !important;
    box-sizing: border-box;
    vertical-align: middle;
    align-self: center;
}

/*#ct_matrix .ctd_addtocart .ct_submit {
    margin: 0 !important;
    height: 28px !important;
    min-height: 28px;
    padding: 0 6px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    align-self: center;
    white-space: nowrap;
}*/
/* 1. Tu botón contenedor de 32px seguro para JavaScript */
#ct_matrix .ctd_addtocart .ct_submit {
    margin: 0 !important;
    height: 32px !important;       
    width: 32px !important;        
    min-height: 32px !important;
    padding: 0 !important;         
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    align-self: center;
    white-space: nowrap;
    position: relative;            
    
    /* Hacemos transparente el texto directo del botón */
    color: transparent !important; 
}

/* 2. NUEVO: Forzamos a que CUALQUIER texto o etiqueta interna (span, etc.) sea invisible */
#ct_matrix .ctd_addtocart .ct_submit * {
    color: transparent !important;
    font-size: 0 !important;
    display: none !important; /* Si hay un span con el texto, lo ocultamos para que no tape el icono */
}

/* 3. Inyectamos el icono flotando exactamente en el centro y asegurando su visibilidad */
#ct_matrix .ctd_addtocart .ct_submit::before {
    content: "shopping_cart" !important; 
    font-family: "Material Icons" !important; 
    font-size: 18px !important;    
    color: #ffffff !important;     /* Modifica este color si el fondo de tu botón es claro */
    
    /* Centrado absoluto */
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    
    /* Forzamos que se muestre sí o sí ignorando la regla número 2 */
    display: inline-block !important;
    line-height: 1 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    white-space: nowrap !important;
    direction: ltr !important;
}

#ct_matrix .ctd_addtocart .ct_submit {
    margin: 0 !important;
    height: 28px !important;
    min-height: 28px;
    padding: 0 6px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    align-self: center;
    white-space: nowrap;
}
#ct_matrix .ctd_space,
#ct_matrix .ctd_position,
#ct_matrix td.ctd_space,
#ct_matrix td.ctd_position {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

#ct_matrix .qty {
	border: 1px solid;
	border-color: #b6b0b0;
}
/*#ct_matrix .qty {
    width: 85px;
    height: 23px;
    margin-bottom: 10px;
    margin-top: 2px;
}*/
#ct_matrix td.ctd_price,
#ct_matrix td[class*="price"],
#ct_matrix td.ct_price {
    color: #008b00;
}
#ct_matrix .ct_submit {
	padding: 1px 2px 1px 2px;
	cursor: pointer;
	text-transform: uppercase;
	font-size: smaller;
	font-weight: bold;
}

/* Tablet: 4 columns */
@media (max-width: 991.98px) {
    #ct_matrix tbody tr.ct_matrix_row {
        width: 25%;
    }
}

/* Narrow tablet / phone: 1 column */
@media (max-width: 767.98px) {
    table#ct_matrix,
    table#ct_matrix tbody {
        display: flex !important;
        flex-flow: wrap !important;
        width: 100% !important;
    }

    table#ct_matrix thead {
        display: none !important;
    }

    table#ct_matrix tbody tr.ct_matrix_row {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        align-content: flex-start !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 6px 4px !important;
        border: 1px solid #dadada !important;
        border-radius: 0 !important;
        clear: none !important;
        float: none !important;
        text-align: center;
    }

    table#ct_matrix tbody tr.ct_matrix_row > td {
        display: block !important;
        width: auto !important;
        max-width: 100%;
        clear: none !important;
        float: none !important;
        text-align: center !important;
        border: 0 !important;
        position: static !important;
        padding: 1px !important;
    }

    table#ct_matrix tbody tr.ct_matrix_row > td.ctd_rowbreak {
        flex: 0 0 100% !important;
        width: 100% !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    table#ct_matrix tbody tr.ct_matrix_row > td.ctd_space,
    table#ct_matrix tbody tr.ct_matrix_row > td.ctd_position {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    table#ct_matrix tbody tr.ct_matrix_row > td:before {
        content: none !important;
        display: none !important;
        width: 0 !important;
    }

    #ct_matrix .ctd_image,
    #ct_matrix .ctd_price,
    #ct_matrix .ctd_addtocart {
        flex: 0 0 100% !important;
        width: 100% !important;
    }

    #ct_matrix .ctd_reference,
    #ct_matrix tbody tr td[class*="ctd_attr_group_"]:not(.ctd_attr_group_price),
    #ct_matrix .ctd_quantity,
    #ct_matrix .ctd_availability {
        flex: 0 0 auto !important;
        width: auto !important;
        white-space: nowrap;
    }

    #ct_matrix .ctd_addtocart {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 4px;
    }

    #ct_matrix .ctd_addtocart .qty,
    #ct_matrix .ctd_addtocart input.qty,
    #ct_matrix .ctd_addtocart .ct_submit {
        margin: 0 !important;
        height: 28px !important;
        align-self: center !important;
    }

    #ct_matrix .ct_submit {
        font-size: 9px;
        padding: 0 4px !important;
    }
}

/* Phone: 3 column */
@media (max-width: 575.98px) {
    table#ct_matrix tbody tr.ct_matrix_row {
        width: 33.333% !important;
    }

    #ct_matrix .ctd_reference,
    #ct_matrix tbody tr td[class*="ctd_attr_group_"]:not(.ctd_attr_group_price),
    #ct_matrix .ctd_quantity,
    #ct_matrix .ctd_availability {
        white-space: normal;
        max-width: 100%;
    }
}

/* Very small: keep 1 column */
@media (max-width: 380px) {
    table#ct_matrix tbody tr.ct_matrix_row {
        width: 33.333% !important;
    }
}