
/* Container and grid */
.bds-talleres-wrap{max-width:1100px;margin:0 auto}
.bds-talleres-filtros{display:flex;gap:12px;align-items:flex-end;margin:12px 0;flex-wrap:wrap}
.bds-talleres-filtros label{display:flex;flex-direction:column;font-weight:600}
.bds-talleres-lista{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:1fr;gap:20px}

/* Card */
.bds-taller-card{background:#f2f3f5;border-radius:20px;padding:20px;border:1px solid #e9eaec}
.bds-taller-nombre{margin:0 0 12px 0;font-weight:800;text-align:center;font-size:22px;color:#111;letter-spacing:.2px}

/* Rows: icon + text on the same line */
.bds-taller-info{display:flex;flex-direction:column;gap:8px;color:#6b7280;font-size:15px}
.bds-row{display:flex;gap:8px;align-items:flex-start}
.bds-ico{width:20px;min-width:20px;line-height:1;color:#FF0000;margin-top:1px;display:inline-flex;align-items:flex-start}
.bds-row .bds-text{flex:1;white-space:pre-wrap}

/* Red ribbon with Estado + Ciudad */
.bds-ribbon{background:#FF0000;color:#fff;border-radius:6px;padding:8px 12px;margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;min-height:calc(2.4em + 16px)}
.bds-ribbon-item{font-weight:700;font-size:14px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Pagination */
.bds-pagination{display:flex;gap:6px;margin-top:12px;justify-content:center}
.bds-pagination a{border:1px solid #ddd;padding:6px 10px;border-radius:6px;text-decoration:none}
.bds-pagination a.current{background:#FF0000;color:#fff;border-color:#FF0000;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}


/* Force remove list markers from cards */
.bds-talleres-lista{ list-style: none !important; padding-left: 0 !important; margin-left: 0 !important; }
.bds-talleres-lista > li{ list-style: none !important; }
.bds-talleres-lista > li::marker{ content: '' !important; display: none !important; }
/* If theme injects pseudo bullets via ::before */
.bds-talleres-lista > li::before{ content: none !important; }



/* --- Mobile overflow & responsive pagination tweaks --- */
.bds-talleres-wrap{overflow-x:hidden; box-sizing:border-box;}
.bds-taller-card, .bds-taller-info, .bds-ribbon{overflow:hidden}
.bds-taller-nombre, .bds-row .bds-text, .bds-ribbon-item{word-break:break-word; overflow-wrap:anywhere}

/* Responsive paginator: wraps nicely on small screens */
@media (max-width: 640px){
  .bds-pagination{display:grid; grid-template-columns:repeat(auto-fit,minmax(44px,1fr)); gap:8px; justify-content:center}
  .bds-pagination a{min-height:44px; line-height:22px; padding:10px 12px; text-align:center}
  .bds-talleres-filtros{flex-direction:column; align-items:stretch}
  .bds-talleres-filtros label, .bds-talleres-filtros select, .bds-talleres-filtros input{width:100%}
  .bds-talleres-wrap{padding:0 10px}
}

/* Prevent any stray bullets/markers from themes */
.bds-talleres-lista{list-style:none !important; padding-left:0 !important; margin-left:0 !important}
.bds-talleres-lista>li{list-style:none !important}
.bds-talleres-lista>li::marker{content:'' !important; display:none !important}
.bds-talleres-lista>li::before{content:none !important}



/* --- Mobile centering & compact spacing --- */
@media (max-width: 640px){
  .bds-talleres-wrap{padding-left:8px !important; padding-right:8px !important; overflow-x:hidden}
  .bds-talleres-lista{grid-template-columns:1fr !important; justify-items:center}
  .bds-taller-card{max-width:520px; width:100%; margin:0 auto; padding:14px !important}
  .bds-taller-info{gap:8px !important}
  .bds-ribbon{margin-top:12px !important; padding:8px 10px !important; gap:12px !important}
  .bds-taller-nombre{font-size:20px !important; margin-bottom:10px !important}
  .bds-ico{margin-top:0 !important}
  .bds-row{gap:8px !important}
  .bds-talleres-filtros{flex-direction:column; gap:8px !important; align-items:stretch}
  .bds-talleres-filtros label, .bds-talleres-filtros select, .bds-talleres-filtros input{width:100%}
}

/* --- Responsive paginator: wrapped grid-like flex --- */
.bds-pagination{display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; margin-top:16px}
.bds-pagination a{flex:0 1 48px; min-width:44px; min-height:40px; padding:8px 10px; text-align:center; line-height:22px}

/* Safety: no horizontal overflow anywhere */
.bds-taller-card, .bds-taller-info, .bds-ribbon{overflow:hidden}
.bds-taller-nombre, .bds-row .bds-text, .bds-ribbon-item{word-break:break-word; overflow-wrap:anywhere}



/* --- Mobile filter controls: larger, easier to tap --- */
@media (max-width: 640px){
  .bds-talleres-filtros{gap:12px !important; flex-direction:column; align-items:stretch}
  .bds-talleres-filtros label{font-size:14px}
  .bds-talleres-filtros select,
  .bds-talleres-filtros input[type="search"],
  .bds-talleres-filtros input[type="text"],
  .bds-talleres-filtros button{
    font-size:16px;               /* evita zoom en iOS */
    line-height:24px;
    min-height:48px;              /* objetivo tÃ¡ctil recomendado (>=44px) */
    padding:12px 14px;
    border-radius:10px;
    width:100%;
    -webkit-appearance:none;
    appearance:none;
    touch-action:manipulation;
  }
  .bds-talleres-filtros button{
    font-weight:700;
    cursor:pointer;
  }
  /* Accesibilidad: foco visible y contraste */
  .bds-talleres-filtros select:focus-visible,
  .bds-talleres-filtros input:focus-visible,
  .bds-talleres-filtros button:focus-visible{
    outline:3px solid rgba(227,6,19,.6); /* rojo marca */
    outline-offset:2px;
  }
  /* Reduce tap highlight azul en mÃ³viles */
  .bds-talleres-wrap { -webkit-tap-highlight-color: transparent; }
}



/* Buttons for buscador, including 'Borrar filtros' anchor */
.bds-talleres-filtros .bds-btn{
  display:inline-block; text-decoration:none; text-align:center;
  border:1px solid #ddd; border-radius:10px; padding:10px 14px; line-height:24px;
  font-weight:600; margin-left:8px;
}
.bds-talleres-filtros .bds-btn-secondary{ background:#f6f7f9; color:#111; border-color:#d0d4d9; }
.bds-talleres-filtros .bds-btn-secondary:hover{ background:#eceff3; }

@media (max-width: 640px){
  .bds-talleres-filtros .bds-btn{ width:100%; margin-left:0 }
}



/* --- Desktop/Tablet UX for filters --- */
.bds-talleres-filtros{
  display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap;
}
.bds-talleres-filtros select,
.bds-talleres-filtros input[type="search"],
.bds-talleres-filtros input[type="text"]{
  font-size:15px; line-height:22px; min-height:44px;
  padding:10px 12px; border-radius:10px;
}
.bds-talleres-filtros button,
.bds-talleres-filtros .bds-btn{
  font-size:15px; font-weight:700; min-height:44px;
  padding:10px 16px; border-radius:10px; text-align:center;
  cursor:pointer;
}
/* Primary button (Buscar) */
.bds-talleres-filtros button{
  background:#FF0000; color:#fff; border:1px solid #FF0000;
  box-shadow: 0 1px 0 rgba(0,0,0,.04);
}
.bds-talleres-filtros button:hover{ background:#FF0000; border-color:#FF0000; }
.bds-talleres-filtros button:active{ transform: translateY(1px); }
/* Secondary anchor button (Borrar filtros) */
.bds-talleres-filtros .bds-btn{ border:1px solid #d0d4d9; background:#f6f7f9; color:#111; text-decoration:none; }
.bds-talleres-filtros .bds-btn:hover{ background:#eceff3; }
/* Focus visibility for accessibility */
.bds-talleres-filtros select:focus-visible,
.bds-talleres-filtros input:focus-visible,
.bds-talleres-filtros button:focus-visible,
.bds-talleres-filtros .bds-btn:focus-visible{
  outline:3px solid rgba(227,6,19,.5);
  outline-offset:2px;
}
/* Keep mobile-specific big controls and full-width; already defined earlier */



/* --- Pagination color scheme (cards gray & red current) --- */
.bds-pagination a{
  background:#f2f3f5; color:#111; border:1px solid #d0d4d9;
  border-radius:10px; text-decoration:none;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.bds-pagination a:hover{ background:#eceff3; border-color:#c9cdd3; }
.bds-pagination a.current{
  background:#FF0000; color:#fff; border-color:#FF0000;
  box-shadow:0 0 0 1px #FF0000 inset;
}
.bds-pagination a:focus-visible{
  outline:3px solid rgba(227,6,19,.5);
  outline-offset:2px;
}



/* --- Force 3 columns on mobile --- */
@media (max-width: 640px){
  .bds-talleres-lista{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; justify-items: stretch !important; }
  .bds-taller-card{ max-width: none !important; width: 100%; margin: 0; }
}



/* --- Responsive columns: mobile 1, tablet 2, desktop 3 --- */
/* Base: mobile */
.bds-talleres-lista{ grid-template-columns: 1fr !important; }
/* Tablet (>=768px): 2 cols */
@media (min-width: 768px){
  .bds-talleres-lista{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}
/* Desktop (>=1024px): 3 cols */
@media (min-width: 1024px){
  .bds-talleres-lista{ grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
}

/* Ensure cards fit their columns on all sizes */
.bds-taller-card{ width:100% !important; max-width:100% !important; margin:0 auto; }



/* Load more button layout */
.bds-loadmore-wrap{display:flex; justify-content:center; margin:20px 0}
.bds-btn{display:inline-block; border:1px solid #d0d4d9; border-radius:10px; padding:10px 16px; min-height:44px; font-weight:700; text-decoration:none; cursor:pointer}
.bds-btn-primary{background:#FF0000; color:#fff; border-color:#FF0000}
.bds-btn-primary:hover{filter:brightness(0.92)}
.bds-btn[disabled]{opacity:.6; cursor:default}

