/* XCellParts — Branded icons (Elementor Icon / Icon-box / Icon-list / Accordion / Stars)
 * Pair with xcell-brand.css tokens.
 */

/* ---- Standalone Icon widget ---- */
.xcell-icon .elementor-icon,
.xcell-icon.elementor-view-default .elementor-icon{
  color:var(--xcell-red-600);
  transition:color .16s var(--xcell-ease),transform .16s var(--xcell-ease);
}
.xcell-icon--framed .elementor-icon,
.xcell-icon.elementor-view-framed .elementor-icon{
  width:42px;height:42px;line-height:42px;
  border-radius:12px;
  background:var(--xcell-red-50);
  border:1px solid var(--xcell-red-100);
  color:var(--xcell-red-600);
}
.xcell-icon--framed-dark .elementor-icon{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}
.xcell-icon--muted .elementor-icon{color:var(--xcell-n-500)}
.xcell-icon--success .elementor-icon{color:var(--xcell-success)}
.xcell-icon--warning .elementor-icon{color:var(--xcell-warning)}

/* ---- Icon-box (feature cards + USP) ---- */
.xcell-iconbox .elementor-icon-box-icon .elementor-icon,
.xcell-card .elementor-icon-box-icon .elementor-icon{
  color:var(--xcell-red-600);
  transition:color .16s var(--xcell-ease),transform .16s var(--xcell-ease);
}
.xcell-iconbox--framed .elementor-icon-box-icon .elementor-icon,
.xcell-card .elementor-icon-box-icon .elementor-icon.elementor-animation-{
  width:48px;height:48px;line-height:48px;
  border-radius:14px;
  background:var(--xcell-red-50);
  border:1px solid var(--xcell-red-100);
}
.xcell-iconfeat .elementor-icon-box-icon .elementor-icon{
  width:42px;height:42px;line-height:42px;
  border-radius:12px;
  background:var(--xcell-red-50);
  border:1px solid var(--xcell-red-100);
  color:var(--xcell-red-600);
}
.xcell-iconbox .elementor-icon-box-title,
.xcell-card .elementor-icon-box-title{color:var(--xcell-ink-800)}
.xcell-iconbox .elementor-icon-box-description{color:var(--xcell-n-500)}
.xcell-card:hover .elementor-icon-box-icon .elementor-icon{
  color:var(--xcell-red-500);
  transform:translateY(-1px);
}

/* ---- Icon-list (nav, footers, checklists) ---- */
.xcell-iconlist .elementor-icon-list-icon i,
.xcell-iconlist .elementor-icon-list-icon svg{
  color:var(--xcell-red-500);
  font-size:.9em;
}
.xcell-iconlist--success .elementor-icon-list-icon i{color:var(--xcell-success)}
.xcell-iconlist--muted .elementor-icon-list-icon i{color:var(--xcell-n-400)}
.xcell-iconlist .elementor-icon-list-item a{
  transition:color .15s var(--xcell-ease);
}
.xcell-util-nav .elementor-icon-list-item a,
.xh-util-links .elementor-icon-list-item a{
  font-size:12.5px;
}
.xcell-foot-links .elementor-icon-list-icon i{color:var(--xcell-n-400);font-size:.75em}
.xcell-foot-links .elementor-icon-list-item a:hover .elementor-icon-list-text{color:#fff}

/* ---- Accordion (FAQ) ---- */
.xcell-accordion .elementor-accordion-icon,
.xcell-accordion .elementor-accordion-icon-closed,
.xcell-accordion .elementor-accordion-icon-opened{
  color:var(--xcell-red-600)!important;
}
.xcell-accordion .elementor-tab-title.elementor-active{
  border-color:var(--xcell-red-200)!important;
}
.xcell-accordion .elementor-tab-title{
  border-color:var(--xcell-n-200)!important;
  transition:border-color .16s var(--xcell-ease);
}
.xcell-accordion .elementor-tab-title:hover{
  border-color:var(--xcell-red-300)!important;
}

/* ---- Star rating ---- */
.xcell-stars .elementor-star-rating i,
.xcell-stars .elementor-star-rating svg{
  color:var(--xcell-warning)!important;
}

/* ---- Step numbers (already in elementor.css, reinforce) ---- */
.xcell-step-n .elementor-heading-title{
  background:var(--xcell-red-50);
  color:var(--xcell-red-600);
}

/* ---- Search submit (Header V2 red circle) ---- */
.xh-search-btn{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.5' y1='16.5' x2='21' y2='21'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
}
