.elementor-1229 .elementor-element.elementor-element-34067e1{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:60px 60px;--row-gap:60px;--column-gap:60px;--padding-top:60px;--padding-bottom:60px;--padding-left:60px;--padding-right:60px;}.elementor-1229 .elementor-element.elementor-element-34067e1:not(.elementor-motion-effects-element-type-background), .elementor-1229 .elementor-element.elementor-element-34067e1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F6F5;}.elementor-1229 .elementor-element.elementor-element-6ab434c .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:42px;font-weight:500;letter-spacing:0px;color:var( --e-global-color-5fa809f );}.elementor-1229 .elementor-element.elementor-element-2ac876b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-1229 .elementor-element.elementor-element-2ac876b{--width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-57f2801 *//* =====================================================
   GRID
===================================================== */
.libreria-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px;
}


.libro-card {
    text-decoration: none;
    color: inherit;
}

.libro-card img {
    width: 100%;
    aspect-ratio: 0.68;
    object-fit: cover;
    display: block;
}

.libro-card h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    color: #75160D;
    margin-top: 16px;
    margin-bottom: 4px;
}

.libro-card .autor {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #75160D;
    margin-bottom: 8px;
}

.libro-card .precio {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 500;
    color: #9A9A9A;
}


/* PAGINACIÓN */
.libreria-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 60px;
}

.libreria-pagination a,
.libreria-pagination .page-dots {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: .2s ease;
}

.libreria-pagination a.page-numbers {
    background: #75160D;
    color: #fff;
    border: 1px solid rgba(255,255,255,.2);
}

.libreria-pagination a.page-numbers:hover {
    transform: translateY(-2px);
}

.libreria-pagination a.page-numbers.current {
    background: #fff;
    color: #75160D;
    border: 1px solid #75160D;
}

.libreria-pagination .page-prev,
.libreria-pagination .page-next {
    background: none;
    color: #75160D;
    border: 1px solid #75160D;
    font-size: 18px;
}

.libreria-pagination .page-prev:hover,
.libreria-pagination .page-next:hover {
    background: #75160D;
    color: #fff;
    transform: none;
}

.libreria-pagination .page-dots {
    color: #75160D;
    width: auto;
    padding: 0 4px;
}

/* =====================================================
   FILTROS
===================================================== */
.catalogo-filtros {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 60px;
    margin-bottom: 32px;
}

.catalogo-search {
    position: relative;
    flex: none;
}

.catalogo-search input {
    width: 300px;
    height: 42px;
    border: 1px solid #75160D;
    border-radius: 8px;
    background-color: #fff;
    background-image: url('https://libreriadelarama.com/wp-content/uploads/2026/06/Recurso-1lupita_.svg');
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    padding: 0 42px 0 14px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    outline: none;
}

.catalogo-search input::placeholder {
    color: #75160D;
    opacity: .6;
}

.catalogo-search input:focus {
    border-color: #75160D;
}

.catalogo-filter-btn {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    color: #75160D;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    cursor: pointer;
    padding: 0 0 2px 0;
}

.catalogo-filter-btn::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background: #75160D;
    transition: width .25s ease;
}

.catalogo-filter-btn:hover::after {
    width: 100%;
}

/* =====================================================
   DROPDOWN CONTENEDOR
===================================================== */
#catalogo-dropdown {
    display: none;
    background: #F9F6F5;
    border-top: 1px solid #D9C7C7;
    border-bottom: 1px solid #D9C7C7;
    padding: 32px 48px;
    margin-bottom: 40px;
    width: 100%;
    box-sizing: border-box;
}

/* =====================================================
   DROPDOWN GRIDS
===================================================== */
.dropdown-categorias {
    display: none;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 48px;
    align-items: start;
}

.dropdown-categorias[data-dropdown="autor"],
.dropdown-categorias[data-dropdown="editorial"] {
    gap: 12px 48px;
}

/* =====================================================
   GRUPOS DE CATEGORÍAS
===================================================== */
.dropdown-grupo {
    padding: 12px 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.dropdown-grupo-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

/* =====================================================
   LABELS CON CHECKBOX
===================================================== */
.dropdown-item-check {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #75160D;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    flex: 1;
}

.dropdown-item-check input[type="checkbox"] {
    accent-color: #75160D;
    width: 15px;
    height: 15px;
    cursor: pointer;
    flex-shrink: 0;
}

/* =====================================================
   BOTÓN + PARA ABRIR HIJOS
===================================================== */
.dropdown-toggle-hijos {
    background: none;
    border: none;
    color: #75160D;
    font-size: 16px;
    font-weight: 300;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    flex-shrink: 0;
    width: 20px;
    text-align: center;
}

/* =====================================================
   HIJOS
===================================================== */
.dropdown-hijos {
    margin-top: 8px;
    padding-left: 0;
    flex-direction: column;
    gap: 0;
}

.dropdown-item-hijo {
    font-size: 14px;
    font-weight: 400;
    border-bottom: 1px solid #D9C7C7;
    padding: 8px 0;
}

.dropdown-item-hijo input[type="checkbox"] {
    width: 13px;
    height: 13px;
}

/* =====================================================
   AUTORES Y EDITORIALES CON SUBRAYADO
===================================================== */
.dropdown-categorias[data-dropdown="autor"] .dropdown-item-check,
.dropdown-categorias[data-dropdown="editorial"] .dropdown-item-check {
    font-weight: 400;
    border-bottom: 1px solid #D9C7C7;
    padding-bottom: 8px;
}

/* =====================================================
   OCULTOS Y VER MÁS
===================================================== */
.dropdown-item-oculto {
    display: none !important;
}

.dropdown-ver-mas {
    grid-column: 1 / -1;
    background: none;
    border: none;
    color: #75160D;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    cursor: pointer;
    padding: 8px 0;
    text-decoration: underline;
    text-align: left;
}


/* Botón activo — solo subrayado, sin relleno */
.catalogo-filter-btn.activo {
    text-decoration: underline;
    background: none !important;
    color: #75160D !important;
}

/* Ver todos — sin subrayado base, subrayado en hover */
.dropdown-ver-mas {
    grid-column: 1 / -1;
    background: none;
    border: none;
    color: #75160D;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    cursor: pointer;
    padding: 8px 0;
    text-decoration: none;
    text-align: left;
}

.dropdown-ver-mas:hover {
    text-decoration: underline;
}

.catalogo-filter-btn:focus,
.catalogo-filter-btn:active {
    background: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: #75160D !important;
}


.catalogo-filtros button.catalogo-filter-btn,
.catalogo-filtros button.catalogo-filter-btn:hover,
.catalogo-filtros button.catalogo-filter-btn:focus,
.catalogo-filtros button.catalogo-filter-btn:active,
.catalogo-filtros button.catalogo-filter-btn:visited {
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    border: none !important;
    color: #75160D !important;
    text-decoration: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}


/* PRECIO */
.dropdown-categorias[data-dropdown="precio"] {
    display: none;
    grid-template-columns: 1fr;
}

.dropdown-precio {
    display: flex;
    align-items: flex-end;
    gap: 24px;
}

.precio-input-grupo {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.precio-input-grupo label {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    color: #75160D;
    font-weight: 500;
}

.precio-input-grupo input {
    width: 180px;
    height: 42px;
    border: 1px solid #75160D;
    border-radius: 8px;
    padding: 0 14px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    color: #75160D;
    outline: none;
    background: #fff;
}

.precio-input-grupo input::placeholder {
    color: #75160D;
    opacity: .4;
}

.precio-separador {
    color: #75160D;
    font-size: 18px;
    padding-bottom: 10px;
}

#precio-aplicar {
    height: 42px;
    padding: 0 24px;
    background: #75160D;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    cursor: pointer;
    transition: opacity .2s;
}

#precio-aplicar:hover {
    opacity: .85;
}


/* MODAL ORDENAR POR */
#modal-orden {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
}

.modal-orden-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.3);
}

.modal-orden-panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    height: 100%;
    background: #fff;
    padding: 40px 32px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.modal-orden-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #75160D;
}

.modal-orden-cerrar {
    background: none;
    border: none;
    color: #75160D;
    font-size: 18px;
    cursor: pointer;
    padding: 0;
}

.modal-orden-opciones {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.modal-orden-opciones label {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    color: #75160D;
    cursor: pointer;
    border-bottom: 1px solid #D9C7C7;
    padding-bottom: 16px;
}

.modal-orden-opciones input[type="radio"] {
    accent-color: #75160D;
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
}


.modal-orden-panel {
    padding: 48px 40px;
    gap: 32px;
}

.modal-orden-header span {
    font-size: 20px;
    font-weight: 600;
}

.modal-orden-opciones {
    gap: 0;
}

.modal-orden-opciones label {
    border-bottom: none;
    padding: 14px 0;
    gap: 14px;
    font-size: 15px;
}

/* Reemplazar círculos por cuadrados */
.modal-orden-opciones input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 15px;
    height: 15px;
    border: 1px solid #75160D;
    border-radius: 0;
    background: #fff;
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
}

.modal-orden-opciones input[type="radio"]:checked {
    background: #75160D;
}

.modal-orden-opciones input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 5px;
    width: 4px;
    height: 8px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}/* End custom CSS */