/**
 * Moquetas Feriales — adaptación a móvil y tablet (pantallas de menos de 980 px, el ancho fijo de la 1.5).
 * Se carga con media="(max-width: 979px)" (templates/_partials/stylesheets.tpl): en escritorio no se aplica nada y
 * la tienda se ve exactamente como la 1.5. La 1.5 no era adaptable (tenía un tema aparte para móviles); aquí el
 * mismo diseño se reorganiza como lo hace PrestaShop 9: cabecera compacta con botón de menú, una sola columna con
 * el contenido primero y las columnas laterales debajo, listados y ficha de producto apilados, tablas con
 * desplazamiento horizontal y formularios a todo el ancho. En tablet (768-979 px, al final) la columna izquierda
 * se queda al lado del contenido y la derecha pasa debajo.
 */

/* ---------------------------------------------------------------- Estructura */
html, body { min-width: 0 !important; width: auto !important; overflow-x: hidden; }
body { -webkit-text-size-adjust: 100%; font-size: 13px; }
#page, #page.container_9 { width: auto !important; max-width: 100%; margin: 0; padding: 0 10px; box-sizing: border-box; }
#page .grid_1, #page .grid_2, #page .grid_3, #page .grid_4, #page .grid_5, #page .grid_6, #page .grid_7, #page .grid_8, #page .grid_9 {
  float: none; width: auto !important; margin-left: 0; margin-right: 0; display: block;
}
img { max-width: 100%; height: auto; }
iframe, video, embed, object { max-width: 100%; }
.rte table, #center_column table { max-width: 100%; }

#page #columns { display: flex; flex-direction: column; float: none; }
#columns > #center_column { order: 1; width: auto !important; }
#columns > #left_column { order: 2; }
#columns > #right_column { order: 3; }
#left_column, #right_column { width: auto !important; margin-top: 15px; }
#left_column .block, #right_column .block, #left_column .blockadvmulti, #right_column .blockadvmulti { width: auto !important; }
/* banners laterales: dos por fila en lugar de una columna de 200 px */
#left_column .advertising_block, #right_column .advertising_block, #left_column p.advmulti, #right_column p.advmulti,
#left_column #sotewsadds p, #right_column #sotewsadds p { width: auto !important; text-align: center; }

/* ---------------------------------------------------------------- Cabecera */
#page #header { position: relative; height: auto !important; min-height: 0; padding: 8px 0 0; display: flex; flex-wrap: wrap; align-items: center; }
#header_logo { position: static !important; float: none; order: 2; flex: 1 1 auto; margin: 0 8px; padding: 0 !important; text-align: center; }
#header_logo img.logo { width: auto; max-width: 100%; max-height: 50px; height: auto; }
#mf-boton-menu {
  display: block; order: 1; flex: 0 0 auto; width: 42px; height: 38px; padding: 9px 9px; margin: 0;
  border: 1px solid #ccc; border-radius: 3px; background: #fff; cursor: pointer;
}
#mf-boton-menu span { display: block; height: 3px; margin: 0 0 5px; background: #333; border-radius: 1px; }
#mf-boton-menu span:last-child { margin-bottom: 0; }
#header_right { order: 3; position: static !important; float: none; width: 100% !important; height: auto !important; padding: 0 !important; margin: 6px 0 0 !important; display: flex; flex-wrap: wrap; }
#currencies_block_top, #header_links { display: none !important; }
#search_block_top { position: static !important; order: 2; width: 100% !important; margin: 8px 0 0 !important; padding: 0 !important; float: none; }
#search_block_top #searchbox p { display: flex; margin: 0; }
#search_block_top #search_query_top { flex: 1 1 auto; width: auto !important; min-width: 0; height: 32px; box-sizing: border-box; font-size: 16px; }
#search_block_top .button { flex: 0 0 auto; height: 32px; }
#search_block_top label { display: none; }
#header_user { order: 1; position: static !important; float: none; width: 100% !important; margin: 0 !important; display: flex; justify-content: space-between; align-items: center; }
#header_user #header_nav { float: none; order: 2; margin: 0 !important; position: static; }
#header_user #header_user_info { float: none; order: 1; margin: 0 !important; padding: 0 !important; text-align: left; position: static; }
#header_user #your_account { display: none; }
/* desplegable del carrito: a todo el ancho */
#cart_block { width: auto !important; left: 10px !important; right: 10px !important; }

/* Menú superior: oculto hasta pulsar el botón, en vertical */
#header .sf-contener { order: 4; display: none; width: 100% !important; float: none; margin: 8px 0 0; }
body.mf-menu-abierto #header .sf-contener { display: block; }
#header .sf-menu { float: none; width: auto !important; height: auto; background: #3d3d3d; border-radius: 3px; padding: 0; }
#header .sf-menu li { float: none !important; width: auto !important; height: auto !important; position: relative; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .2); background: none !important; }
#header .sf-menu li:last-child { border-bottom: 0; }
#header .sf-menu li a { float: none; display: block; height: auto !important; line-height: 18px !important; text-align: left; padding: 10px 12px !important; color: #fff !important; background: none !important; font-size: 14px; }
#header .sf-menu ul { background: #555; }
#header .sf-menu ul { position: static !important; display: none; width: auto !important; left: auto !important; top: auto !important; visibility: visible !important; }
#header .sf-menu li.mf-sub-abierto > ul { display: block; }
#header .sf-menu ul li a { padding-left: 28px !important; }
#header .sf-menu .mf-sub { position: absolute; right: 0; top: 0; width: 44px; height: 38px; cursor: pointer; }
#header .sf-menu .mf-sub:after { content: ''; position: absolute; right: 17px; top: 13px; width: 7px; height: 7px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
#header .sf-menu li.mf-sub-abierto > .mf-sub:after { transform: rotate(-135deg); top: 17px; }
#header .sf-menu .sf-sub-indicator, #header .sf-menu li.sf-search { display: none; }

/* ---------------------------------------------------------------- Portada */
#center_column .bx-wrapper, #center_column .bx-window { width: 100% !important; }
#center_column .bx-wrapper, #center_column .bx-window, #homeslider, #homeslider li { height: auto !important; }
#homeslider li img { display: block; width: 100%; height: auto; }
#center_column h4 .mf-hueco, #center_column h1 .mf-hueco, #center_column h2 .mf-hueco { display: block; height: 0; overflow: hidden; }
#featured-products_block_center h4 { height: auto !important; line-height: 1.3; padding-top: 6px; padding-bottom: 6px; }
#center_column .bx-pager { position: static; text-align: center; margin: 6px 0; }
#featured-products_block_center .block_content ul li, .products_block ul li.ajax_block_product {
  width: 50% !important; box-sizing: border-box; padding: 0 4px !important; margin: 0 0 12px !important; height: auto !important;
}
#featured-products_block_center .block_content ul li:nth-child(2n+1) { clear: left; }
#featured-products_block_center .block_content ul { display: flex; flex-wrap: wrap; }
/* la 1.5 fija la altura de los bloques de productos (2000 px para 4 por fila): con 2 o 3 por fila se salían por
   debajo y se montaban sobre las columnas laterales */
#center_column .block_content, #center_column .products_block ul, #featured-products_block_center, #featured-products_block_center .block_content, #featured-products_block_center ul { height: auto !important; min-height: 0 !important; overflow: visible; }
#featured-products_block_center .product_image img, .products_block .product_image img { width: 100%; height: auto; }
#featured-products_block_center h5, #featured-products_block_center .product_desc { height: auto !important; }

/* ---------------------------------------------------------------- Listados (categorías, búsqueda...) */
.content_scene_cat .align_center img, #categoryImage { width: 100%; height: auto; }
.content_sortPagiBar .sortPagiBar, .content_sortPagiBar #pagination { float: none; width: auto !important; }
.sortPagiBar form, .sortPagiBar .nbrItemPage { float: none !important; display: block; margin: 6px 0 !important; }
ul.pagination { float: none; display: flex; flex-wrap: wrap; justify-content: center; }
ul.pagination li { margin: 2px; }
ul.pagination li a, ul.pagination li span { padding: 6px 10px; }
#product_list li { height: auto !important; padding: 10px 0 !important; display: flex; flex-wrap: wrap; }
#product_list li .center_block { float: none; width: 100% !important; display: flex; flex-wrap: wrap; padding: 0 !important; }
#product_list li .center_block .product_img_link { float: none; flex: 0 0 110px; margin: 0 10px 0 0 !important; }
#product_list li .center_block .product_img_link img { width: 110px; height: auto; }
#product_list li .center_block h3 { flex: 1 1 0; width: auto !important; margin: 0 !important; padding: 0 !important; }
#product_list li .center_block .product_desc { flex: 1 1 100%; width: auto !important; height: auto !important; margin: 6px 0 0 !important; }
#product_list li .left_block { order: 3; float: none; width: 100% !important; padding: 6px 0 0 !important; margin: 0 !important; }
#product_list li .left_block p.compare { width: auto !important; margin: 0 !important; padding: 0 !important; display: flex; align-items: center; gap: 6px; }
#product_list li .left_block p.compare label { display: inline !important; }
#product_list li .center_block { order: 1; }
#product_list li .right_block { order: 2; }
#product_list li .center_block h3 { align-self: flex-start; }
#product_list li .right_block { float: none; width: 100% !important; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 8px 0 0 !important; text-align: left; }
#product_list li .right_block .content_price { width: auto !important; margin: 0 !important; }
#product_list li .right_block .button { margin: 4px 0 0 !important; }
.bt_compare, #bt_compare { margin: 8px 0; }

/* ---------------------------------------------------------------- Ficha de producto */
#primary_block { display: flex; flex-direction: column; }
#primary_block #pb-right-column, #primary_block #pb-left-column { float: none; width: auto !important; margin: 0 !important; padding: 0 !important; }
#primary_block #pb-left-column { order: 2; margin-top: 12px !important; }
#primary_block #pb-right-column { order: 1; }
#image-block, #image-block #view_full_size { width: auto !important; height: auto !important; }
#image-block img#bigpic { width: 100%; height: auto; }
#views_block, #thumbs_list { width: auto !important; }
#thumbs_list { overflow-x: auto !important; }
#pb-left-column h1 { width: auto !important; }
#buy_block .content_prices, #buy_block .product_attributes { width: auto !important; float: none; }
#buy_block #add_to_cart { float: none; margin: 10px 0 0; }
#buy_block #add_to_cart input.exclusive { width: 100%; height: 40px; font-size: 15px; }
#buy_block select, #buy_block #quantity_wanted { font-size: 16px; max-width: 100%; }
#more_info_tabs { display: flex; flex-wrap: wrap; }
#more_info_tabs li { float: none; }
#more_info_sheets, #more_info_sheets .rte { width: auto !important; }
#more_info_sheets .rte img { height: auto !important; }
#quantityDiscount, #quantityDiscount table, .std, table.std { display: block; width: 100% !important; overflow-x: auto; }
div.zoomdiv { display: none !important; }
#fancybox-wrap { max-width: calc(100vw - 20px); left: 10px !important; }
#fancybox-wrap #fancybox-content, #fancybox-wrap #fancybox-img { max-width: 100%; height: auto !important; }
#fancybox-wrap #fancybox-content { width: auto !important; }

/* ---------------------------------------------------------------- Carrito, pedido y cuenta */
#order_step { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 3px; width: auto !important; height: auto !important; margin: 8px 0 12px !important; padding: 0 !important; background: none !important; }
#order_step li { float: none !important; flex: 1 1 30%; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; background: #eee !important; border: 0 !important; text-align: center; }
#order_step li a, #order_step li span { display: block; height: auto !important; padding: 7px 4px !important; margin: 0 !important; background: none !important; line-height: 1.2 !important; font-size: 11px; font-weight: bold; text-transform: uppercase; color: #777 !important; }
#order_step li.step_done { background: #ddd !important; }
#order_step li.step_done a { color: #333 !important; }
#order_step li.step_current { background: #f9b900 !important; }
#order_step li.step_current span { color: #000 !important; }
/* Carrito: cada producto en una tarjeta (como classic) en lugar de la tabla de 7 columnas */
#order #center_column table#cart_summary, #order #center_column table#cart_summary tbody, #order #center_column table#cart_summary tfoot { display: block; width: 100% !important; overflow: visible; border: 0; }
#order #center_column table#cart_summary { display: flex; flex-direction: column; }
#order table#cart_summary tbody { order: 1; }
#order table#cart_summary tfoot { order: 2; margin-top: 8px; }
#order table#cart_summary thead { display: none; }
#order table#cart_summary tbody tr { display: grid; grid-template-columns: 70px 1fr auto; grid-template-areas: 'img desc del' 'img unit unit' 'img qty total'; gap: 4px 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid #ddd; }
#order table#cart_summary tbody td { display: block; border: 0 !important; padding: 0 !important; background: none !important; width: auto !important; text-align: left; }
#order table#cart_summary td.cart_product { grid-area: img; }
#order table#cart_summary td.cart_product img { width: 70px; height: auto; }
#order table#cart_summary td.cart_description { grid-area: desc; }
#order table#cart_summary td.cart_description h5 { margin: 0; }
#order table#cart_summary td.cart_ref { display: none; }
#order table#cart_summary td.cart_unit { grid-area: unit; }
#order table#cart_summary td.cart_unit:before { content: 'Precio unitario: '; color: #777; }
#order table#cart_summary td.cart_quantity { grid-area: qty; display: flex; align-items: center; gap: 6px; }
#order table#cart_summary td.cart_quantity:before { content: 'Cant.'; color: #777; }
#order table#cart_summary td.cart_quantity .cart_quantity_input { width: 44px; height: 30px; font-size: 16px; text-align: center; }
#order table#cart_summary td.cart_total { grid-area: total; font-weight: bold; text-align: right; }
#order table#cart_summary td.cart_delete { grid-area: del; text-align: right; }
#order table#cart_summary tfoot tr { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; border-bottom: 1px solid #eee; }
#order table#cart_summary tfoot td { display: block; border: 0 !important; background: none !important; padding: 0 !important; width: auto !important; }
#order table#cart_summary tfoot td:empty { display: none; }
#order-list, table.std, .table_block { display: block; width: 100% !important; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cart_navigation { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.cart_navigation .button, .cart_navigation .exclusive, .cart_navigation .exclusive_large { float: none !important; margin: 0 !important; }
#create-account_form, #login_form, #authentication #center_column .std, .account_creation, #new_account_form,
.address, ul.address, #address_delivery, #address_invoice, .addresses ul.address, #order .address { float: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
#center_column form.std fieldset, #center_column form fieldset { width: auto !important; }
#center_column form p.text, #center_column form p.password, #center_column form p.select, #center_column form p.textarea, #center_column form p.radio { padding-left: 0 !important; }
#center_column form p label { float: none !important; display: block; width: auto !important; text-align: left !important; padding: 0 0 3px !important; }
#center_column form input[type=text], #center_column form input[type=password], #center_column form input[type=email], #center_column form input[type=tel], #center_column form textarea, #center_column form select:not([name^=days]):not([name^=months]):not([name^=years]) {
  width: 100% !important; max-width: 100%; box-sizing: border-box; font-size: 16px;
}
#center_column form p.checkbox label, #center_column form p.radio label { display: inline; }
.myaccount_lnk_list, #my-account ul.myaccount_lnk_list li { width: auto !important; float: none; }
#history #order-list td, #history #order-list th { white-space: nowrap; }
#carrierTable, #opc_payment_methods, #HOOK_PAYMENT, .payment_module { width: auto !important; }
.payment_module a { display: block; height: auto !important; }
#comparator, table#product_comparison { display: block; overflow-x: auto; }

/* ---------------------------------------------------------------- Pie */
#page #footer { height: auto !important; padding: 10px 0 !important; }
#footer .block, #footer .block_various_links, #footer #block_contact_infos, #footer .myaccount { float: none !important; width: auto !important; margin: 0 0 12px !important; padding: 0 5px !important; }
#footer .block h4, #footer .block_various_links h4, #footer #block_contact_infos h4 { width: auto !important; }
#footer .block ul, #footer .block_various_links ul, #footer #block_contact_infos ul, #footer .block_content { width: auto !important; }
#reinsurance_block ul li { width: 50% !important; box-sizing: border-box; }
#reinsurance_block ul li:nth-child(2n+1) { clear: left; }

/* ---------------------------------------------------------------- Pantallas medianas (576-979 px) */
@media (min-width: 576px) {
  #featured-products_block_center .block_content ul li, .products_block ul li.ajax_block_product { width: 33.333% !important; }
  #reinsurance_block ul li { width: 33.333% !important; }
  #footer .block, #footer .block_various_links, #footer #block_contact_infos, #footer .myaccount { float: left !important; width: 33.333% !important; box-sizing: border-box; }
  #primary_block { display: block; }
  #primary_block #pb-right-column { float: left; width: 45% !important; }
  #primary_block #pb-left-column { float: right; width: 52% !important; margin-top: 0 !important; }
}

/* ---------------------------------------------------------------- Tablet (768-979 px): columna izquierda al lado */
@media (min-width: 768px) {
  #page #columns { display: grid; grid-template-columns: 200px minmax(0, 1fr); column-gap: 15px; align-items: start; }
  #columns > #left_column { grid-column: 1; grid-row: 1 / span 2; margin-top: 0; }
  #columns > #center_column { grid-column: 2; grid-row: 1; }
  #columns > #right_column { grid-column: 2; grid-row: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 15px; align-items: start; }
  #right_column > .block { grid-column: 1 / -1; }
}
