/* Structural styling only. Design is controlled via Elementor controls (selectors/CSS vars). */

.rw-catmega{
  position: relative;
  overflow: hidden;
  max-width: 100%;
}

/* Header image area */
.rw-catmega__header{
  position: relative;
  overflow: hidden;
}

/* Actual background image layer */
.rw-catmega__bg{
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-size: var(--rw-bg-size, cover);
  background-position: var(--rw-bg-pos, center center);
}

/* Gradient overlay layer */
.rw-catmega__overlay{
  position: absolute;
  inset: 0;
  opacity: var(--rw-overlay-opacity, 1);
  background: var(--rw-overlay-gradient, linear-gradient(180deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.55) 100%));
}

/* Title on top of image */
.rw-catmega__title-wrap{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  height: 100%;
  padding: var(--rw-title-pad, 18px);

  /* Alignment controls (flex + text) */
  justify-content: var(--rw-title-justify, flex-start);
  width: 100%;
}

/* Title text alignment + protect from menu anchor styles */
.rw-catmega__title{
  width: 100%;
  text-align: var(--rw-title-align, left);
}

/* Specificity boost: beats .nav li a */
.rw-catmega .rw-catmega__title a{
  display: inline-block;
  text-decoration: none;
  color: var(--rw-title-color, #fff);
  text-align: inherit;
  transition: color var(--rw-trans, 0.2s) ease;
}

.rw-catmega .rw-catmega__title a:hover{
  color: var(--rw-title-hover, var(--rw-title-color, #fff));
}

/* Body list area */
.rw-catmega__body{
  padding: var(--rw-body-pad, 18px);
}

/* Subcategories grid */
.rw-catmega__subcats{
  display: grid;
  grid-template-columns: repeat(var(--rw-cols, 1), minmax(0, 1fr));
  gap: var(--rw-row-gap, 10px) var(--rw-col-gap, 18px);

  /* GRID-safe alignment */
  justify-items: var(--rw-subcats-justify-items, start);
  justify-content: var(--rw-subcats-justify-content, start);
  text-align: var(--rw-subcats-text-align, left);
}

/* Specificity boost: beats .nav li a */
.rw-catmega .rw-catmega__subcats a.rw-catmega__subcat{
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  text-decoration: none;

  color: var(--rw-subcat-color, #111);
  text-align: inherit!important;

  transition: color var(--rw-trans, 0.2s) ease;
}

.rw-catmega .rw-catmega__subcats a.rw-catmega__subcat:hover{
  color: var(--rw-subcat-hover, var(--rw-subcat-color, #111));
}

/* Elementor will output different classes per breakpoint automatically */
.rw-catmega-align-left-  .rw-catmega{ margin-left: 0; margin-right: auto; }
.rw-catmega-align-center- .rw-catmega{ margin-left: auto; margin-right: auto; }
.rw-catmega-align-right- .rw-catmega{ margin-left: auto; margin-right: 0; }


/* Force-align anchors inside nav/mega menu contexts */
.nav .rw-catmega .rw-catmega__title a{
  text-align: var(--rw-title-align, left);
}

.nav .rw-catmega .rw-catmega__subcats a.rw-catmega__subcat{
  text-align: var(--rw-subcats-text-align, left);
}
