/* Workshops: catálogo */
.ws-edition-badge { display: inline-block; margin-top: 1rem; padding: .25rem .9rem; border-radius: 9999px; background: #681919; color: #fff; font-size: .75rem; font-weight: 600; }
.ws-exclusive-badge { display: inline-flex; align-items: center; gap: .4rem; margin-top: 1rem; padding: .3rem .9rem; border-radius: 9999px; background: rgba(209,143,49,.14); color: #8a5a12; font-size: .75rem; font-weight: 700; }

.ws-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 768px) { .ws-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .ws-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.ws-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #e5e7eb; border-radius: 1rem; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.06); transition: transform .2s ease, box-shadow .2s ease; }
.ws-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.ws-card-cover { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; background: #f3f4f6; color: #9ca3af; font-size: 2.5rem; overflow: hidden; }
.ws-card-cover img { width: 100%; height: 100%; object-fit: cover; }
.ws-status { position: absolute; top: .75rem; left: .75rem; padding: .2rem .65rem; border-radius: 9999px; font-size: .7rem; font-weight: 700; color: #fff; background: #15803d; }
.ws-status-last { background: #D18F31; }
.ws-status-sold_out { background: #6b7280; }
.ws-card-body { flex: 1; padding: 1.25rem; display: flex; flex-direction: column; gap: .6rem; min-width: 0; }
.ws-instructor { display: flex; align-items: center; gap: .6rem; }
.ws-instructor-photo { flex: 0 0 auto; width: 2.25rem; height: 2.25rem; border-radius: 9999px; overflow: hidden; background: #f3f4f6; display: inline-flex; align-items: center; justify-content: center; color: #9ca3af; }
.ws-instructor-photo img { width: 100%; height: 100%; object-fit: cover; }
.ws-card-by { font-size: .75rem; color: #6b7280; text-transform: uppercase; letter-spacing: .05em; }
.ws-card-title { font-family: var(--font-display, inherit); font-weight: 700; font-size: 1.25rem; color: #681919; }
.ws-card-title a { color: inherit; text-decoration: none; }
.ws-card-meta { list-style: none; padding: 0; margin: .25rem 0; display: flex; flex-wrap: wrap; gap: .4rem 1rem; font-size: .78rem; color: #4b5563; }
.ws-card-meta i { color: #D18F31; margin-right: .25rem; }
.ws-spots-bar { height: .4rem; border-radius: 9999px; background: #f3f4f6; overflow: hidden; }
.ws-spots-bar span { display: block; height: 100%; background: #D18F31; border-radius: inherit; transition: width .4s ease; }
.ws-card-spots { margin-top: .3rem; font-size: .72rem; color: #6b7280; }
.ws-card-footer { margin-top: auto; padding-top: .75rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; border-top: 1px solid #f3f4f6; }
.ws-card-price { font-weight: 700; font-size: 1.15rem; color: #681919; }
.ws-card-price-old { font-size: .75rem; color: #9ca3af; text-decoration: line-through; }
.ws-btn { display: inline-block; padding: .55rem 1.1rem; border-radius: .6rem; background: #D18F31; color: #fff; font-size: .8rem; font-weight: 700; text-decoration: none; transition: opacity .2s; }
.ws-btn:hover { opacity: .9; }
.ws-btn-disabled { background: #d1d5db; cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) { .ws-card, .ws-spots-bar span { transition: none; } .ws-card:hover { transform: none; } }
.ws-view-toggle { display:flex; justify-content:center; gap:.5rem; margin-bottom:1.5rem; }
.ws-view-btn { padding:.5rem 1rem; border-radius:9999px; border:1px solid #e5e7eb; background:#fff; color:#681919; font-size:.8rem; font-weight:600; cursor:pointer; transition:all .2s; }
.ws-view-btn--active { background:#681919; color:#fff; border-color:#681919; }
.ws-grade-day { font-weight:700; color:#681919; margin:1.5rem 0 .75rem; text-transform:capitalize; }
.ws-grade-wrap { overflow-x:auto; border:1px solid #e5e7eb; border-radius:.75rem; background:#fff; }
.ws-grade { width:100%; border-collapse:collapse; min-width:480px; }
.ws-grade th, .ws-grade td { border:1px solid #f1f1f1; padding:.5rem .65rem; vertical-align:top; font-size:.8rem; }
.ws-grade thead th { background:#681919; color:#fff; text-align:center; font-weight:600; }
.ws-grade tbody th { background:#faf6ee; color:#681919; white-space:nowrap; width:1%; }
.ws-grade-cell { display:block; padding:.4rem .5rem; border-radius:.5rem; background:#fdf6ec; border-left:3px solid #DEC26A; color:#3f0201; text-decoration:none; margin-bottom:.35rem; }
.ws-grade-cell:hover { background:#f8ecd0; }
.ws-grade-cell strong { display:block; }
.ws-grade-cell small { color:#6b7280; }
