.catalogo-layout { max-width:1360px; margin:32px auto 54px; padding:0 28px; display:grid; grid-template-columns:260px 1fr; gap:30px; align-items:start; }
.contenido-catalogo { min-width:0; }
.sidebar { background:#fff; border:1px solid var(--borde); border-radius:var(--radio); padding:22px; position:sticky; top:150px; }
.sidebar-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.sidebar h3 { font:800 20px Manrope,sans-serif; }
.filter-close { display:none; border:0; background:none; font-size:24px; }
.categoria-btn,.subcategoria-btn { width:100%; border:0; background:transparent; text-align:left; padding:10px 12px; border-radius:9px; color:var(--texto); cursor:pointer; transition:.15s; }
.categoria-btn { font-weight:700; }
.categoria-btn:hover,.categoria-btn.activa,.subcategoria-btn:hover,.subcategoria-btn.activa { color:var(--vino); background:#f8edf0; }
.lista-subcategorias { border-top:1px solid var(--borde); margin-top:14px; padding-top:14px; }
.lista-subcategorias h4 { font-size:13px; text-transform:uppercase; letter-spacing:.7px; margin:0 0 7px 10px; color:#83777c; }
.filter-price { border-top:1px solid var(--borde); margin-top:18px; padding-top:18px; }
.filter-price label { display:block; font-weight:700; margin-bottom:10px; }
.price-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.price-fields input { width:100%; border:1px solid var(--borde); border-radius:9px; padding:10px; }
.catalogo-header { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }
.catalogo-header h1 { font:800 clamp(29px,3vw,40px) Manrope,sans-serif; letter-spacing:-1px; }
.catalogo-header p { color:var(--texto); }
.catalogo-tools { display:flex; gap:10px; }
.catalogo-tools select,.filter-open { height:44px; border:1px solid var(--borde); border-radius:10px; padding:0 13px; background:#fff; color:var(--tinta); }
.filter-open { display:none; cursor:pointer; font-weight:700; }
.filtro-activo { display:inline-flex; align-items:center; gap:7px; border:0; border-radius:99px; padding:8px 12px; background:#f4e5e9; color:var(--vino); margin-bottom:18px; font-weight:700; cursor:pointer; }
.subcategory-showcase { margin:-2px 0 28px; animation:subcategoriasEntrada .28s ease; }
.subcategory-showcase-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.subcategory-showcase-header h2 { font:800 20px Manrope,sans-serif; }
.subcategory-scroll-actions { display:flex; gap:7px; }
.subcategory-scroll-actions button { width:36px; height:36px; border:1px solid var(--borde); border-radius:50%; background:#fff; cursor:pointer; font-size:20px; }
.subcategory-scroll { display:flex; gap:12px; overflow-x:auto; padding:2px 2px 10px; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#d6cdd0 transparent; }
.subcategory-card { flex:0 0 150px; min-height:92px; border:1px solid var(--borde); border-radius:15px; padding:16px; background:linear-gradient(145deg,#fff,#f8edef); color:var(--tinta); text-align:left; cursor:pointer; transition:.2s; }
.subcategory-card:nth-child(3n+2) { background:linear-gradient(145deg,#fff,#edf5f3); }
.subcategory-card:nth-child(3n+3) { background:linear-gradient(145deg,#fff,#f7f1e5); }
.subcategory-card:hover,.subcategory-card.activa { transform:translateY(-3px); border-color:#c98a9a; box-shadow:0 8px 20px rgba(55,20,29,.09); }
.subcategory-card span { display:block; font-size:22px; margin-bottom:9px; }
.subcategory-card strong { font-size:13px; line-height:1.2; }
.subcategory-card-image { flex:0 0 170px; min-height:218px; padding:0; overflow:hidden; background:#fff!important; }
.subcategory-card-image img { width:100%; height:170px; object-fit:cover; display:block; }
.subcategory-card-image strong { display:block; padding:12px 13px 14px; font-size:14px; }
.catalog-breadcrumb { display:flex; align-items:center; gap:8px; margin-bottom:11px; color:#796d71; font-size:13px; }
.catalog-breadcrumb button { border:0; background:transparent; color:var(--vino); cursor:pointer; font-weight:700; }
.active-path { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-bottom:18px; color:#675d61; font-size:13px; }
.active-path button { width:28px; height:28px; border:0; border-radius:50%; background:#f2e7ea; color:var(--vino); cursor:pointer; }
.filter-level-title { margin-top:18px!important; padding-top:15px; border-top:1px solid var(--borde); }
.catalog-pagination { display:grid; place-items:center; gap:10px; min-height:74px; margin-top:28px; text-align:center; }
.catalog-pagination .btn-secundario { min-width:210px; background:#fff; }
.catalog-pagination .btn-secundario:disabled { opacity:.62; cursor:wait; transform:none; }
.catalog-pagination p { min-height:20px; color:var(--texto); font-size:13px; }
@keyframes subcategoriasEntrada { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:none} }

/* Catálogo amplio con filtros bajo demanda */
.catalogo-layout { grid-template-columns:1fr; }
.sidebar { display:none; position:fixed; inset:0 auto 0 0; width:min(330px,88vw); z-index:2000; border-radius:0; overflow:auto; top:0; box-shadow:15px 0 40px rgba(30,14,19,.2); }
.sidebar.abierto { display:block; }
.filter-close,.filter-open { display:block; }
.grid-productos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.producto-card { min-width:0; display:flex; flex-direction:column; background:#fff; border-radius:16px; overflow:hidden; border:1px solid var(--borde); position:relative; transition:transform .2s,box-shadow .2s,border-color .2s; }
.producto-card:hover { transform:translateY(-4px); box-shadow:var(--sombra); }
.producto-media { display:block; overflow:hidden; background:#eee; aspect-ratio:1/1; }
.producto-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s; }
.producto-card:hover .producto-media img { transform:scale(1.035); }
.producto-info { display:flex; flex:1; flex-direction:column; padding:17px; }
.producto-categoria { color:#897d81; text-transform:uppercase; letter-spacing:.7px; font-size:11px; font-weight:800; }
.producto-link { text-decoration:none; }
.producto-info h3 { font-size:16px; line-height:1.35; margin:5px 0 9px; min-height:43px; }
.precio { color:var(--vino); font:800 23px Manrope,sans-serif; margin-bottom:6px; }
.estado { font-size:12px; font-weight:700; margin-bottom:13px; }
.disponible { color:#11844d; }.agotado { color:#a52b36; }
.producto-info .btn-whatsapp { margin-top:auto; }
.btn-whatsapp { min-height:46px; display:flex; align-items:center; justify-content:center; text-align:center; background:var(--verde); color:#fff; text-decoration:none; border:0; padding:11px 13px; border-radius:11px; font-weight:800; cursor:pointer; transition:background .18s,transform .18s,box-shadow .18s; }
.btn-whatsapp:hover { background:#118f54; }
.btn-whatsapp:active { transform:scale(.98); }
.btn-agotado { background:#aca5a7!important; cursor:not-allowed; }
.btn-seleccion-pendiente { background:#70676a!important; cursor:not-allowed; }
.product-badges { position:absolute; top:12px; left:12px; right:12px; z-index:4; display:flex; flex-wrap:wrap; gap:5px; pointer-events:none; }
.badge-producto { padding:7px 10px; border-radius:99px; color:#fff; font-size:11px; font-weight:800; box-shadow:0 4px 12px rgba(0,0,0,.17); }
.badge-unica { background:var(--vino); }.badge-agotado { background:#585154; }.badge-oferta { background:#b51d3b; }.badge-novedad { background:#187a50; }.badge-destacado { background:#8a5a11; }
.product-price-row { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; margin-bottom:6px; }.product-price-row .precio { margin-bottom:0; }.precio-anterior { color:#777; font-size:14px; }

.breadcrumb { max-width:1200px; margin:26px auto 0; padding:0 24px; color:#766c70; font-size:13px; }
.breadcrumb a { text-decoration:none; }
.producto-detalle { max-width:1200px; margin:22px auto 60px; padding:0 24px; display:grid; grid-template-columns:1.03fr .97fr; gap:48px; position:relative; }
.producto-imagen { min-width:0; }
.imagen-principal { width:100%; aspect-ratio:1/1; object-fit:contain; border-radius:20px; background:#fff; border:1px solid var(--borde); cursor:zoom-in; }
.galeria-miniaturas { display:flex; gap:10px; margin-top:13px; overflow:auto; }
.miniatura { width:78px; height:78px; object-fit:cover; border:2px solid transparent; border-radius:10px; cursor:pointer; flex:0 0 auto; }
.miniatura.activa,.miniatura:hover { border-color:var(--vino); }
.producto-info-detalle { padding-top:10px; }
.producto-eyebrow { color:var(--vino); text-transform:uppercase; letter-spacing:1px; font-size:12px; font-weight:800; }
.producto-info-detalle h1 { font:800 clamp(31px,3.5vw,44px)/1.12 Manrope,sans-serif; letter-spacing:-1.3px; margin:8px 0; }
.precio-grande { color:var(--vino); font:800 36px Manrope,sans-serif; margin:16px 0; }
.detail-price-row { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; margin:16px 0; }.detail-price-row .precio-grande { margin:0; }.detail-price-row .precio-anterior { font-size:18px; }
.detail-commercial-badges { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0; }.detail-commercial-badges .badge-producto { box-shadow:none; }
.product-variants { margin:20px 0; padding:18px; border:1px solid #e0d5d2; border-radius:14px; background:#fff; }.product-variants h3 { margin-bottom:11px; font-size:17px; }.variant-options { display:flex; flex-wrap:wrap; gap:8px; }.variant-option { padding:10px 12px; border:1px solid #d7cfcc; border-radius:10px; background:#fff; color:var(--tinta); text-align:left; cursor:pointer; }.variant-option:hover,.variant-option.seleccionada { border-color:var(--vino); background:#f8ecef; box-shadow:0 0 0 2px #f1dce2; }.variant-option:disabled { opacity:.5; cursor:not-allowed; box-shadow:none; }.variant-option strong,.variant-option small { display:block; }.variant-option small { margin-top:3px; color:var(--texto); }.product-variants > p { margin-top:10px; color:var(--texto); font-size:12px; }
.ficha-producto { border:1px solid var(--borde); border-radius:14px; padding:8px 18px; margin:20px 0; background:#fff; }
.fila-ficha { display:flex; justify-content:space-between; gap:24px; padding:11px 0; border-bottom:1px solid var(--borde); font-size:14px; }
.fila-ficha:last-child { border:0; }.fila-ficha span { color:var(--texto); }.fila-ficha strong { text-align:right; }
.descripcion { margin-top:24px; padding:22px; border:1px solid var(--borde); border-radius:16px; background:#fff; }.descripcion > h3 { margin-bottom:14px; }.descripcion-contenido { color:var(--texto); font-size:15px; line-height:1.75; overflow-wrap:anywhere; }.descripcion-contenido p,.descripcion-contenido div { margin:0 0 13px; }.descripcion-contenido h3,.descripcion-contenido h4 { margin:20px 0 8px; color:var(--tinta); line-height:1.35; }.descripcion-contenido ul,.descripcion-contenido ol { margin:10px 0 15px; padding-left:25px; }.descripcion-contenido li { margin:5px 0; }.descripcion-contenido blockquote { margin:14px 0; padding:10px 15px; border-left:4px solid var(--vino); background:#faf3f5; }
.purchase-box { margin:18px 0 20px; padding:18px; border-radius:16px; background:#effaf4; border:1px solid #c7e8d5; box-shadow:0 8px 22px rgba(18,112,66,.08); }
.purchase-box > p { font-size:13px; color:#346048; margin-bottom:12px; }
.btn-whatsapp.grande { width:100%; padding:16px; font-size:16px; }
.product-guarantees { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:14px; font-size:11px; color:var(--texto); text-align:center; }
.product-guarantees span { padding:9px 5px; background:#fff; border-radius:9px; }

.admin-layout { max-width:1260px; margin:40px auto; padding:0 24px; }.admin-intro { margin-bottom:26px; }.admin-intro h1 { font:800 38px Manrope,sans-serif; }.admin-intro p { color:var(--texto); }
.admin-layout [hidden] { display:none!important; }
.admin-login { width:min(470px,100%); margin:68px auto 90px; padding:38px; border:1px solid var(--borde); border-radius:22px; background:#fff; box-shadow:var(--sombra); text-align:center; }
.admin-login-icon { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 17px; border-radius:17px; background:#f5e8ec; font-size:25px; }
.admin-eyebrow { color:var(--vino)!important; text-transform:uppercase; letter-spacing:1px; font-size:12px!important; font-weight:800; }
.admin-login h1 { margin:5px 0 8px; font:800 31px Manrope,sans-serif; }
.admin-login > p:not(.admin-eyebrow) { color:var(--texto); }
.admin-login-form { display:grid; gap:9px; margin-top:26px; text-align:left; }
.admin-login-form label { margin-top:7px; font-size:14px; font-weight:700; }
.admin-login-form input { width:100%; height:48px; padding:0 14px; border:1px solid #d8d3cf; border-radius:10px; outline:none; }
.admin-login-form input:focus { border-color:var(--vino); box-shadow:0 0 0 3px #f5e8eb; }
.admin-login-form .btn-principal { width:100%; margin-top:13px; }
.admin-login-status { min-height:21px; margin-top:15px; color:#921d32; font-size:13px; font-weight:700; }
.admin-back-link { display:inline-block; margin-top:14px; color:var(--vino); font-size:14px; font-weight:800; text-decoration:none; }
.admin-session { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:26px; padding:12px 15px; border:1px solid #dfd9d5; border-radius:12px; background:#fff; color:var(--texto); font-size:13px; }
.admin-session strong { color:var(--tinta); }
.admin-session .btn-secundario { padding:9px 14px; white-space:nowrap; }
.admin-session-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.form-admin { background:#fff; padding:28px; border-radius:var(--radio); border:1px solid var(--borde); display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.campo { min-width:0; }.campo.full,.form-admin button[type=submit] { grid-column:1/-1; }.campo label { display:block; margin-bottom:7px; font-weight:700; font-size:14px; }.campo input,.campo select,.campo textarea { width:100%; padding:12px; border:1px solid #d8d3cf; border-radius:10px; outline:none; }.campo input:focus,.campo select:focus,.campo textarea:focus { border-color:var(--vino); box-shadow:0 0 0 3px #f5e8eb; }
.campo-ayuda { display:block; margin-top:7px; color:var(--texto); font-size:12px; }
.input-action { display:flex; gap:8px; }.input-action input { min-width:0; }.btn-inline { flex:none; padding:0 14px; border:1px solid #d8c2c8; border-radius:10px; background:#f8eef1; color:var(--vino); font-weight:800; cursor:pointer; }.btn-inline:hover { background:#f0dfe4; }
.product-flags { border:1px solid var(--borde); border-radius:12px; padding:15px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.product-flags legend { padding:0 6px; color:var(--vino); font-weight:800; }
.product-flags label { display:flex; align-items:flex-start; gap:9px; min-height:68px; margin:0; padding:12px; border-radius:10px; background:#faf7f5; cursor:pointer; }
.product-flags input { width:auto; margin-top:3px; accent-color:var(--vino); }
.product-flags span,.product-flags small { display:block; }.product-flags small { margin-top:3px; color:var(--texto); font-weight:400; line-height:1.35; }
.rich-editor { overflow:hidden; border:1px solid #d8d3cf; border-radius:12px; background:#fff; transition:border-color .15s,box-shadow .15s; }
.rich-editor:focus-within { border-color:var(--vino); box-shadow:0 0 0 3px #f5e8eb; }
.rich-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:4px; padding:8px; border-bottom:1px solid #e3ddda; background:#f8f6f5; }
.rich-toolbar select { width:auto; min-width:105px; height:34px; padding:0 8px; border:1px solid #d8d3cf; border-radius:7px; background:#fff; }
.rich-toolbar button { width:34px; height:34px; display:grid; place-items:center; padding:0; border:1px solid transparent; border-radius:7px; background:transparent; color:#332a2d; font:700 15px Arial,sans-serif; cursor:pointer; }
.rich-toolbar button:hover,.rich-toolbar button:focus-visible { border-color:#d8c2c8; background:#fff; color:var(--vino); }
.rich-toolbar button[aria-label="Alinear a la derecha"] { transform:scaleX(-1); }
.rich-toolbar .toolbar-preview { width:auto; display:flex; gap:6px; margin-left:auto; padding:0 10px; border-color:#dbcbd0; background:#fff; color:var(--vino); font-family:'DM Sans',sans-serif; font-size:12px; }
.toolbar-separator { width:1px; height:24px; margin:0 3px; background:#ddd4d1; }
.rich-editor-area { min-height:190px; max-height:480px; overflow:auto; padding:18px; outline:none; color:var(--tinta); line-height:1.65; }
.rich-editor-area:empty::before { content:attr(data-placeholder); color:#978d90; pointer-events:none; }
.rich-editor-area p,.rich-editor-area div { margin:0 0 10px; }.rich-editor-area ul,.rich-editor-area ol { padding-left:26px; }.rich-editor-area h3,.rich-editor-area h4 { margin:14px 0 7px; }
.rich-preview { min-height:190px; max-height:480px; overflow:auto; padding:22px; background:#fff; }
.category-guide { display:flex; flex-direction:column; gap:4px; padding:14px 16px; border:1px solid #ead9b8; border-radius:11px; background:#fff8e8; color:#65480d; }
.category-guide span { font-size:13px; color:#765d2a; }
.upload-progress { margin-top:14px; padding:13px 14px; border:1px solid #e2d8d5; border-radius:11px; background:#faf8f7; }.upload-progress > div { display:flex; justify-content:space-between; gap:14px; margin-bottom:8px; font-size:13px; }.upload-progress strong { color:var(--vino); }.upload-progress progress { width:100%; height:10px; border:0; border-radius:99px; overflow:hidden; accent-color:var(--vino); }.upload-progress progress::-webkit-progress-bar { background:#e6dfdc; }.upload-progress progress::-webkit-progress-value { background:linear-gradient(90deg,var(--vino),#b51d3b); }
.keep-data-option { display:flex; align-items:flex-start; gap:10px; padding:14px 16px; border:1px solid #d4e5db; border-radius:11px; background:#f2faf5; cursor:pointer; }.keep-data-option input { width:auto; margin-top:3px; accent-color:var(--verde); }.keep-data-option span,.keep-data-option small { display:block; }.keep-data-option small { margin-top:3px; color:var(--texto); font-weight:400; }
.variants-toggle { display:flex; align-items:flex-start; gap:10px; padding:14px 16px; border:1px solid #dfd7d3; border-radius:11px; background:#faf8f7; cursor:pointer; }.variants-toggle input { width:auto; margin-top:3px; accent-color:var(--vino); }.variants-toggle span,.variants-toggle small { display:block; }.variants-toggle small { margin-top:3px; color:var(--texto); font-weight:400; }
.variants-manager { padding:16px; border:1px solid #dbcbd0; border-radius:12px; background:#fcf9fa; }.variants-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:12px; }.variants-heading small { display:block; margin-top:3px; color:var(--texto); }.variant-list { display:grid; gap:9px; }.variant-row { display:grid; grid-template-columns:1fr 1fr 1fr 100px 42px; gap:8px; align-items:end; padding:11px; border:1px solid #e4ddda; border-radius:10px; background:#fff; }.variant-field label { display:block; margin-bottom:5px; color:var(--texto); font-size:11px; font-weight:800; }.variant-field input { width:100%; min-width:0; padding:10px; border:1px solid #d8d3cf; border-radius:8px; }.variant-remove { width:42px; height:42px; border:1px solid #ebcbd1; border-radius:9px; background:#fff1f3; color:#9d2137; font-size:18px; cursor:pointer; }.variant-total { margin-top:12px; padding-top:11px; border-top:1px solid #e1d9d6; text-align:right; }.variant-total strong { color:var(--vino); font-size:20px; }
.admin-form-actions { grid-column:1/-1; display:flex; gap:12px; align-items:center; }
.admin-form-actions [hidden] { display:none!important; }
.admin-form-actions .btn-principal,.admin-form-actions .btn-secundario { min-width:190px; }
.admin-status { margin-top:16px; padding:13px 16px; border:1px solid #cde7d8; border-radius:11px; background:#eef9f3; color:#17663e; font-weight:700; }
.admin-status.error { border-color:#eccbd1; background:#fff1f3; color:#921d32; }
.admin-status.info { border-color:#ead9b8; background:#fff8e8; color:#76530e; }
.admin-divider { margin:50px 0 20px; border:0; border-top:1px solid var(--borde); }.inventory-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; }
.inventory-count { display:inline-grid; place-items:center; min-width:31px; height:31px; margin-left:7px; padding:0 9px; border-radius:99px; background:#f1e4e8; color:var(--vino); font:800 14px 'DM Sans',sans-serif; vertical-align:3px; }
.inventory-search { width:min(340px,100%); font-size:13px; font-weight:700; }
.inventory-search span { display:block; margin-bottom:6px; }
.inventory-search input { width:100%; height:44px; padding:0 14px; border:1px solid #d8d3cf; border-radius:10px; background:#fff; outline:none; }
.inventory-search input:focus { border-color:var(--vino); box-shadow:0 0 0 3px #f5e8eb; }
#lista-admin { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:20px; margin-top:20px; }.btn-editar,.btn-duplicar,.btn-visibilidad,.btn-eliminar { width:100%; margin-top:8px; padding:11px 12px; border-radius:10px; font-weight:800; cursor:pointer; }.btn-duplicar { background:#f7eef1; color:var(--vino); border:1px solid #dcc5cc; }.btn-visibilidad { background:#fff; color:#3f393b; border:1px solid #d7d0cd; }.btn-eliminar { background:#a52b36; }
#lista-admin .producto-card { display:flex; flex-direction:column; min-width:0; }
#lista-admin .producto-card > img { width:100%; height:220px; aspect-ratio:auto; object-fit:cover; flex:none; background:#f0ece9; }
#lista-admin .producto-card .producto-info { display:flex; flex:1; flex-direction:column; padding:17px; }
#lista-admin .producto-card .producto-info h3 { min-height:auto; margin-bottom:8px; }
#lista-admin .producto-card .btn-editar { margin-top:auto; }
#lista-admin .producto-card .btn-eliminar { flex:none; }
#lista-admin .producto-card .producto-meta { color:var(--texto); font-size:13px; }
#lista-admin .producto-card .producto-codigo { margin-top:2px; color:#83777c; font-size:12px; }
#lista-admin .producto-card button:disabled,.form-admin button:disabled { opacity:.58; cursor:wait; transform:none; }
#lista-admin .admin-empty { grid-column:1/-1; padding:42px 24px; border:1px dashed #d7d0ca; border-radius:16px; background:#fff; text-align:center; color:var(--texto); }

.visor-imagen { position:fixed; inset:0; background:rgba(0,0,0,.92); display:none; justify-content:center; align-items:center; z-index:9999; padding:30px; }.visor-imagen.activo{display:flex}.visor-imagen img{max-width:92vw;max-height:92vh;object-fit:contain;border-radius:12px;transition:transform .12s;cursor:zoom-in;user-select:none}.cerrar-visor,.visor-nav{position:absolute;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;cursor:pointer}.cerrar-visor{right:18px;top:18px;width:44px;height:44px;font-size:28px}.visor-nav{top:50%;transform:translateY(-50%);width:50px;height:50px;font-size:30px}.visor-prev{left:18px}.visor-next{right:18px}
.skeleton { background:linear-gradient(90deg,#ebe8e6 25%,#f5f3f2 45%,#ebe8e6 65%); background-size:300% 100%; animation:shimmer 1.3s infinite; border-radius:8px; }.skeleton-card{min-height:390px}.skeleton-imagen{height:240px}.skeleton-titulo{height:20px;margin:18px}.skeleton-precio{height:24px;width:45%;margin:18px}.skeleton-estado{height:14px;width:35%;margin:18px}.skeleton-boton{height:42px;margin:18px}.skeleton-producto{display:grid;grid-template-columns:1fr 1fr;gap:50px;width:100%}.skeleton-imagen-grande{aspect-ratio:1}.skeleton-miniaturas{display:flex;gap:10px;margin-top:15px}.skeleton-miniatura{width:70px;height:70px}.skeleton-nombre-producto{height:48px;width:80%;margin-bottom:20px}.skeleton-precio-producto{height:34px;width:35%;margin-bottom:30px}.skeleton-ficha{display:grid;gap:14px}.skeleton-fila{height:22px}.skeleton-descripcion{height:20px;margin-top:30px}.skeleton-descripcion-corta{height:20px;width:70%;margin-top:10px}.skeleton-boton-producto{height:55px;margin-top:30px}.producto-detalle.cargando>.producto-imagen,.producto-detalle.cargando>.producto-info-detalle{display:none}.producto-detalle:not(.cargando)>.skeleton-producto{display:none}@keyframes shimmer{to{background-position:-300% 0}}

@media(max-width:980px){.catalogo-layout{grid-template-columns:1fr}.sidebar{display:none;position:fixed;inset:0 15% 0 0;z-index:2000;border-radius:0;overflow:auto;top:0}.sidebar.abierto{display:block}.filter-close,.filter-open{display:block}.producto-detalle{grid-template-columns:1fr;max-width:700px}.skeleton-producto{grid-template-columns:1fr}.catalogo-header{align-items:flex-start}.form-admin{grid-template-columns:1fr}.campo.full,.form-admin button[type=submit]{grid-column:auto}.product-flags{grid-template-columns:1fr}.variant-row{grid-template-columns:1fr 1fr}.variant-remove{width:100%;grid-column:1/-1}.variants-heading{align-items:stretch;flex-direction:column}.variants-heading .btn-inline{min-height:42px}}
@media(max-width:1180px) and (min-width:721px){.grid-productos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.catalogo-layout{padding:0 14px;margin:24px auto}.catalogo-header{display:block}.catalogo-tools{margin-top:14px}.grid-productos{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.producto-info{padding:13px}.producto-info h3{font-size:14px}.precio{font-size:19px}.btn-whatsapp{font-size:12px;padding:10px 6px}.producto-detalle{padding:0 15px}.producto-info-detalle h1{font-size:30px}.precio-grande{font-size:29px}.descripcion{padding:17px}.product-guarantees{grid-template-columns:1fr}.fila-ficha{align-items:flex-start}.admin-layout{padding:0 14px}.admin-login{margin:28px auto 60px;padding:27px 20px}.admin-session{align-items:flex-start;flex-direction:column}.admin-session-actions{width:100%;flex-direction:column}.admin-session .btn-secundario{width:100%}.form-admin{padding:18px}.rich-toolbar{gap:2px}.rich-toolbar button{width:32px}.rich-toolbar .toolbar-preview{width:100%;justify-content:center;margin:5px 0 0}.rich-editor-area,.rich-preview{min-height:220px}.inventory-heading{align-items:stretch;flex-direction:column}.inventory-search{width:100%}.admin-form-actions{flex-direction:column}.admin-form-actions .btn-principal,.admin-form-actions .btn-secundario{width:100%}}
