.slots-calendar { position: relative; margin: 24px 0; background: #edf4fc; background: linear-gradient(to bottom, #e4eefa 0%, #edf4fc 100%); border: 1px solid #dae4f0; border-radius: 10px; padding: 20px 12px; }
.slots-calendar .slots-calendar-top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.slots-calendar .slots-calendar-heading { display: contents; }
.slots-calendar .slots-calendar-icon { flex-shrink: 0; width: 44px; height: 44px; }
.slots-calendar .slots-calendar-icon span { display: block; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center; background-size: contain; font-size: 0; color: transparent; filter: drop-shadow(0 4px 6px rgba(34, 62, 89, 0.16)); }
.slots-calendar .slots-calendar-eyebrow { flex-grow: 1; flex-basis: 0; font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #7c8fa2; }
.slots-calendar .slots-calendar-title { flex-basis: 100%; margin: 2px 0 0; font-size: 22px; line-height: 1.25; font-weight: 700; color: #1f1f1f; }
.slots-calendar .slots-calendar-nav { display: flex; flex-shrink: 0; gap: 8px; margin-left: auto; }
.slots-calendar .slots-calendar-nav-prev, .slots-calendar .slots-calendar-nav-next { width: 36px; height: 36px; border: 1px solid #dae4f0; border-radius: 8px; background-color: #ffffff; background-repeat: no-repeat; background-position: center; background-size: 16px; font-size: 0; color: transparent; cursor: pointer; transition: background-color 0.2s ease; }
.slots-calendar .slots-calendar-nav-prev:hover, .slots-calendar .slots-calendar-nav-next:hover { background-color: #ebf2f9; }
.slots-calendar .slots-calendar-nav-prev { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M10 3L5 8l5 5' fill='none' stroke='%23343434' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.slots-calendar .slots-calendar-nav-next { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M6 3l5 5-5 5' fill='none' stroke='%23343434' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.slots-calendar .slots-calendar-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 40px 0 16px; }
.slots-calendar .slots-calendar-views { display: flex; flex-grow: 1; flex-basis: 0; padding: 3px; border-radius: 8px; background: #ffffff; }
.slots-calendar .slots-calendar-view-btn { flex-grow: 1; border: 0; padding: 8px 10px; border-radius: 5px; background: transparent; font-family: inherit; font-size: 14px; font-weight: 600; color: #5f6f7f; cursor: pointer; }
.slots-calendar .slots-calendar-view-btn.is-active { background: #2286bd; color: #ffffff; }
.slots-calendar .slots-calendar-filter { display: flex; flex-grow: 1; flex-basis: 0; align-items: center; gap: 8px; }
.slots-calendar .slots-calendar-filter-label { display: none; font-size: 14px; color: #5f6f7f; }
.slots-calendar .slots-calendar-provider { width: 100%; padding: 8px 28px 8px 8px; border: 1px solid #dae4f0; border-radius: 5px; background-color: #ffffff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5L6 8l3.5-3.5' fill='none' stroke='%23343434' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; background-size: 12px; font-family: inherit; font-size: 14px; color: #343434; cursor: pointer; -webkit-appearance: none; appearance: none; }
.slots-calendar .slots-calendar-break { flex-basis: 100%; height: 0; overflow: hidden; font-size: 0; color: transparent; }
.slots-calendar .slots-calendar-legend { display: flex; align-items: center; gap: 14px; font-size: 14px; color: #5f6f7f; }
.slots-calendar.view-list .slots-calendar-legend { display: none; }
.slots-calendar .slots-calendar-legend-launch::before, .slots-calendar .slots-calendar-legend-today::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: #fe7146; }
.slots-calendar .slots-calendar-legend-today::before { background: #ffc203; }
.slots-calendar .slots-calendar-grid-view { padding: 10px; border: 1px solid #dae4f0; border-radius: 8px; background: #ffffff; }
.slots-calendar .slots-calendar-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; margin-bottom: 6px; }
.slots-calendar .slots-calendar-weekday { padding: 6px 0; text-align: center; font-size: 11px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; color: #7c8fa2; }
.slots-calendar .slots-calendar-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.slots-calendar .slots-calendar-day { position: relative; display: flex; align-items: center; justify-content: center; min-height: 36px; padding: 4px; border: 1px solid #edf3fa; border-radius: 8px; background: transparent; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.2; color: #343434; }
.slots-calendar .slots-calendar-day.is-empty { border-color: transparent; font-size: 0; color: transparent; }
.slots-calendar .slots-calendar-day.has-launch { background: #ffeae3; border-color: #fec9b7; cursor: pointer; transition: background-color 0.2s ease; }
.slots-calendar .slots-calendar-day.has-launch:hover { background: #fed7c6; }
.slots-calendar .slots-calendar-day.is-today { background: #fef7e0; border-color: #f3d45e; }
.slots-calendar .slots-calendar-day.is-open, .slots-calendar .slots-calendar-day.is-open:hover { background: #fe7146; background: linear-gradient(135deg, #fe7146 0%, #fe7146 70%, #e05438 100%); border-color: #e05438; color: #ffffff; }
.slots-calendar .slots-calendar-day-count { position: absolute; top: -6px; right: -6px; display: flex; align-items: center; justify-content: center; min-width: 16px; height: 16px; padding: 0 3px; border: 1px solid transparent; border-radius: 8px; background: #fe7146; color: #ffffff; font-size: 11px; font-weight: 700; line-height: 1; }
.slots-calendar .slots-calendar-day.is-open .slots-calendar-day-count { border-color: #fe7146; background: #ffffff; color: #e05438; }
.slots-calendar .slots-calendar-empty-note { margin-top: 16px; padding: 14px 16px; border: 1px solid #dae4f0; border-radius: 8px; background: #ffffff; font-size: 14px; color: #5f6f7f; }
.slots-calendar .slots-calendar-panel { margin-top: 16px; padding: 16px; border: 1px solid #dae4f0; border-radius: 8px; background: #f5f9fe; }
.slots-calendar .slots-calendar-panel-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.slots-calendar .slots-calendar-panel-date { font-size: 14px; font-weight: 700; letter-spacing: 0.5px; color: #343434; }
.slots-calendar .slots-calendar-panel-date .slots-calendar-date-num, .slots-calendar .slots-calendar-list-date .slots-calendar-date-num { color: #fe7146; }
.slots-calendar .slots-calendar-panel-close { width: 28px; height: 28px; border: 0; border-radius: 5px; background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 3l8 8M11 3l-8 8' fill='none' stroke='%237c8fa2' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: center; font-size: 0; color: transparent; cursor: pointer; transition: background-color 0.2s ease; }
.slots-calendar .slots-calendar-panel-close:hover { background-color: #ebf2f9; }
.slots-calendar .slots-calendar-slot { margin-bottom: 12px; padding: 14px; border: 1px solid #e2ecf9; border-radius: 8px; background: #ffffff; }
.slots-calendar .slots-calendar-slot:last-child { margin-bottom: 0; }
.slots-calendar .slots-calendar-slot-head { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.slots-calendar .slots-calendar-slot-logo { flex-shrink: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; width: 46px; height: 46px; border-radius: 10px; font-size: 14px; font-weight: 700; color: #ffffff; }
.slots-calendar .slots-calendar-slot-logo span, .slots-calendar .slots-calendar-list-logo span, .slots-calendar .slots-calendar-released-logo span { display: block; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center; background-size: cover; font-size: 0; color: transparent; }
.slots-calendar .slots-calendar-slot-name { font-size: 16px; line-height: 1.25; font-weight: 700; color: #343434; }
.slots-calendar .slots-calendar-slot-provider { font-size: 14px; color: #7c8fa2; }
.slots-calendar .slots-calendar-badge-exclusive { display: block; width: -moz-fit-content; width: fit-content; margin: 4px 0 0; padding: 2px 7px; border-radius: 4px; background: #4b9443; color: #ffffff; font-size: 10px; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; }
.slots-calendar .slots-calendar-badge-tbc { display: block; width: -moz-fit-content; width: fit-content; margin: 4px 0 0; padding: 2px 7px; border: 1px solid #ead9a8; border-radius: 4px; background: #fef9eb; color: #b98a1c; font-size: 10px; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; }
.slots-calendar .slots-calendar-slot-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.slots-calendar .slots-calendar-stat { padding: 8px 10px; border: 1px solid #e2ecf9; border-radius: 5px; background: #f5f9fd; }
.slots-calendar .slots-calendar-stat-label { display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; color: #7c8fa2; }
.slots-calendar .slots-calendar-stat-value { display: block; margin-top: 2px; font-size: 14px; font-weight: 700; color: #343434; }
.slots-calendar .slots-calendar-slot-feats, .slots-calendar .slots-calendar-slot-casinos { margin-top: 22px; }
.slots-calendar .slots-calendar-slot-label { display: block; margin-bottom: 6px; font-size: 11px; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; color: #7c8fa2; }
.slots-calendar .slots-calendar-chip { display: inline-block; margin: 0 6px 4px 0; padding: 4px 10px; border-radius: 20px; background: #e2ecf9; color: #1f86b1; font-size: 14px; font-weight: 600; }
.slots-calendar .slots-calendar-casino-tag { display: inline-block; margin: 0 6px 4px 0; padding: 4px 20px 4px 10px; border-radius: 5px; background-color: #242424; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M3 1.5L6.5 5 3 8.5' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 8px center; background-size: 8px; color: #ffffff; font-size: 13px; font-weight: 700; text-decoration: none; cursor: pointer; transition: background-color 0.2s ease; }
.slots-calendar .slots-calendar-casino-tag:hover { background-color: #fe7146; text-decoration: none; }
.slots-calendar .slots-calendar-list-group { margin-bottom: 4px; }
.slots-calendar.is-offmonth .slots-calendar-list-group { display: none; }
.slots-calendar .slots-calendar-list-date { margin: 16px 0 8px; font-size: 14px; font-weight: 700; letter-spacing: 0.5px; color: #343434; }
.slots-calendar .slots-calendar-list-item { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 8px; padding: 10px 12px; border: 1px solid #e2ecf9; border-radius: 8px; background: #ffffff; }
.slots-calendar .slots-calendar-list-logo { flex-shrink: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; width: 50px; height: 50px; border-radius: 10px; font-size: 14px; font-weight: 700; color: #ffffff; }
.slots-calendar .slots-calendar-list-info { flex-grow: 1; flex-shrink: 1; flex-basis: 0; min-width: 0; }
.slots-calendar .slots-calendar-list-name { font-size: 15px; line-height: 1.25; font-weight: 700; color: #343434; }
.slots-calendar .slots-calendar-list-meta { font-size: 14px; color: #7c8fa2; }
.slots-calendar .slots-calendar-list-links { flex-basis: 100%; }
.slots-calendar .slots-calendar-list-links .slots-calendar-slot-label { margin-bottom: 4px; }
.slots-calendar .slots-calendar-list-stats { flex-basis: 100%; font-size: 13px; color: #7c8fa2; }
.slots-calendar .slots-calendar-list-stats span { margin-right: 12px; }
.slots-calendar .slots-calendar-list-stats strong { color: #343434; }
.slots-calendar .slots-calendar-released { margin-top: 24px; }
.slots-calendar .slots-calendar-released h2, .slots-calendar .slots-calendar-released h3, .slots-calendar .slots-calendar-released h4, .slots-calendar .slots-calendar-released .slots-calendar-released-title { margin: 0 0 4px; font-size: 20px; line-height: 1.3; font-weight: 700; color: #1f1f1f; }
.slots-calendar .slots-calendar-released p { margin: 0 0 16px; font-size: 14px; color: #5f6f7f; }
.slots-calendar .slots-calendar-released-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.slots-calendar .slots-calendar-released-card { padding: 14px; border: 1px solid #e2ecf9; border-radius: 8px; background: #ffffff; }
.slots-calendar .slots-calendar-released-head { display: flex; align-items: center; gap: 10px; }
.slots-calendar .slots-calendar-released-logo { flex-shrink: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; width: 50px; height: 50px; border-radius: 10px; font-size: 15px; font-weight: 700; color: #ffffff; }
.slots-calendar .slots-calendar-released-name { font-size: 16px; line-height: 1.25; font-weight: 700; color: #343434; }
.slots-calendar .slots-calendar-released-provider { font-size: 14px; color: #7c8fa2; }
.slots-calendar .slots-calendar-released-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; }
.slots-calendar .slots-calendar-status { padding: 4px 10px; border-radius: 20px; background: #e6f6ec; color: #1e8e4d; font-size: 14px; font-weight: 700; white-space: nowrap; }
.slots-calendar .slots-calendar-status::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: #1e8e4d; }
.slots-calendar .slots-calendar-released-actions .act1 { display: block; margin: 0; border-radius: 5px; padding: 7px 20px; font-weight: 700; font-size: 14px; text-transform: initial; box-sizing: border-box; }
.slots-calendar .slots-calendar-disclaimer { margin-top: 20px; font-size: 14px; line-height: 1.5; color: #93a3b3; }
.slots-calendar .logo-indigo { background: #5b67e0; }
.slots-calendar .logo-teal { background: #0f8a96; }
.slots-calendar .logo-purple { background: #8b5cf6; }
.slots-calendar .logo-violet { background: #7c5ce0; }
.slots-calendar .logo-orange { background: #fe7146; }
.slots-calendar .logo-red { background: #e05438; }
.slots-calendar .logo-navy { background: #22406b; }
.slots-calendar .logo-pink { background: #e84c88; }
.slots-calendar .logo-blue { background: #1f86b1; }
.slots-calendar .logo-amber { background: #e8a13c; }
.slots-calendar .is-hidden { display: none; }
@media (min-width: 768px) {
  .slots-calendar { margin: 32px auto; padding: 28px 32px; }
  .slots-calendar .slots-calendar-grid-view { padding: 12px; }
  .slots-calendar .slots-calendar-weekdays, .slots-calendar .slots-calendar-days { gap: 6px; }
  .slots-calendar .slots-calendar-icon { width: 53px; height: 53px; }
  .slots-calendar .slots-calendar-top { flex-wrap: nowrap; align-items: flex-start; gap: 18px; padding-right: 96px; }
  .slots-calendar .slots-calendar-nav { position: absolute; top: 28px; right: 32px; margin-left: 0; }
  .slots-calendar .slots-calendar-heading { display: block; flex-grow: 1; min-width: 0; }
  .slots-calendar .slots-calendar-eyebrow { font-size: 12px; letter-spacing: 1.5px; }
  .slots-calendar .slots-calendar-title { font-size: 30px; }
  .slots-calendar .slots-calendar-view-btn { flex-grow: 0; padding: 10px 20px; font-size: 15px; }
  .slots-calendar .slots-calendar-filter-label { display: inline; }
  .slots-calendar .slots-calendar-controls { gap: 12px; }
  .slots-calendar .slots-calendar-views { display: inline-flex; flex-grow: 0; flex-basis: auto; }
  .slots-calendar .slots-calendar-filter { flex-grow: 0; flex-basis: auto; margin-left: 20px; }
  .slots-calendar .slots-calendar-provider { width: auto; padding: 10px 34px 10px 14px; font-size: 15px; }
  .slots-calendar .slots-calendar-day { align-items: flex-start; justify-content: flex-end; min-height: 72px; padding: 6px 8px; font-size: 15px; }
  .slots-calendar .slots-calendar-day-count { top: 6px; right: auto; left: 8px; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 11px; font-size: 14px; }
  .slots-calendar .slots-calendar-casino-tag { padding: 4px 24px 4px 10px; background-color: #242424; background-position: right 9px center; background-size: 10px; font-size: 14px; }
  .slots-calendar .slots-calendar-casino-tag:hover { background-color: #fe7146; }
  .slots-calendar .slots-calendar-slot-stats { grid-template-columns: repeat(4, 1fr); }
  .slots-calendar .slots-calendar-slot { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
  .slots-calendar .slots-calendar-slot-head, .slots-calendar .slots-calendar-slot-stats { grid-column: 1 / -1; }
  .slots-calendar .slots-calendar-list-item { gap: 10px; }
  .slots-calendar .slots-calendar-list-logo { width: 42px; height: 42px; }
  .slots-calendar .slots-calendar-slot-head { gap: 10px; }
  .slots-calendar .slots-calendar-badge-exclusive, .slots-calendar .slots-calendar-badge-tbc { display: inline-block; vertical-align: middle; width: auto; margin: 0 0 0 6px; }
  .slots-calendar .slots-calendar-list-links { flex-basis: 100%; }
  .slots-calendar .slots-calendar-list-stats { flex-basis: auto; flex-shrink: 0; margin-left: auto; font-size: 14px; text-align: right; }
  .slots-calendar .slots-calendar-list-stats span { margin-right: 0; margin-left: 14px; }
  .slots-calendar .slots-calendar-released-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- slots-calendar plugin addendum ---------- */
/* The theme's minified/default-stylesheet.css still carries the old slots-calendar module (orange chips on mobile,
   green exclusive badge) and may load AFTER this file. Every rule below is scoped to the plugin root ([data-slc]) so it
   wins on specificity regardless of order. */
.slots-calendar[data-slc] .slots-calendar-casino-tag { background-color: #242424; color: #ffffff; }
.slots-calendar[data-slc] .slots-calendar-casino-tag:hover { background-color: #fe7146; }
/* Operator chips are black on every viewport; only the exclusive operator's chip is orange (design MUST). */
.slots-calendar[data-slc] .slots-calendar-badge-exclusive { background: #fe7146; color: #ffffff; }
.slots-calendar[data-slc] .slots-calendar-casino-tag.is-exclusive { background-color: #fe7146; border-color: #e05438; color: #ffffff; }
.slots-calendar[data-slc] .slots-calendar-casino-tag.is-exclusive:hover { background-color: #e05438; }
/* Month arrows at the range edges. */
.slots-calendar[data-slc] .slots-calendar-nav-prev:disabled, .slots-calendar[data-slc] .slots-calendar-nav-next:disabled,
.slots-calendar[data-slc] .slots-calendar-nav-prev:disabled:hover, .slots-calendar[data-slc] .slots-calendar-nav-next:disabled:hover { opacity: .35; cursor: default; background-color: #ffffff; }
/* Day cells the provider filter emptied. */
.slots-calendar[data-slc] .slots-calendar-day:disabled { cursor: default; }
/* "Leer reseña" in the detail ficha. */
.slots-calendar[data-slc] .slots-calendar-slot-actions { margin-top: 12px; }
.slots-calendar[data-slc] .slots-calendar-chip-tbc { color: #7c8fa2; font-style: italic; }
/* Desktop: features (+ the review button) always in the left column, operators always in the right one. */
@media (min-width: 768px) {
  .slots-calendar[data-slc] .slots-calendar-slot-feats { grid-column: 1; }
  .slots-calendar[data-slc] .slots-calendar-slot-casinos { grid-column: 2; }
}
.slots-calendar[data-slc] .slots-calendar-review-btn { display: inline-block; padding: 7px 16px; border: 1px solid #2286bd; border-radius: 5px; background: #ffffff; color: #2286bd; font-size: 14px; font-weight: 700; text-decoration: none; }
.slots-calendar[data-slc] .slots-calendar-review-btn:hover { background: #2286bd; color: #ffffff; }
/* Released cards: tag left, go link right, never wrapping. */
.slots-calendar[data-slc] .slots-calendar-released-actions { flex-wrap: nowrap; }
.slots-calendar[data-slc] .slots-calendar-released-actions .act1 { white-space: nowrap; flex-shrink: 0; }
.slots-calendar[data-slc] .slots-calendar-released-title { margin: 0 0 4px; font-size: 18px; font-weight: 700; color: #1f1f1f; }
/* Logo tiles without artwork show the initial. */
.slots-calendar[data-slc] .slots-calendar-slot-logo span, .slots-calendar[data-slc] .slots-calendar-list-logo span, .slots-calendar[data-slc] .slots-calendar-released-logo span { display: flex; align-items: center; justify-content: center; color: #ffffff; font-weight: 700; }
/* Per-month sections + no-JS mode: the chronological list is what shows. */
.slots-calendar[data-slc] .slots-calendar-month-title { display: none; }
.slots-calendar[data-slc].is-nojs .slots-calendar-month[hidden] { display: block; }
.slots-calendar[data-slc].is-nojs .slots-calendar-month-title { display: block; margin: 20px 0 8px; font-size: 18px; font-weight: 700; color: #1f1f1f; }
.slots-calendar[data-slc].is-nojs .slots-calendar-views, .slots-calendar[data-slc].is-nojs .slots-calendar-filter, .slots-calendar[data-slc].is-nojs .slots-calendar-legend, .slots-calendar[data-slc].is-nojs .slots-calendar-nav,
.slots-calendar[data-slc].is-nojs .slots-calendar-grid-view, .slots-calendar[data-slc].is-nojs .slots-calendar-grid-view + .slots-calendar-empty-note, .slots-calendar[data-slc].is-nojs .slots-calendar-panels { display: none; }
.slots-calendar[data-slc].is-nojs .slots-calendar-list { display: block; }

/* 0.4.0 — no operators yet: note in place of the chips. */
.slots-calendar[data-slc] .slots-calendar-casinos-tbc { display: block; font-size: 14px; line-height: 1.4; color: #4a5a6a; }
