/* ---- utility bar ---- */
.rc-utility-bar { background:#0f1115; color:#c9ced6; font-size:13px; }
.rc-utility-bar .rc-ub-inner { max-width:1290px; margin:0 auto; padding:7px 24px; display:flex; gap:28px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.rc-utility-bar a { color:#fff; text-decoration:none; font-weight:600; }
.rc-utility-bar .rc-ub-right { display:flex; gap:22px; align-items:center; margin-left:auto; }
@media (max-width: 860px) { .rc-utility-bar .rc-ub-note { display:none; } }

/* ---- header row: icons ---- */
#pxl-header-main .pxl-header-main-inner { display:flex; align-items:center; }
.rc-brand-text { font-size:24px; font-weight:800; letter-spacing:.06em; color:#121212; text-decoration:none; }
.rc-brand-text span { color:#7b5cff; }
.rc-header-icons { display:flex; align-items:center; gap:20px; margin-left:auto; }
.rc-header-icons a { display:inline-flex; align-items:center; gap:7px; color:#121212; text-decoration:none; font-size:14px; font-weight:600; position:relative; }
.rc-header-icons .rc-cart-count { background:#7b5cff; color:#fff; border-radius:99px; font-size:11px; min-width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; padding:0 5px; }
.rc-search-toggle svg, .rc-account-ico svg, .rc-cart-ico svg { width:19px; height:19px; }
.rc-search-form { display:none; padding:14px 0; border-top:1px solid #eceef2; }
.rc-search-form.rc-open { display:block; }
.rc-search-form form { display:flex; gap:10px; max-width:560px; }
.rc-search-form input[type=search] { flex:1; border:1px solid #dcdfe6; border-radius:8px; padding:10px 14px; font-size:14px; }
.rc-search-form button { border:0; background:#121212; color:#fff; border-radius:8px; padding:10px 18px; font-weight:600; cursor:pointer; }

/* ---- footer ---- */
#pxl-footer-default { background:#0f1115; color:#9aa1ac; }
.rc-footer-main { max-width:1290px; margin:0 auto; padding:64px 24px 40px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; }
.rc-footer-main h3 { color:#fff; font-size:15px; text-transform:uppercase; letter-spacing:.08em; margin:0 0 18px; }
.rc-footer-main ul { list-style:none; margin:0; padding:0; }
.rc-footer-main li { margin-bottom:11px; }
.rc-footer-main a { color:#9aa1ac; text-decoration:none; font-size:14px; }
.rc-footer-main a:hover { color:#fff; }
.rc-footer-brand .rc-brand-text { color:#fff; font-size:26px; display:inline-block; margin-bottom:14px; }
.rc-footer-brand p { font-size:14px; line-height:1.7; max-width:300px; }
.rc-company-block { margin-top:20px; font-size:12.5px; line-height:1.75; opacity:.8; }
.rc-footer-bottom { border-top:1px solid #23262e; }
.rc-footer-bottom-inner { max-width:1290px; margin:0 auto; padding:18px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13px; }
.rc-payment-strip img { height:30px; width:auto; margin-left:8px; }
@media (max-width: 980px) { .rc-footer-main { grid-template-columns:1fr 1fr; } }
@media (max-width: 640px) { .rc-footer-main { grid-template-columns:1fr; } }

/* ---- Elementor container compatibility shim (Case Addons strips base e-con classes) ---- */
.elementor-element.e-flex {
  display: flex;
  flex-direction: var(--flex-direction, row);
  flex-wrap: wrap;
  gap: var(--gap, 0px);
  justify-content: var(--justify-content, flex-start);
  align-items: var(--align-items, stretch);
  min-height: var(--min-height, auto);
  width: 100%;
  max-width: var(--container-max-width, 100%);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  padding-top: var(--padding-top, 0px);
  padding-right: var(--padding-right, 0px);
  padding-bottom: var(--padding-bottom, 0px);
  padding-left: var(--padding-left, 0px);
}
.elementor-element.e-flex > .e-flex.elementor-element {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
}
.elementor-element.e-flex > .elementor-widget {
  width: 100%;
  max-width: 100%;
}
.elementor-element.e-flex > img,
.elementor-element.e-flex > .elementor-image { max-width: 100%; }

/* ---- mobile: containers stack full-width ---- */
@media (max-width: 767px) {
  .elementor-element.e-flex > .e-flex.elementor-element {
    flex: 1 1 100%;
    width: 100%;
  }
}
