/* Ravenmark Custom Content Grid - v0.9.0 */
.rmcg-wrap{width:100%;display:block;box-sizing:border-box;}
.rmcg-grid{
  display:grid;
  width:100%;
  grid-template-columns:repeat(var(--rmcg-cols-desktop,3),minmax(0,1fr));
  gap:24px;
}
@media (max-width:980px){
  .rmcg-grid{grid-template-columns:repeat(var(--rmcg-cols-tablet,2),minmax(0,1fr));}
}
@media (max-width:767px){
  .rmcg-grid{grid-template-columns:repeat(var(--rmcg-cols-phone,1),minmax(0,1fr));}
}
.rmcg-wrap[data-layout="list"] .rmcg-grid{grid-template-columns:1fr !important;}

.rmcg-filters{margin-bottom:var(--rmcg-filter-mb,14px);display:flex;flex-wrap:wrap;gap:var(--rmcg-filter-group-gap,16px);align-items:flex-start;}
.rmcg-filter-group{display:flex;flex-direction:column;gap:8px;flex:1 1 240px;min-width:240px;max-width:100%;}
.rmcg-filter-group__label{font-weight:600;color:var(--rmcg-filter-label,inherit);}
.rmcg-filter-group__pills{display:flex;flex-wrap:wrap;gap:var(--rmcg-filter-option-gap,8px);align-items:center;}
.rmcg-pill{
  display:inline-flex;align-items:center;
  padding:6px 10px;border:1px solid rgba(0,0,0,.18);
  border-radius:999px;text-decoration:none;font-size:13px;line-height:1;
}
.rmcg-pill.is-active{border-color:rgba(0,0,0,.45);font-weight:600;}

.rmcg-filter-select{
  max-width:420px;
  padding:var(--rmcg-filter-pill-py,6px) var(--rmcg-filter-pill-px,12px);
  border:1px solid var(--rmcg-filter-pill-border,rgba(0,0,0,.18));
  border-radius:var(--rmcg-filter-pill-radius,12px);
  background:var(--rmcg-filter-pill-bg,transparent);
  color:var(--rmcg-filter-text,inherit);
}
.rmcg-filter-select:hover{
  background:var(--rmcg-filter-pill-bg-hover,var(--rmcg-filter-pill-bg,transparent));
  color:var(--rmcg-filter-text-hover,var(--rmcg-filter-text,inherit));
}
.rmcg-radio-group{display:flex;flex-wrap:wrap;gap:var(--rmcg-filter-option-gap,8px);align-items:center;}
.rmcg-radio{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(0,0,0,.18);border-radius:999px;padding:6px 10px;font-size:13px;}
.rmcg-radio input{margin:0;}

.rmcg-filter-summary{flex:1 1 100%;
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding:10px 12px;border:1px solid rgba(0,0,0,.12);
  border-radius:12px;background:rgba(0,0,0,.03);
}
.rmcg-filter-summary__label{font-size:13px;opacity:.75;color:var(--rmcg-filter-label,inherit);}
.rmcg-filter-summary__chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.rmcg-chip,.rmcg-filter-clear-all{
  font-size:13px;text-decoration:none;line-height:1;
  border:var(--rmcg-filter-pill-border-width,1px) solid var(--rmcg-filter-pill-border,rgba(0,0,0,.18));
  border-radius:var(--rmcg-filter-pill-radius,999px);
  padding:var(--rmcg-filter-pill-py,6px) var(--rmcg-filter-pill-px,12px);
  background:var(--rmcg-filter-pill-bg,transparent);
  color:var(--rmcg-filter-text,inherit);
}
.rmcg-chip:hover,.rmcg-filter-clear-all:hover{
  background:var(--rmcg-filter-pill-bg-hover,var(--rmcg-filter-pill-bg,transparent));
  color:var(--rmcg-filter-text-hover,var(--rmcg-filter-text,inherit));
}
.rmcg-chip.is-active{
  background:var(--rmcg-filter-pill-bg-active,var(--rmcg-filter-pill-bg-hover,var(--rmcg-filter-pill-bg,transparent)));
  color:var(--rmcg-filter-text-active,var(--rmcg-filter-text,inherit));
}

.rmcg-filter-clear-all{margin-left:auto;}

.rmcg-card{border:1px solid rgba(0,0,0,.12);border-radius:12px;overflow:hidden;background:#fff;}
.rmcg-thumb img{display:block;width:100%;height:auto;}
.rmcg-body{padding:16px;}
.rmcg-title{margin:0 0 10px;font-size:18px;line-height:1.25;}
.rmcg-title a{text-decoration:none;}
.rmcg-meta{font-size:13px;opacity:.75;margin-bottom:10px;}
.rmcg-excerpt{font-size:14px;line-height:1.5;}
.rmcg-empty{padding:18px;border:1px dashed rgba(0,0,0,.2);border-radius:12px;}
.rmcg-reset-link{font-weight:600;text-decoration:none;}

.rmcg-pagination{margin-top:18px;}
.rmcg-pagination ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0;}
.rmcg-pagination a,.rmcg-pagination span{
  display:inline-block;padding:6px 10px;border:1px solid rgba(0,0,0,.15);
  border-radius:10px;text-decoration:none;
}

.rmcg-radio__text{display:inline;white-space:nowrap;}
.rmcg-radio{color:inherit;}

.rmcg-pills{display:flex;flex-wrap:wrap;gap:var(--rmcg-filter-option-gap,8px);}



.rmcg-pill,.rmcg-filter-select,.rmcg-radio__text{color:var(--rmcg-filter-text,inherit);} 
.rmcg-pill:hover,.rmcg-filter-select:hover,.rmcg-radio:hover .rmcg-radio__text{color:var(--rmcg-filter-text-hover,var(--rmcg-filter-text,inherit));}
.rmcg-pill.is-active,.rmcg-radio input:checked + .rmcg-radio__text{color:var(--rmcg-filter-text-active,var(--rmcg-filter-text,inherit));}

/* Ravenmark: Filter Design variables */
 
.rmcg-pill{background:var(--rmcg-filter-pill-bg,transparent);border:var(--rmcg-filter-pill-border-width,1px) solid var(--rmcg-filter-pill-border,currentColor);border-radius:var(--rmcg-filter-pill-radius,999px);padding:var(--rmcg-filter-pill-py,6px) var(--rmcg-filter-pill-px,12px);} 
.rmcg-pill:hover{background:var(--rmcg-filter-pill-bg-hover,var(--rmcg-filter-pill-bg,transparent));}
.rmcg-pill.is-active{background:var(--rmcg-filter-pill-bg-active,var(--rmcg-filter-pill-bg-hover,var(--rmcg-filter-pill-bg,transparent)));}
.rmcg-pill,.rmcg-filter-select,.rmcg-radio__text{color:var(--rmcg-filter-text,inherit);} 
.rmcg-pill:hover,.rmcg-filter-select:hover,.rmcg-radio:hover .rmcg-radio__text{color:var(--rmcg-filter-text-hover,var(--rmcg-filter-text,inherit));}
.rmcg-pill.is-active,.rmcg-radio input:checked + .rmcg-radio__text{color:var(--rmcg-filter-text-active,var(--rmcg-filter-text,inherit));}

/* =========================
   Phase D: Advanced filter UI vars (safe)
   Apply these as CSS variables on the module wrapper, e.g.
   Module Settings -> Advanced -> Custom CSS -> Main Element
   ========================= */

/* Typography (optional) */
.rmcg-pill,
.rmcg-filter-select,
.rmcg-radio__text,
.rmcg-chip,
.rmcg-filter-clear-all{
  font-size: var(--rmcg-filter-font-size, inherit);
  font-weight: var(--rmcg-filter-font-weight, inherit);
}

/* Motion (optional) */
.rmcg-pill,
.rmcg-chip,
.rmcg-filter-clear-all,
.rmcg-filter-select{
  transition:
    color var(--rmcg-filter-transition, 150ms) ease,
    background-color var(--rmcg-filter-transition, 150ms) ease,
    border-color var(--rmcg-filter-transition, 150ms) ease,
    box-shadow var(--rmcg-filter-transition, 150ms) ease,
    transform var(--rmcg-filter-transition, 150ms) ease;
}

/* Pill background + shadow states (optional)
   Note: background vars fall back to the existing pill bg vars when not provided.
*/
.rmcg-pill{
  background: var(--rmcg-filter-pill-bg, transparent);
  box-shadow: var(--rmcg-filter-pill-shadow, none);
}
.rmcg-pill:hover{
  background: var(--rmcg-filter-pill-bg-hover, var(--rmcg-filter-pill-bg, transparent));
  box-shadow: var(--rmcg-filter-pill-shadow-hover, var(--rmcg-filter-pill-shadow, none));
}
.rmcg-pill.is-active{
  background: var(
    --rmcg-filter-pill-bg-active,
    var(--rmcg-filter-pill-bg-hover, var(--rmcg-filter-pill-bg, transparent))
  );
  box-shadow: var(--rmcg-filter-pill-shadow-active, var(--rmcg-filter-pill-shadow-hover, var(--rmcg-filter-pill-shadow, none)));
}

/* Border state vars (optional) */
.rmcg-pill{
  border-color: var(--rmcg-filter-pill-border, rgba(0,0,0,.18));
}
.rmcg-pill:hover{
  border-color: var(--rmcg-filter-pill-border-hover, var(--rmcg-filter-pill-border, rgba(0,0,0,.18)));
}
.rmcg-pill.is-active{
  border-color: var(--rmcg-filter-pill-border-active, var(--rmcg-filter-pill-border-hover, var(--rmcg-filter-pill-border, rgba(0,0,0,.18))));
}

/* Summary chip + clear inherit pill vars */
.rmcg-chip,
.rmcg-filter-clear-all{
  box-shadow: var(--rmcg-filter-pill-shadow, none);
  border-color: var(--rmcg-filter-pill-border, rgba(0,0,0,.18));
}
.rmcg-chip:hover,
.rmcg-filter-clear-all:hover{
  box-shadow: var(--rmcg-filter-pill-shadow-hover, var(--rmcg-filter-pill-shadow, none));
  border-color: var(--rmcg-filter-pill-border-hover, var(--rmcg-filter-pill-border, rgba(0,0,0,.18)));
}
.rmcg-chip.is-active{
  box-shadow: var(--rmcg-filter-pill-shadow-active, var(--rmcg-filter-pill-shadow-hover, var(--rmcg-filter-pill-shadow, none)));
  border-color: var(--rmcg-filter-pill-border-active, var(--rmcg-filter-pill-border-hover, var(--rmcg-filter-pill-border, rgba(0,0,0,.18))));
}

/* Focus ring (optional) */
.rmcg-pill:focus-visible,
.rmcg-filter-clear-all:focus-visible,
.rmcg-filter-select:focus-visible,
.rmcg-radio input[type="radio"]:focus-visible + .rmcg-radio__text{
  outline: none;
  box-shadow: var(--rmcg-filter-focus-ring, 0 0 0 3px rgba(79,0,255,.35));
}

/* Micro-interactions (optional) */
.rmcg-pill:active,
.rmcg-filter-clear-all:active{
  transform: translateY(var(--rmcg-filter-press-y, 0px));
}

/* =========================
   Phase E: Filter UI parity + layout polish (safe)
   ========================= */

/* Radios: make label behave like pills (typography, border, bg, focus) */
.rmcg-radio{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.rmcg-radio input[type="radio"]{
  accent-color: var(--rmcg-filter-accent, currentColor);
}
.rmcg-radio__text{
  display:inline-flex;
  align-items:center;
  border: 1px solid var(--rmcg-filter-pill-border, rgba(0,0,0,.18));
  border-radius: var(--rmcg-filter-pill-radius, 9999px);
  padding: var(--rmcg-filter-pill-py, 6px) var(--rmcg-filter-pill-px, 10px);
  background: var(--rmcg-filter-pill-bg, transparent);
  box-shadow: var(--rmcg-filter-pill-shadow, none);
  cursor: pointer;
  user-select:none;
  line-height: 1.2;
}
.rmcg-radio__text:hover{
  border-color: var(--rmcg-filter-pill-border-hover, var(--rmcg-filter-pill-border, rgba(0,0,0,.18)));
  background: var(--rmcg-filter-pill-bg-hover, var(--rmcg-filter-pill-bg, transparent));
  box-shadow: var(--rmcg-filter-pill-shadow-hover, var(--rmcg-filter-pill-shadow, none));
}
.rmcg-radio input[type="radio"]:checked + .rmcg-radio__text{
  border-color: var(--rmcg-filter-pill-border-active, var(--rmcg-filter-pill-border-hover, var(--rmcg-filter-pill-border, rgba(0,0,0,.18))));
  background: var(--rmcg-filter-pill-bg-active, var(--rmcg-filter-pill-bg-hover, var(--rmcg-filter-pill-bg, transparent)));
  box-shadow: var(--rmcg-filter-pill-shadow-active, var(--rmcg-filter-pill-shadow-hover, var(--rmcg-filter-pill-shadow, none)));
}

/* Dropdown: parity for border/bg/shadow/focus */
.rmcg-filter-select{
  border: 1px solid var(--rmcg-filter-pill-border, rgba(0,0,0,.18));
  border-radius: var(--rmcg-filter-pill-radius, 10px);
  padding: var(--rmcg-filter-pill-py, 6px) var(--rmcg-filter-pill-px, 10px);
  background: var(--rmcg-filter-pill-bg, transparent);
  box-shadow: var(--rmcg-filter-pill-shadow, none);
  line-height: 1.2;
}
.rmcg-filter-select:hover{
  border-color: var(--rmcg-filter-pill-border-hover, var(--rmcg-filter-pill-border, rgba(0,0,0,.18)));
  background: var(--rmcg-filter-pill-bg-hover, var(--rmcg-filter-pill-bg, transparent));
  box-shadow: var(--rmcg-filter-pill-shadow-hover, var(--rmcg-filter-pill-shadow, none));
}
.rmcg-filter-select:focus{
  border-color: var(--rmcg-filter-pill-border-hover, var(--rmcg-filter-pill-border, rgba(0,0,0,.18)));
}

/* Ensure focus ring parity everywhere */
.rmcg-radio__text:focus-visible,
.rmcg-filter-select:focus-visible{
  outline:none;
  box-shadow: var(--rmcg-filter-focus-ring, 0 0 0 3px rgba(79,0,255,.35));
}

/* Layout polish: consistent row wrapping across filter groups */
.rmcg-filters{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap: var(--rmcg-filter-group-gap, 10px);
}
.rmcg-filter-group{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap: var(--rmcg-filter-gap, 8px);
  min-width: 0;
}
.rmcg-filter-group__label{
  white-space:nowrap;
  opacity: var(--rmcg-filter-label-opacity, .85);
}
.rmcg-pill,
.rmcg-radio__text{
  max-width: 100%;
}


/* Phase F1: Empty state clear action */
.rmcg-empty .rmcg-empty-clear{
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  text-decoration:none;
  cursor:pointer;
  border: 1px solid var(--rmcg-filter-pill-border, rgba(0,0,0,.18));
  border-radius: var(--rmcg-filter-pill-radius, 9999px);
  padding: var(--rmcg-filter-pill-py, 6px) var(--rmcg-filter-pill-px, 10px);
  background: var(--rmcg-filter-pill-bg, transparent);
  box-shadow: var(--rmcg-filter-pill-shadow, none);
  color: inherit;
}
.rmcg-empty .rmcg-empty-clear:hover{
  border-color: var(--rmcg-filter-pill-border-hover, var(--rmcg-filter-pill-border, rgba(0,0,0,.18)));
  background: var(--rmcg-filter-pill-bg-hover, var(--rmcg-filter-pill-bg, transparent));
  box-shadow: var(--rmcg-filter-pill-shadow-hover, var(--rmcg-filter-pill-shadow, none));
}
.rmcg-empty .rmcg-empty-clear:focus-visible{
  outline:none;
  box-shadow: var(--rmcg-filter-focus-ring, 0 0 0 3px rgba(79,0,255,.35));
}
/* Phase F2: Mobile filter collapse (scoped to breakpoint) */
.rmcg-filters.rmcg-mobile-collapse{
  display:block;
}

/* Keep desktop layout identical by applying the original "filters row" layout to the body wrapper */
.rmcg-filters.rmcg-mobile-collapse .rmcg-filters-body{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap: var(--rmcg-filter-group-gap, 10px);
}

/* Toggle button styling (hidden unless under breakpoint) */
.rmcg-filters-toggle{
  display:none;
  width:100%;
  text-align:left;
  cursor:pointer;
  border: 1px solid var(--rmcg-filter-pill-border, rgba(0,0,0,.18));
  border-radius: var(--rmcg-filter-pill-radius, 10px);
  padding: 10px 12px;
  background: var(--rmcg-filter-pill-bg, transparent);
  box-shadow: var(--rmcg-filter-pill-shadow, none);
  font: inherit;
}
.rmcg-filters-toggle:hover{
  border-color: var(--rmcg-filter-pill-border-hover, var(--rmcg-filter-pill-border, rgba(0,0,0,.18)));
  background: var(--rmcg-filter-pill-bg-hover, var(--rmcg-filter-pill-bg, transparent));
}
.rmcg-filters-toggle:focus-visible{
  outline:none;
  box-shadow: var(--rmcg-filter-focus-ring, 0 0 0 3px rgba(79,0,255,.35));
}

/* Phone breakpoint behavior */
@media (max-width: 767px){
  .rmcg-filters.rmcg-mobile-collapse.rmcg-bp-phone .rmcg-filters-toggle{ display:block; }
  .rmcg-filters.rmcg-mobile-collapse.rmcg-bp-phone.rmcg-collapsed .rmcg-filters-body{ display:none; }
}

/* Tablet breakpoint behavior */
@media (max-width: 980px){
  .rmcg-filters.rmcg-mobile-collapse.rmcg-bp-tablet .rmcg-filters-toggle{ display:block; }
  .rmcg-filters.rmcg-mobile-collapse.rmcg-bp-tablet.rmcg-collapsed .rmcg-filters-body{ display:none; }
}
/* Layout hardening: ensure the module does not shrink inside flex/grid parent layouts (Divi 5 / Group modules) */
.et_pb_rmcg_custom_content_grid,
.et_pb_module.et_pb_rmcg_custom_content_grid,
[class*="et_pb_rmcg_custom_content_grid"]{
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  box-sizing: border-box !important;
}
.et_pb_rmcg_custom_content_grid .rmcg-wrap{
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.et_pb_rmcg_custom_content_grid .rmcg-grid{
  width: 100% !important;
  box-sizing: border-box !important;
}
