/* Recess Classes Manager: isolated public styling. */
.rscm-directory,.rscm-marquee{--rscm-gold:#c9a468;--rscm-ink:#101414;font-family:Poppins,Arial,sans-serif}
.rscm-directory *, .rscm-marquee *{box-sizing:border-box}
.rscm-directory{color:#f6f2eb}
.rscm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.17);padding-bottom:22px;margin-bottom:22px}
.rscm-filters{display:flex;flex-wrap:wrap;gap:8px}
.rscm-filters button{background:transparent;color:#f6f2eb;border:1px solid #626562;border-radius:0;font:600 12px/1.3 Poppins,Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;min-height:44px;padding:11px 14px;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}
.rscm-filters button[aria-pressed=true]{background:var(--rscm-gold);color:#171a17;border-color:var(--rscm-gold)}
.rscm-filters button:hover{border-color:var(--rscm-gold)}
.rscm-count{color:#ccc8c0;font-size:12px;white-space:nowrap;text-transform:uppercase;letter-spacing:.08em}
.rscm-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:14px;width:100%;min-width:0}
.rscm-card{flex:0 0 calc((100% - 28px)/3);position:relative;display:flex;align-items:flex-end;min-height:355px;width:100%;padding:0;text-align:left;border:1px solid rgba(255,255,255,.14);border-radius:0;overflow:hidden;isolation:isolate;background:linear-gradient(130deg,#303935,#171c1b);cursor:pointer;color:#fff}

.rscm-card[hidden]{display:none!important}
.rscm-card>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:brightness(.77) saturate(.84);transition:transform .35s ease,filter .35s ease}
.rscm-card:hover>img,.rscm-card:focus-visible>img{transform:scale(1.04);filter:brightness(.92) saturate(.9)}
.rscm-card__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.86),transparent 63%),linear-gradient(180deg,rgba(0,0,0,.37),transparent 36%);pointer-events:none}
.rscm-card__tag{position:absolute;top:20px;left:20px;font-weight:700;color:#edcb91;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.rscm-card__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;width:100%;padding:22px}
.rscm-card__foot strong{display:block;color:#fff;font:750 clamp(21px,2vw,31px)/1.05 Poppins,Arial,sans-serif;text-transform:uppercase;letter-spacing:-.02em}
.rscm-card__foot small{display:block;color:#efe9de;font:500 12px/1.35 Poppins,Arial,sans-serif;margin-top:9px}
.rscm-card__arrow{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border:1px solid #c9a468;color:#dabb87;font-size:20px}
.rscm-card:hover .rscm-card__arrow{background:#c9a468;color:#141717}
.rscm-dialog{border:1px solid rgba(201,164,104,.5);background:#101515;color:#f8f4ed;width:min(770px,calc(100vw - 25px));max-width:770px;max-height:min(92dvh,900px);padding:0;overflow:auto;box-shadow:0 30px 100px rgba(0,0,0,.75);font-family:Poppins,Arial,sans-serif}
.rscm-dialog::backdrop{background:rgba(0,6,5,.78);backdrop-filter:blur(9px)}
.rscm-dialog__inner{padding:clamp(18px,3.5vw,32px)}
.rscm-dialog__top{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#d1ad71;letter-spacing:.15em;font:700 11px/1.4 Poppins,Arial,sans-serif}
.rscm-dialog__close{border:1px solid #666;background:transparent;color:#fff;min-height:44px;padding:8px 14px;cursor:pointer;font:600 12px/1.3 Poppins,Arial,sans-serif}
.rscm-dialog__focus{color:#d7b475;letter-spacing:.12em;text-transform:uppercase;font:700 11px/1.3 Poppins,Arial,sans-serif;margin:25px 0 8px}
.rscm-dialog h2{color:#fff;margin:0 0 18px;font:750 clamp(30px,5vw,51px)/1.05 Poppins,Arial,sans-serif;text-transform:uppercase}
.rscm-dialog__photo{display:block;width:100%;height:clamp(220px,43vw,340px);object-fit:cover;margin:0 0 20px}
.rscm-dialog__description{color:#e6e5dc;font:400 15px/1.7 Poppins,Arial,sans-serif}
.rscm-dialog__description p{color:inherit;margin:0 0 13px}
.rscm-dialog__meta{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;margin-top:22px}
.rscm-dialog__meta div{border-top:1px solid #454a48;padding:14px 0}
.rscm-dialog__meta dt{color:#d9b778;text-transform:uppercase;letter-spacing:.13em;font-size:11px;margin-bottom:6px}
.rscm-dialog__meta dd{margin:0;color:#fff;font-size:14px;line-height:1.5}
.rscm-dialog__cta{display:flex;justify-content:center;align-items:center;padding:15px;background:#c9a468;color:#171818!important;font-weight:700;text-decoration:none!important;letter-spacing:.05em;text-transform:uppercase;min-height:51px}
.rscm-dialog__cta:hover{background:#e5c58c}
.rscm-directory :is(button,a):focus-visible,.rscm-marquee button:focus-visible,.rscm-dialog :is(button,a):focus-visible{outline:3px solid #f0c97b;outline-offset:3px}
html.rscm-modal-open{overflow:hidden}
.rscm-marquee{overflow:hidden;background:#c9a468;color:#161919;width:100%;min-height:48px;display:flex;align-items:center}
.rscm-marquee__track{display:flex;width:max-content;animation:rscm-move 65s linear infinite}
.rscm-marquee:hover .rscm-marquee__track,.rscm-marquee:focus-within .rscm-marquee__track{animation-play-state:paused}
.rscm-marquee__set{display:flex;align-items:center;flex:0 0 auto}
.rscm-marquee button,.rscm-marquee__set>span:not(.rscm-marquee__separator){border:0;background:transparent;padding:12px 21px;color:#171919;font:700 13px/1.4 Poppins,Arial,sans-serif;letter-spacing:.10em;text-transform:uppercase;white-space:nowrap}
.rscm-marquee button{cursor:pointer}
.rscm-marquee button:hover{text-decoration:underline;text-underline-offset:4px}
.rscm-marquee__separator{font-size:16px;color:#151918;padding:0 4px}
@keyframes rscm-move{to{transform:translateX(-50%)}}
@media(max-width:1050px){.rscm-grid{gap:14px}.rscm-card,.rscm-card:nth-child(1),.rscm-card:nth-child(6),.rscm-card:nth-child(7),.rscm-card:nth-child(12){flex-basis:calc((100% - 14px)/2);min-height:320px}}
@media(max-width:620px){.rscm-grid{gap:12px}.rscm-card,.rscm-card:nth-child(1),.rscm-card:nth-child(6),.rscm-card:nth-child(7),.rscm-card:nth-child(12){flex-basis:100%;min-height:340px}.rscm-filters button{padding:10px 12px}.rscm-dialog{height:100dvh;max-height:100dvh;width:100vw;max-width:100vw;border:0}.rscm-dialog__inner{padding:18px 18px max(26px,env(safe-area-inset-bottom))}.rscm-dialog__photo{height:280px}.rscm-dialog__meta{gap:0 12px}.rscm-marquee{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.rscm-marquee::-webkit-scrollbar{display:none}.rscm-marquee__track{animation:none}.rscm-marquee__set[aria-hidden=true]{display:none}}
@media(prefers-reduced-motion:reduce){.rscm-marquee__track{animation:none}.rscm-marquee{overflow-x:auto}.rscm-card>img{transition:none}}

/* v0.1.2: Avada-compatible flex-based class tile layout.
   Fix: an Avada layout conflict was auto-placing every card in the first grid track.
   Flex wrapping avoids grid placement and makes filter results fill available rows.
   Scoped to the public class directory; no changes to class data. */
.rscm-directory {
  box-sizing: border-box !important;
  display: flow-root !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(16px, 2vw, 30px) !important;
  color: #f6f2eb !important;
  background: #101414 !important;
}
.rscm-directory .rscm-grid {
  box-sizing: border-box !important;
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: stretch !important;
  align-content: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
}
.rscm-directory .rscm-grid > .rscm-card {
  box-sizing: border-box !important;
  display: flex !important;
  flex: 0 0 calc((100% - 28px) / 3) !important;
  width: calc((100% - 28px) / 3) !important;
  max-width: calc((100% - 28px) / 3) !important;
  min-width: 0 !important;
  min-height: 310px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  position: relative !important;
  align-items: flex-end !important;
  text-align: left !important;
  overflow: hidden !important;
  grid-column: auto !important;
}
.rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(1),
.rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(6),
.rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(7),
.rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(12) {
  flex-basis: calc((200% - 14px) / 3) !important;
  width: calc((200% - 14px) / 3) !important;
  max-width: calc((200% - 14px) / 3) !important;
}
.rscm-directory .rscm-grid > .rscm-card[hidden] { display: none !important; }
.rscm-directory .rscm-grid > .rscm-card > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  margin: 0 !important;
  pointer-events: none;
}
.rscm-directory .rscm-card__foot { width: 100% !important; min-width: 0; }
.rscm-directory .rscm-card__foot strong { overflow-wrap: anywhere; white-space: normal !important; }
@media (max-width: 1050px) {
  .rscm-directory .rscm-grid > .rscm-card,
  .rscm-directory .rscm-grid > .rscm-card:nth-child(1),
  .rscm-directory .rscm-grid > .rscm-card:nth-child(6),
  .rscm-directory .rscm-grid > .rscm-card:nth-child(7),
  .rscm-directory .rscm-grid > .rscm-card:nth-child(12) {
    flex: 0 0 calc((100% - 14px) / 2) !important;
    width: calc((100% - 14px) / 2) !important;
    max-width: calc((100% - 14px) / 2) !important;
    min-height: 300px !important;
  }
}
@media (max-width: 620px) {
  .rscm-directory .rscm-grid > .rscm-card,
  .rscm-directory .rscm-grid > .rscm-card:nth-child(1),
  .rscm-directory .rscm-grid > .rscm-card:nth-child(6),
  .rscm-directory .rscm-grid > .rscm-card:nth-child(7),
  .rscm-directory .rscm-grid > .rscm-card:nth-child(12) {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 310px !important;
  }
}

/* Featured tiles must collapse to standard widths at tablet/mobile sizes. */
@media (max-width: 1050px) {
  .rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(1),
  .rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(6),
  .rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(7),
  .rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(12) {
    flex: 0 0 calc((100% - 14px) / 2) !important;
    width: calc((100% - 14px) / 2) !important;
    max-width: calc((100% - 14px) / 2) !important;
  }
}
@media (max-width: 620px) {
  .rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(1),
  .rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(6),
  .rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(7),
  .rscm-directory[data-rscm-view="all"] .rscm-grid > .rscm-card:nth-child(12) {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}
