.e-search-results-container, .e-search-loader,
.elementor-search-form__results { display: none !important; }

body.search-results .custom-loop-grid,
body.search-results .elementor-loop-container {
  opacity: 0 !important;
  transition: opacity .4s ease;
}
body.search-results.rps-products-loaded .custom-loop-grid,
body.search-results.rps-products-loaded .elementor-loop-container {
  opacity: 1 !important;
}

.rps-icon { width:1em; height:1em; vertical-align:middle; display:inline-block; }

.rps-ai-chip {
  display:inline-flex; align-items:center; gap:4px;
  background:linear-gradient(135deg,#1a1a1a,#333); color:#FFC83E;
  font-size:11px; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  padding:4px 10px; border-radius:20px; margin-bottom:14px;
  box-shadow:0 2px 12px rgba(0,0,0,.15);
}
.rps-ai-chip .rps-icon { width:13px; height:13px; animation:rps-sparkle 2s ease infinite; }
@keyframes rps-sparkle {
  0%,100% { opacity:1; transform:scale(1); }
  50%     { opacity:.6; transform:scale(1.3) rotate(15deg); }
}

@keyframes rps-glow {
  0%   { border-color:#E02B20; box-shadow:0 0 8px rgba(224,43,32,.3),0 0 20px rgba(224,43,32,.1); }
  33%  { border-color:#FFC83E; box-shadow:0 0 8px rgba(255,200,62,.4),0 0 20px rgba(255,200,62,.15); }
  66%  { border-color:#AA2018; box-shadow:0 0 8px rgba(170,32,24,.3),0 0 20px rgba(170,32,24,.1); }
  100% { border-color:#E02B20; box-shadow:0 0 8px rgba(224,43,32,.3),0 0 20px rgba(224,43,32,.1); }
}
.rps-input-glowing {
  border:2px solid #E02B20 !important; border-radius:8px;
  animation:rps-glow 2s ease infinite;
}

.rps-overlay {
  display:none; position:absolute; top:calc(100% + 6px); left:0; right:0;
  width:100%; box-sizing:border-box;
  background:#fff; border:1px solid #e0e0e0; border-radius:12px;
  box-shadow:0 12px 40px rgba(0,0,0,.15); z-index:99999;
  max-height:480px; overflow-y:auto; overflow-x:hidden;
}
.rps-overlay.rps-visible { display:block; animation:rps-in .25s ease; }
@keyframes rps-in { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }

.rps-loading {
  position:relative; padding:32px 16px 28px; text-align:center;
  overflow:hidden; min-height:160px; background:linear-gradient(180deg,#fff8f8 0%,#fff 100%);
}

.rps-floating-icons { position:absolute; inset:0; pointer-events:none; z-index:1; overflow:hidden; }
.rps-float-icon {
  position:absolute; font-size:24px; opacity:0;
  animation:rps-product-float linear infinite;
  filter:grayscale(.3);
}
@keyframes rps-product-float {
  0%   { transform:translateY(120%) rotate(0deg) scale(.6); opacity:0; }
  10%  { opacity:.7; }
  50%  { transform:translateY(-20%) rotate(15deg) scale(1); opacity:.5; }
  90%  { opacity:.3; }
  100% { transform:translateY(-120%) rotate(-10deg) scale(.4); opacity:0; }
}

.rps-loading-center { position:relative; z-index:3; }

.rps-loading-spinner {
  width:32px; height:32px; margin:0 auto 12px;
  border:3px solid #F8E3E2; border-top-color:#E02B20; border-right-color:#FFC83E;
  border-radius:50%; animation:rps-spin 1s cubic-bezier(.6,.1,.4,.9) infinite;
}

.rps-loading-text {
  position:relative; z-index:3; color:#1a1a1a;
  font-size:14px; font-weight:500; letter-spacing:.3px;
}
.rps-loading-text strong {
  background:linear-gradient(90deg,#E02B20,#FFC83E,#E02B20);
  background-size:200% auto;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:rps-shimmer 2s linear infinite;
  font-weight:700;
}
.rps-loading-sub {
  font-size:11px; color:#999; margin-top:6px; position:relative; z-index:3;
  letter-spacing:.3px;
}
@keyframes rps-shimmer { 0%{background-position:0% center} 100%{background-position:200% center} }

.rps-stars { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:1; }
.rps-star {
  position:absolute; border-radius:50%;
  animation:rps-star-float linear infinite; opacity:0;
}
@keyframes rps-star-float {
  0%{transform:translateY(100%) scale(0);opacity:0} 15%{opacity:1} 85%{opacity:1}
  100%{transform:translateY(-100%) scale(0);opacity:0}
}

.rps-results-header {
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 16px; border-bottom:1px solid #f0f0f0;
  animation:rps-row .3s ease both;
}
.rps-results-header__count {
  font-size:12px; color:#666; display:flex; align-items:center; gap:6px;
}
.rps-results-header__badge {
  display:inline-flex; align-items:center; justify-content:center;
  background:#E02B20; color:#fff; font-size:11px; font-weight:700;
  width:20px; height:20px; border-radius:50%;
}
.rps-results-header__ai {
  font-size:10px; font-weight:600; color:#999; letter-spacing:.5px; text-transform:uppercase;
  display:flex; align-items:center; gap:3px;
}
.rps-results-header__ai .rps-icon { width:12px; height:12px; color:#FFC83E; }

.rps-item__best {
  display:inline-block; background:linear-gradient(135deg,#E02B20,#FFC83E);
  color:#fff; font-size:9px; font-weight:700; text-transform:uppercase;
  padding:2px 6px; border-radius:3px; margin-left:6px; vertical-align:middle;
  letter-spacing:.5px;
}

.rps-item__sale-tag {
  display:inline-block; background:#E02B20; color:#fff;
  font-size:9px; font-weight:700; padding:1px 5px; border-radius:3px;
  margin-left:4px; vertical-align:middle; letter-spacing:.3px;
}

.rps-item {
  display:flex; gap:12px; padding:12px 16px; text-decoration:none;
  color:inherit; border-bottom:1px solid #f0f0f0; align-items:center;
  transition:background .15s,transform .15s;
  animation:rps-row .35s ease both;
}
.rps-item:last-of-type { border-bottom:none; }
.rps-item:hover { background:#fef7f7; transform:translateX(4px); }
@keyframes rps-row { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

.rps-item__image     { width:56px; height:56px; flex-shrink:0; }
.rps-item__image img { width:100%; height:100%; object-fit:contain; border-radius:6px;
                       animation:rps-img-in .4s ease both; }
@keyframes rps-img-in { from{opacity:0;transform:scale(.8)} to{opacity:1;transform:scale(1)} }
.rps-item__no-image  { width:100%; height:100%; background:#f0f0f0; border-radius:6px; }

.rps-item__details        { display:flex; flex-direction:column; gap:3px; flex:1; min-width:0; }
.rps-item__name           { font-size:14px; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#1a1a1a; }
.rps-item__price          { font-size:13px; font-weight:600; color:#1a1a1a; }
.rps-item__price--sale    { color:#E02B20; }
.rps-item__price s        { color:#999; font-weight:400; margin-right:4px; }
.rps-item__stock          { font-size:11px; }
.rps-item__stock--in      { color:#2e7d32; }
.rps-item__stock--out     { color:#c62828; }

.rps-no-results { padding:24px 16px; text-align:center; font-size:14px; color:#666; display:flex; flex-direction:column; align-items:center; gap:8px; }
.rps-no-results .rps-icon { width:28px; height:28px; color:#ccc; }
.rps-error { padding:20px 16px; text-align:center; font-size:14px; color:#c62828; }

.rps-see-all      { display:block; padding:12px 16px; text-align:center; font-size:13px;
                     font-weight:600; color:#E02B20; text-decoration:none; background:#fef7f7;
                     border-top:1px solid #f0f0f0; border-radius:0 0 12px 12px;
                     transition:background .15s,color .15s; }
.rps-see-all:hover { background:#E02B20; color:#fff; }

.rps-page-loader {
  position:fixed; inset:0; z-index:999999;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  animation:rps-loader-in .3s ease;
}
.rps-page-loader.rps-page-loader--out { animation:rps-loader-out .4s ease forwards; }
@keyframes rps-loader-in  { from{opacity:0} to{opacity:1} }
@keyframes rps-loader-out { from{opacity:1} to{opacity:0} }

.rps-page-loader__ai-chip {
  display:inline-flex; align-items:center; gap:5px;
  background:linear-gradient(135deg,#1a1a1a,#333); color:#FFC83E;
  font-size:11px; font-weight:700; letter-spacing:.8px; text-transform:uppercase;
  padding:6px 14px; border-radius:20px; margin-bottom:20px;
  box-shadow:0 4px 20px rgba(0,0,0,.2);
}
.rps-page-loader__ai-chip .rps-ai-chip__icon { font-size:14px; }

.rps-orbit {
  position:relative; width:140px; height:140px; margin-bottom:24px;
}
.rps-orbit__ring {
  position:absolute; inset:0; border-radius:50%;
  border:3px solid #F8E3E2; border-top-color:#E02B20; border-right-color:#FFC83E;
  animation:rps-spin 1.2s cubic-bezier(.6,.1,.4,.9) infinite;
  transition:animation-duration .5s ease;
}
@keyframes rps-spin { to{transform:rotate(360deg)} }

.rps-orbit__icons {
  position:absolute; inset:0;
  animation:rps-orbit-rotate 8s linear infinite;
  transition:opacity .25s ease;
}
.rps-orbit__icons--swap { opacity:0; }
.rps-orbit__icon {
  position:absolute; font-size:26px;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));
  animation:rps-orbit-counter 8s linear infinite;
}
.rps-orbit__icon--svg .rps-icon { width:26px; height:26px; color:#E02B20; transition:transform .3s ease; }
.rps-orbit__icon:nth-child(1) { top:-14px; left:50%; transform:translateX(-50%); }
.rps-orbit__icon:nth-child(2) { top:50%; right:-14px; transform:translateY(-50%); }
.rps-orbit__icon:nth-child(3) { bottom:-14px; left:50%; transform:translateX(-50%); }
.rps-orbit__icon:nth-child(4) { top:50%; left:-14px; transform:translateY(-50%); }
@keyframes rps-orbit-rotate { to{transform:rotate(360deg)} }
@keyframes rps-orbit-counter { to{transform:rotate(-360deg)} }

.rps-orbit__center {
  position:absolute; inset:30px; border-radius:50%;
  background:linear-gradient(135deg,#fef7f7,#fff);
  display:flex; align-items:center; justify-content:center;
  font-size:36px; color:#E02B20;
  box-shadow:0 4px 20px rgba(224,43,32,.1);
  animation:rps-center-pulse 2s ease infinite;
  transition:opacity .25s ease, transform .25s ease;
}
.rps-orbit__center .rps-icon { width:36px; height:36px; }
.rps-orbit__center--swap { opacity:0; transform:scale(.6); }
@keyframes rps-center-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.08)} }

.rps-ticker {
  position:absolute; bottom:80px; left:0; right:0; overflow:hidden;
  height:40px; opacity:.15;
}
.rps-ticker__track {
  display:flex; gap:24px; white-space:nowrap;
  animation:rps-ticker-scroll 20s linear infinite;
}
.rps-ticker__item { font-size:28px; flex-shrink:0; }
@keyframes rps-ticker-scroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }

.rps-loader-content {
  position:relative; z-index:3;
  display:flex; flex-direction:column; align-items:center;
}

.rps-page-loader__text {
  font-size:20px; font-weight:500; color:#1a1a1a; text-align:center; max-width:440px;
  line-height:1.4; transition:opacity .3s ease, transform .3s ease;
}
.rps-page-loader__text strong {
  font-weight:800;
  background:linear-gradient(90deg,#E02B20,#FFC83E,#AA2018,#E02B20);
  background-size:300% auto;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:rps-shimmer 2.5s linear infinite;
}
.rps-page-loader__text.rps-text--out { opacity:0; transform:translateY(-8px); }
.rps-page-loader__text.rps-text--in { animation:rps-text-enter .4s ease; }
@keyframes rps-text-enter {
  from { opacity:0; transform:translateY(8px); }
  to   { opacity:1; transform:translateY(0); }
}
.rps-page-loader__sub {
  font-size:12px; color:#888; margin-top:10px; letter-spacing:1px;
  display:flex; align-items:center; gap:5px;
}
.rps-page-loader__sub .rps-icon { width:14px; height:14px; color:#FFC83E; animation:rps-sparkle 2s ease infinite; }
.rps-emcor-logo {
  height:12px !important; width:auto !important; max-height:12px !important;
  display:inline-block !important; vertical-align:middle;
  filter:brightness(0) saturate(100%) invert(15%) sepia(95%) saturate(5000%) hue-rotate(355deg) brightness(90%) contrast(95%);
}

.rps-cat-tags {
  position:fixed; inset:0; z-index:1; overflow:hidden; pointer-events:none;
}
.rps-cat-tag {
  position:absolute; opacity:0;
  color:#e0e0e0; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  white-space:nowrap; user-select:none;
  animation:rps-cat-drift linear infinite;
}
@keyframes rps-cat-drift {
  0%   { opacity:0; transform:translateY(20px) scale(.9); }
  15%  { opacity:.18; }
  50%  { opacity:.12; transform:translateY(-10px) scale(1); }
  85%  { opacity:.06; }
  100% { opacity:0; transform:translateY(-40px) scale(.95); }
}

.rps-page-loader::after {
  content:''; position:fixed; top:0; left:0; height:3px; z-index:1000000;
  background:linear-gradient(90deg,#E02B20,#FFC83E,#E02B20);
  background-size:200% auto;
  animation:rps-progress 3s cubic-bezier(.1,.4,.2,1) forwards, rps-shimmer 1s linear infinite;
}
@keyframes rps-progress {
  0%   { width:0; }
  30%  { width:35%; }
  60%  { width:65%; }
  80%  { width:85%; }
  100% { width:98%; }
}
.rps-page-loader--out::after { width:100% !important; opacity:0; transition:opacity .3s; }

.rps-page-loader .rps-stars { position:fixed; inset:0; z-index:1; }

input[name="s"]::placeholder,
.e-search-input::placeholder,
.elementor-search-form__input::placeholder {
  color:#E02B20 !important; opacity:.6 !important;
  padding:0 !important; margin:0 !important;
  text-indent:0 !important;
}
input[name="s"],
.e-search-input,
.elementor-search-form__input {
  padding:14px 120px 14px 20px !important;
  box-sizing:border-box !important;
  border-radius:50px !important;
}
.elementor-search-form,
.e-search-form,
.elementor-search-form__container,
.e-search-input-wrapper,
.elementor-search-form__fields-wrapper {
  border-radius:50px !important;
  overflow:visible !important;
}
/* Elementor close/toggle/X buttons */
.e-search-close, .dialog-close-button,
.elementor-search-form__toggle,
.e-search-input__clear,
.elementor-search-form__icon,
button.e-search-submit {
  display:none !important;
}

.e-search-submit, .elementor-search-form__submit {
  position:absolute !important; width:1px !important; height:1px !important;
  overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important;
  border:0 !important; padding:0 !important; margin:-1px !important;
}

.rps-input-badge {
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  display:inline-flex; align-items:center; gap:5px;
  background:linear-gradient(135deg,#1a1a1a,#333); color:#FFC83E;
  font-size:10px; font-weight:700; letter-spacing:.6px; text-transform:uppercase;
  padding:8px 16px; border-radius:50px; cursor:pointer; z-index:2;
  overflow:hidden;
  box-shadow:0 0 10px rgba(255,200,62,.4), 0 0 20px rgba(255,200,62,.15);
  transition:transform .35s cubic-bezier(.4,0,.2,1), box-shadow .3s, opacity .35s, scale .35s;
  animation:rps-badge-glow 2.5s ease-in-out infinite;
}
.rps-input-badge::after {
  content:''; position:absolute; top:-50%; left:-100%; width:60%; height:200%;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.25) 50%,transparent 60%);
  animation:rps-badge-shine 3s ease-in-out infinite;
  pointer-events:none;
}
.rps-input-badge:hover {
  transform:translateY(-50%) scale(1.05);
  box-shadow:0 0 14px rgba(255,200,62,.6), 0 0 28px rgba(255,200,62,.3);
}
.rps-input-badge:active { transform:translateY(-50%) scale(.97); }
.rps-input-badge .rps-icon { width:14px; height:14px; color:#FFC83E; filter:drop-shadow(0 0 4px rgba(255,200,62,.8)); animation:rps-sparkle 2s ease infinite; }

/* Transfer out: badge shrinks into an orb and fades down toward the dropdown */
.rps-input-badge.rps-badge-transfer {
  transform:translateY(20px) scale(.3);
  opacity:0;
  pointer-events:none;
}

@keyframes rps-badge-glow {
  0%,100% { box-shadow:0 0 10px rgba(255,200,62,.4), 0 0 20px rgba(255,200,62,.15); }
  50%     { box-shadow:0 0 16px rgba(255,200,62,.6), 0 0 30px rgba(255,200,62,.3); }
}
@keyframes rps-badge-shine { 0%{left:-100%} 50%{left:150%} 100%{left:150%} }
@media (max-width:600px) { .rps-input-badge { font-size:9px; padding:5px 10px; } }

/* Dropdown chip receives the transferred power */
.rps-ai-chip--received {
  animation:rps-chip-arrive .5s cubic-bezier(.2,.8,.3,1.2) both;
}
@keyframes rps-chip-arrive {
  0%   { transform:scale(.3) translateY(-20px); opacity:0; }
  60%  { transform:scale(1.1) translateY(0); opacity:1; }
  100% { transform:scale(1) translateY(0); opacity:1; }
}

/* Hide browser native search clear X and all close icons */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance:none !important; display:none !important;
}
input[type="search"]::-ms-clear,
input[type="search"]::-ms-reveal { display:none !important; width:0 !important; height:0 !important; }
input[type="search"] { -webkit-appearance:none !important; -moz-appearance:textfield !important; }
/* Elementor search widget X / close icons */
.e-search-input-wrapper .e-font-icon-svg,
.e-search-input-wrapper svg:not(.rps-icon),
.elementor-search-form__fields-wrapper > *:not(input):not(.rps-overlay):not(.rps-input-badge) {
  display:none !important;
}

@media (max-width:600px) {
  .rps-page-loader__text { font-size:16px; padding:0 20px; }
  .rps-cat-tag { display:none; }
}
