/* =Casino Cards Styles v1.1.9
   ------------------------------------------------------------------ */

/* Container (list view) */
.cc-list { 
  display: grid; 
  gap: 16px; 
}

/* Card */
.cc-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 20px;
  border: 1px solid #eaeef3;
  border-radius: 16px;
  background: linear-gradient(135deg, #ffffff 0%, #f9fbff 100%);
  box-shadow: 0 2px 6px rgba(20,42,74,0.05);
}

/* Left cluster */
.cc-left { 
  display: grid; 
  grid-template-columns: 72px 1fr; 
  gap: 16px; 
  align-items: center; 
}
.cc-logo { 
  width:72px; height:72px; 
  border-radius:16px; 
  overflow:hidden; 
  background:#f6f8fb; 
  display:flex; align-items:center; justify-content:center; 
}
.cc-logo img { 
  width:100%; height:100%; object-fit:cover; display:block; 
}
.cc-logo__placeholder { 
  font-weight:700; font-size:24px; color:#6b7a90; 
}

/* Title + lines */
.cc-title { 
  margin:0 0 4px 0; 
  font-size:20px; line-height:1.25; 
  color:#18223a; 
}

/* Prominent Bonus line (above features) */
.cc-bonus {
  margin: 6px 0 14px;
  font-weight: 800;
  font-size: 20px;
  line-height: 1.4;
  color: #0d1a3a;
  padding: 8px 14px;
  border-radius: 12px;
  background: linear-gradient(90deg, #ffeaa7 0%, #fab1a0 100%);
  display: inline-block;
}

.cc-headline { 
  font-weight:700; 
  color:#18223a; 
  margin-bottom:10px; 
}

/* Feature pills */
.cc-badges { 
  list-style:none; margin:0; padding:0; 
  display:flex; flex-wrap:wrap; gap:10px; 
}
.cc-badges li {
  padding:8px 12px;
  border-radius:999px;
  background:#e9f7ee;           /* soft green pill */
  font-weight:600; font-size:14px;
  color:#1b6b3d;
}

/* Small print / T&Cs */
.cc-disclaimer { 
  margin-top:10px; 
  font-size:12px; line-height:1.4; 
  color:#6b7a90; 
}

/* Right cluster */
.cc-right { 
  display:flex; 
  flex-direction:column; 
  align-items:flex-end; 
  gap:12px; 
  min-width:220px; 
}

/* Rating */
.cc-rating { 
  display:flex; align-items:center; gap:6px; 
  font-weight:700; color:#2a9a55; 
}
.cc-star { font-size:18px; line-height:1; }
.cc-rating__num { font-size:16px; }

/* Buttons */
.cc-btn { 
  display:inline-flex; align-items:center; justify-content:center; 
  padding:14px 18px; 
  border-radius:999px; 
  font-weight:700; 
  text-decoration:none; 
}
.cc-btn--primary { 
  background:#3a7cff; color:#fff; 
  box-shadow: 0 4px 0 rgba(58,124,255,.18) inset; 
}
.cc-btn--primary:hover { filter:brightness(.98); }
.cc-btn--ghost { border:2px solid #cfe0ff; color:#1f3c82; background:#fff; }
.cc-btn--ghost:hover { background:#f7faff; }
.cc-btn--block { width: 100%; text-align: center; }

/* Responsive */
@media (max-width: 880px) {
  .cc-card { grid-template-columns: 1fr; }
  .cc-right { align-items:flex-start; min-width:0; }
}

/* ------------------------------------------------------------------ */
/* Trio grid (3-up mini cards)                                        */
/* ------------------------------------------------------------------ */

.cc-trio {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}
@media (max-width: 980px) { 
  .cc-trio { grid-template-columns: repeat(2, minmax(0, 1fr)); } 
}
@media (max-width: 640px) { 
  .cc-trio { grid-template-columns: 1fr; } 
}

/* Mini card */
.cc-mini {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid #eaeef3;
  border-radius: 16px;
  background: linear-gradient(135deg, #ffffff 0%, #f9fbff 100%);
  box-shadow: 0 2px 6px rgba(20,42,74,0.05);
  align-content: start;
  min-height: 100%;
}

.cc-mini-logo {
  width: 64px; height: 64px;
  border-radius: 14px;
  overflow: hidden;
  background: #f6f8fb;
}
.cc-mini-logo img { width: 100%; height: 100%; object-fit: cover; display:block; }

.cc-mini-title {
  margin: 6px 0 0;
  font-size: 18px;
  line-height: 1.25;
  color: #18223a;
}

.cc-mini-bonus {
  margin: 2px 0 10px;
  font-weight: 800;
  font-size: 16px;
  line-height: 1.35;
  color: #0d1a3a;
  padding: 8px 12px;
  border-radius: 12px;
  background: linear-gradient(90deg, #ffeaa7 0%, #fab1a0 100%);
}

/* Center everything in [casino_trio] mini cards */
.cc-trio .cc-mini{
  justify-items: center;   /* center grid items horizontally */
  text-align: center;      /* center text inside items */
}

.cc-trio .cc-mini-logo{
  /* centered by justify-items; no margin needed */
}

.cc-trio .cc-mini-title{
  text-align: center;
}

/* make the orange bonus pill shrink to its content and center */
.cc-trio .cc-mini-bonus{
  display: inline-block;
  margin: 6px auto 12px;   /* center horizontally */
}
/* Bigger logos on trio cards */
.cc-trio .cc-mini-logo{
  width: 100px;
  height: 100px;
  border-radius: 16px;   /* keep the nice rounded look */
}
@media (max-width:480px){
  .cc-trio .cc-mini-logo{ width:64px; height:64px; }  /* tidy on small phones */
}

/* =============== FSC Toggles / Accordion =============== */
.fsc-accordion{ gap: 4px; }      /* was 8+ */
.fsc-acc{ margin: 0 !important; }/* kill any theme/default margin on <details> */

.fsc-acc{
  border:1px solid #e5eaf3;
  border-radius:12px;
  background:#f5f8ff;
  overflow:hidden;
}

/* summary row */
.fsc-acc__summary{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:16px 18px; cursor:pointer; list-style:none;
  font-weight:800; color:#17253f;
}
.fsc-acc__summary::-webkit-details-marker{ display:none; }

.fsc-acc__title{ font-size:18px; }

/* icon */
.fsc-acc__icon{ width:24px; height:24px; display:grid; place-items:center; color:#324a7c; }
.fsc-acc__icon--chevron::before{ content:"▾"; display:inline-block; transform:rotate(-90deg); transition:transform .18s ease; font-weight:900; }
details[open] .fsc-acc__icon--chevron::before{ transform:rotate(0); }
.fsc-acc__icon--plus::before{ content:"+"; font-weight:900; transition:transform .18s ease; }
details[open] .fsc-acc__icon--plus::before{ transform:rotate(45deg); }

/* content panel */
.fsc-acc__panel{
  background:#fff;
  border-top:1px solid #e5eaf3;
  padding:16px 18px;
  color:#1e293b;
  line-height:1.7;
}

/* optional: nicer open animation */
@media (prefers-reduced-motion: no-preference){
  .fsc-acc__panel{ animation: fscAccOpen .18s ease; }
  @keyframes fscAccOpen{ from{opacity:0; transform:translateY(-2px);} to{opacity:1; transform:none;} }
}
/* layout + spacing */
.fsc-accordion{
  display: grid;          /* ← add this */
  gap: 6px;               /* your tighter spacing */
}

/* accessible focus style (replace the harsh default outline) */
.fsc-acc:focus-within{
  outline: none;
  box-shadow: 0 0 0 2px #cfe0ff;
  border-color: #cfe0ff;
}

.fsc-acc__summary:focus{ outline: none; }
/* kill stray paragraphs inserted by WP between details */
.fsc-accordion { display:grid; gap: var(--fsc-acc-gap, 0); }
.fsc-accordion > p { display:none !important; margin:0 !important; }
.fsc-acc { margin:0 !important; }

/* ===== Page meta (author / dates) ===== */
.fsc-page-meta{
  --pm-ink:#0f172a;
  --pm-muted:#5b6b82;
  --pm-bg:#f6f8fb;
  --pm-border:#e7edf4;

  display:grid;
  grid-template-columns: 52px 1fr;
  gap:12px;
  align-items:center;

  padding:14px 16px;
  margin: 0 0 18px 0;
  color:var(--pm-ink);
  background: var(--pm-bg);
  border:1px solid var(--pm-border);
  border-radius:14px;
  box-shadow: 0 1px 0 rgba(16,24,40,.02);
}

.fsc-pm-left{ display:flex; align-items:center; justify-content:center; }
.fsc-pm-avatar{ width:48px; height:48px; border-radius:50%; box-shadow:0 1px 3px rgba(16,24,40,.12); }
.fsc-pm-avatarlink{ display:inline-block; line-height:0; border-radius:50%; }

.fsc-pm-authorline{ font-size:14px; color:var(--pm-muted); }
.fsc-pm-label{ margin-right:6px; }
.fsc-pm-author{ font-weight:800; color:var(--pm-ink); text-decoration:none; }
.fsc-pm-author:hover{ text-decoration:underline; }

.fsc-pm-meta{
  margin-top:6px;
  display:flex; flex-wrap:wrap; gap:8px;
  color:var(--pm-muted); font-size:13.5px;
}
.fsc-pm-chip{
  background:#eef2f7;
  border:1px solid var(--pm-border);
  padding:4px 8px;
  border-radius:999px;
  line-height:1.2;
}

/* Responsive: stack on narrow screens */
@media (max-width: 540px){
  .fsc-page-meta{ grid-template-columns: 40px 1fr; gap:10px; }
  .fsc-pm-avatar{ width:40px; height:40px; }
}

/* ===== Page right sidebar layout (desktop only) ===== */
.fsc-layout { width: 100%; }
.fsc-main { min-width: 0; }

/* Desktop grid */
@media (min-width: 1200px){
  .fsc-layout{
    display: grid;
    grid-template-columns: minmax(0,1fr) 320px; /* content | sidebar width */
    gap: 28px;
    align-items: start;
  }
  .fsc-side{
    position: sticky;
    top: 100px;           /* adjust for your header height */
  }
}

/* Hide sidebar on tablet/phone */
@media (max-width: 1199.98px){
  .fsc-side{ display: none !important; }
}

/* Sidebar widgets styling */
.fsc-side-widget{
  background: #f7f9fc;
  border: 1px solid #e6edf5;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: 0 1px 6px rgba(16,24,40,.04);
}
.fsc-side-title{
  margin: 0 0 10px;
  font-size: 16px;
  font-weight: 800;
  color: #0f172a;
}
/* Sidebar layout — make sure it kicks in on most desktops */
.fsc-layout { width: 100%; }
.fsc-main   { min-width: 0; }

/* Force the 2-column grid at >= 1024px (was 1200px) */
@media (min-width: 1024px){
  .fsc-layout{
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 320px;  /* content | sidebar */
    gap: 28px;
    align-items: start;
  }
  .fsc-side{ position: sticky; top: 100px; }
}

/* Keep the sidebar hidden on tablet/phone */
@media (max-width: 1023.98px){
  .fsc-side{ display: none !important; }
}

/* Defensive: if a theme sets display:block on .fsc-layout, win anyway */
.fsc-layout:not(:has(.fsc-side)) { display:block; } /* no sidebar => normal flow */

/* ===== Single Brand Offer card ===== */
.fsc-offer{
  --ink:#0f172a; --muted:#64748b; --border:#e9eef6;
  --bg1:#ffffff; --bg2:#f7fbff; --cta:#3a7cff;
  border:1px solid var(--border);
  border-radius:16px;
  background: linear-gradient(135deg,var(--bg1) 0%,var(--bg2) 100%);
  box-shadow:0 6px 18px rgba(15,23,42,.08);
  padding:16px;
  margin:16px 0;
}
.fsc-offer--align-center { margin-left:auto; margin-right:auto; text-align:center; }
.fsc-offer--align-right  { margin-left:auto; }

.fsc-offer__head{ display:grid; grid-template-columns:64px 1fr; gap:12px; align-items:center; }
.fsc-offer__logo{ width:64px; height:64px; border-radius:14px; overflow:hidden; background:#f1f5fb; display:grid; place-items:center; }
.fsc-offer__logo img{ width:100%; height:100%; object-fit:cover; }
.fsc-offer__placeholder{ font-weight:800; color:#6b7a90; font-size:22px; }

.fsc-offer__title{ margin:0 0 4px; font-size:20px; line-height:1.25; color:var(--ink); }
.fsc-offer__bonus{
  display:inline-block; font-weight:800; color:#0d1a3a;
  background: linear-gradient(90deg,#ffeaa7 0%, #fab1a0 100%);
  padding:8px 12px; border-radius:12px; font-size:16px;
}

.fsc-offer__actions{ margin-top:14px; }
.fsc-offer__cta{
  display:inline-block; padding:12px 18px; border-radius:999px;
  background:var(--cta); color:#fff; text-decoration:none; font-weight:800;
  box-shadow:0 8px 18px rgba(58,124,255,.25);
}
.fsc-offer__cta:hover{ filter:brightness(.98); }

.fsc-offer__terms{
  margin-top:10px; font-size:12px; line-height:1.45; color:var(--muted);
}

/* wide variant */
.fsc-offer--wide .fsc-offer__head{ grid-template-columns:72px 1fr auto; }
.fsc-offer--wide .fsc-offer__actions{ margin:0; }
@media (max-width: 680px){
  .fsc-offer--wide .fsc-offer__head{ grid-template-columns:64px 1fr; }
  .fsc-offer--wide .fsc-offer__actions{ margin-top:12px; }
}

/* === fsc_offer: inline layout alignment === */
.fsc-offer--inline{
  display: grid;
  grid-template-columns: 72px 1fr;   /* logo | text */
  gap: 14px;
  align-items: center;               /* align block with logo */
}

/* logo size (adjust if you prefer 64/72/80) */
.fsc-offer--inline .fsc-offer__logo{
  width: 64px; height: 64px;
  border-radius: 14px; overflow: hidden;
  display: grid; place-items: center;
}
.fsc-offer--inline .fsc-offer__logo img{ width:100%; height:100%; object-fit:cover; }

/* vertically center the title+bonus block relative to the logo */
.fsc-offer--inline .fsc-offer__meta{
  display: flex;
  flex-direction: column;
  justify-content: center;   /* <-- this centers against the logo */
  gap: 8px;
}

/* title sits tight to the top of the meta block */
.fsc-offer--inline .fsc-offer__title{
  margin: 0;
  line-height: 1.15;
}

/* bonus + CTA on one row, nicely aligned */
.fsc-offer--inline .fsc-offer__row{
  display: flex;
  align-items: center;
  gap: 12px;
}

/* optional: keep things stacking on narrow screens */
@media (max-width: 520px){
  .fsc-offer--inline{
    grid-template-columns: 56px 1fr;
    gap: 12px;
  }
  .fsc-offer--inline .fsc-offer__logo{ width:56px; height:56px; }
  .fsc-offer--inline .fsc-offer__row{ flex-wrap: wrap; gap: 10px; }
}
/* Push CTA to the far right in the inline layout */
.fsc-offer--inline .fsc-offer__row{
  display: grid;
  grid-template-columns: 1fr auto;   /* bonus | CTA */
  align-items: center;
  gap: 12px;
}

/* Keep the chip from blowing past the edge */
.fsc-offer--inline .fsc-offer__bonus{
  min-width: 0;            /* allow shrinking */
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Optional: a consistent CTA size */
.fsc-offer--inline .fsc-offer__cta{
  min-width: 160px;
  text-align: center;
}

/* On narrow screens you can stack again if you like */
@media (max-width: 520px){
  .fsc-offer--inline .fsc-offer__row{
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .fsc-offer--inline .fsc-offer__cta{ justify-self: start; }
}
