/* BonGon V9.2 - ajustes visuales del catálogo y ficha, sin alterar carrito ni inventario. */
:root { --v92-ink:#3f302b; --v92-blue:#213d85; --v92-border:#e9dfd5; }
/* Página de producto: compensación real del menú fijo (especialmente desktop). */
.product-detail-page { padding-top:calc(var(--site-header-h,80px) + 30px) !important; scroll-margin-top:var(--site-header-h,80px); }
.product-detail-shell > nav { display:flex; flex-wrap:wrap; align-items:center; gap:3px; margin-bottom:20px !important; min-height:22px; }
.product-detail-grid { align-items:start; }
.product-detail-grid > :nth-child(2) { min-height:380px; }
.product-detail-grid > :nth-child(3) { min-width:0; }
@media (max-width:767px) {
  .product-detail-page { padding-top:calc(var(--site-header-h,68px) + 22px) !important; }
  .product-detail-grid > :nth-child(2) { min-height:0; }
}
/* Catálogo: contador + filtros en una misma barra. */
.catalog-controls { padding-bottom:16px !important; }
#collections-grid { padding-top:18px !important; }
.catalog-filter-toolbar {
  display:flex; align-items:center; gap:14px; justify-content:space-between;
  margin:0 0 22px; padding:10px 14px; border:1px solid var(--v92-border);
  background:rgba(255,255,255,.78); border-radius:16px; position:relative;
}
.catalog-filter-toolbar .catalog-filter-status {
  flex:1 1 auto; min-width:0; gap:10px; margin:0; padding:0; border:0; background:none; border-radius:0;
}
.catalog-filter-toolbar__filter { flex:0 0 auto; margin-left:auto; }
.catalog-filter-toolbar__filter > div { position:relative; }
.catalog-filter-toolbar #filter-toggle-btn { min-height:40px; padding:9px 20px !important; box-shadow:none !important; transform:none !important; font-size:11px !important; }
.catalog-filter-toolbar #filter-toggle-btn:hover { transform:none !important; box-shadow:0 4px 14px rgba(99,71,64,.2) !important; }
.catalog-filter-toolbar #filter-dropdown { width:min(720px,calc(100vw - 44px)); max-width:calc(100vw - 44px); top:calc(100% + 7px); right:0; margin-top:0; z-index:80; }
.catalog-filter-toolbar .catalog-filter-chips { flex:1 1 auto; min-width:0; }
@media (max-width:640px) {
  .catalog-filter-toolbar { gap:8px; padding:10px; flex-wrap:wrap; }
  .catalog-filter-toolbar .catalog-filter-status { flex:1 1 auto; min-width:110px; }
  .catalog-filter-toolbar .catalog-filter-chips { display:none; }
  .catalog-filter-toolbar #filter-toggle-btn { padding:9px 14px !important; min-height:39px !important; }
  .catalog-filter-toolbar #filter-dropdown { position:fixed !important; left:12px !important; right:12px !important; width:calc(100vw - 24px) !important; max-width:none !important; top:calc(var(--site-header-h,68px) + 10px) !important; max-height:calc(100dvh - var(--site-header-h,68px) - 25px); }
}
/* Vista rápida: galería proporcionada y controles compactos. */
#quick-view-modal.qv2-backdrop { padding:14px !important; }
#quick-view-modal .qv2-dialog {
  width:min(980px,100%); max-width:980px !important; max-height:min(88dvh,810px) !important;
  overflow:hidden !important; background:#fffaf5; border:1px solid #eee3d7;
  border-radius:20px !important; box-shadow:0 26px 90px rgba(23,21,19,.32);
}
#quick-view-modal .qv2-layout { display:grid !important; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important; align-items:stretch; }
#quick-view-modal .qv2-media {
  padding:22px 24px !important; min-height:0 !important; display:flex; justify-content:flex-start; align-items:stretch;
  background:#f6f1eb; border-right:1px solid #e8dfd5; min-width:0;
}
#quick-view-modal .qv2-media-heading { width:100%; display:flex; justify-content:space-between; gap:15px; align-items:center; margin-bottom:12px; font:700 10px/1.4 Arial,sans-serif; letter-spacing:.13em; color:#857468; }
#quick-view-modal .qv2-media-heading #qv-contador { color:var(--v92-blue); font-size:12px; letter-spacing:normal; }
#quick-view-modal .qv2-stage { flex:0 0 auto; height:clamp(245px,40dvh,375px); border:1px solid #e9e1d8; border-radius:15px; background:white; display:flex; justify-content:center; align-items:center; overflow:hidden; }
#quick-view-modal #qv-imagen { width:100%; height:100% !important; max-height:none !important; object-fit:contain; padding:12px; }
#quick-view-modal .qv-galeria-nav { width:38px; height:38px; display:grid; place-items:center; background:rgba(255,255,255,.95); color:var(--v92-blue); border:1px solid #dfe2e8; box-shadow:0 5px 15px rgba(0,0,0,.12); font-size:25px; }
#quick-view-modal .qv-galeria-nav:hover { background:#f1f4ff; }
#quick-view-modal .qv-galeria-prev { left:10px; }
#quick-view-modal .qv-galeria-next { right:10px; }
#quick-view-modal .qv-miniaturas { display:flex; flex-wrap:nowrap !important; justify-content:flex-start !important; gap:9px; overflow-x:auto; overflow-y:hidden !important; width:100%; max-height:none !important; min-height:73px; margin-top:13px; padding:3px 2px 9px; scrollbar-width:thin; }
#quick-view-modal .qv-miniatura { flex:0 0 61px; height:61px; width:61px; border-radius:10px; border:2px solid #e5d9cd; padding:3px; transition:border-color .2s, box-shadow .2s; }
#quick-view-modal .qv-miniatura[aria-pressed="true"] { border-color:var(--v92-blue); box-shadow:0 0 0 2px rgba(33,61,133,.13); }
#quick-view-modal .qv-miniatura:focus-visible, #quick-view-modal .qv-galeria-nav:focus-visible, #quick-view-modal .qv-ver-detalles:focus-visible { outline:2px solid var(--v92-blue); outline-offset:3px; }
#quick-view-modal .qv2-gallery-hint { margin:1px 0 0; font-size:11px; text-align:center; color:#877a70; }
#quick-view-modal .qv2-info { min-width:0; max-height:min(88dvh,810px); overflow-y:auto; padding:29px 30px 24px !important; background:#fffdf9; }
#quick-view-modal #qv-nombre { font-size:clamp(22px,2.2vw,30px) !important; line-height:1.15; padding-right:20px; }
#quick-view-modal #qv-precio { color:#9b5a2c; font-size:24px !important; margin-bottom:13px !important; }
#quick-view-modal #qv-stock { font-size:12px !important; margin-bottom:14px !important; }
#quick-view-modal .qv2-info > .mb-6 { margin-bottom:14px !important; }
#quick-view-modal .qv-ver-detalles { display:inline-flex; align-items:center; gap:8px; color:var(--v92-blue); margin:1px 0 20px; font-size:12px; font-weight:700; text-underline-offset:4px; text-decoration:none; border-bottom:1px solid #bbcae9; width:fit-content; padding-bottom:4px; }
#quick-view-modal .qv-ver-detalles:hover { border-color:var(--v92-blue); }
#quick-view-modal .qv2-actions { gap:9px !important; }
#quick-view-modal .qv2-actions button { min-width:0; min-height:46px; padding:10px 13px !important; font-size:10px !important; letter-spacing:.065em !important; line-height:1.35; }
#quick-view-modal #qv-close { box-shadow:0 2px 10px #0001; }
@media (max-width:767px) {
  #quick-view-modal .qv2-dialog { max-height:calc(100dvh - 20px) !important; overflow-y:auto !important; }
  #quick-view-modal .qv2-layout { grid-template-columns:minmax(0,1fr) !important; display:grid !important; }
  #quick-view-modal .qv2-media { position:relative !important; padding:15px 16px !important; border-right:0; border-bottom:1px solid #e8dfd5; }
  #quick-view-modal .qv2-stage { height:clamp(180px,31dvh,275px); }
  #quick-view-modal .qv-miniaturas { min-height:57px; margin-top:7px; padding-bottom:5px; }
  #quick-view-modal .qv-miniatura { flex-basis:46px; width:46px; height:46px; }
  #quick-view-modal .qv2-info { max-height:none; overflow:visible; padding:19px 18px 20px !important; }
  #quick-view-modal .qv2-gallery-hint { display:none; }
  #quick-view-modal .qv2-actions { display:grid !important; grid-template-columns:1fr 1fr; }
  #quick-view-modal .qv2-actions button { min-height:42px; padding:8px 9px !important; font-size:9px !important; }
  #quick-view-modal #qv-close { top:10px !important; right:10px !important; }
}
@media (max-width:420px) {
  #quick-view-modal.qv2-backdrop { padding:6px !important; }
  #quick-view-modal .qv2-dialog { max-height:calc(100dvh - 12px) !important; border-radius:14px !important; }
  #quick-view-modal .qv2-stage { height:175px; }
  #quick-view-modal .qv2-info { padding:14px !important; }
  #quick-view-modal .qv2-actions { grid-template-columns:1fr; }
  #quick-view-modal #qv-add-cart svg { display:inline-block !important; width:14px; }
}
@media (prefers-reduced-motion:reduce) {
  #quick-view-modal .qv-miniatura, #quick-view-modal .qv-galeria-nav { transition:none; }
}
/* Evitar que las reglas antiguas del modal móvil impongan dos columnas estrechas. */
@media (max-width:767px) {
  #quick-view-modal > .qv2-dialog.relative.bg-white { overflow-y:auto !important; max-height:calc(100dvh - 20px) !important; }
  #quick-view-modal .qv2-layout.grid.grid-cols-1.md\:grid-cols-2 { grid-template-columns:minmax(0,1fr) !important; }
  #quick-view-modal .qv2-layout.grid.grid-cols-1.md\:grid-cols-2 > .qv2-media { position:relative !important; top:auto !important; padding:15px 16px !important; min-height:0 !important; }
  #quick-view-modal .qv2-layout.grid.grid-cols-1.md\:grid-cols-2 > .qv2-info { padding:19px 18px 20px !important; }
}
@media (max-width:420px) {
  #quick-view-modal .qv2-layout.grid.grid-cols-1.md\:grid-cols-2 { grid-template-columns:minmax(0,1fr) !important; }
  #quick-view-modal .qv2-layout.grid.grid-cols-1.md\:grid-cols-2 > .qv2-info { padding:14px !important; }
}
