/* Brand and catalogue presentation refresh. Keep InSales widget markup intact. */

:root {
  --rb-teal: #06aba9;
  --rb-cyan: #16bdda;
  --rb-blue: #087dd5;
  --rb-deep: #0d3263;
  --rb-yellow: #ffce49;
}

/* The wordmark is cut directly from the client's photo; the old slogan and badge
   are not part of the transparent image. */
.rb-brand__text { gap: 5px; }
.rb-brand__original-mark {
  --rb-mark-width: 216px;
  display: block;
  width: var(--rb-mark-width);
  height: auto;
  flex: none;
  object-fit: contain;
}
.rb-brand__tagline,
body .rb-sticky-finder__brand .rb-brand__tagline,
body .rb-home-banner__brand .rb-brand__tagline {
  color: #fff;
  font: 800 12px/1.15 var(--rb-font, Arial, sans-serif);
  letter-spacing: .015em;
  text-transform: none;
}
body .rb-sticky-finder__brand .rb-brand__original-mark {
  --rb-mark-width: 184px;
  width: var(--rb-mark-width) !important;
  max-width: var(--rb-mark-width) !important;
  height: auto !important;
}
body .rb-sticky-finder__brand .rb-brand__tagline { font-size: 10px; }
/* Reserve the logo's actual width in the fixed header's grid. Otherwise the
   auto-sized first track can shrink and clip the mark at the viewport edge. */
body .rb-sticky-finder__identity {
  width: 184px;
  min-width: 184px;
  justify-self: start;
}
body .rb-sticky-finder__brand { flex: 0 0 auto; min-width: 100%; }
body .rb-sticky-finder__brand .rb-brand__text { flex-shrink: 0; }
body .rb-home-banner__brand .rb-brand__original-mark { --rb-mark-width: 274px; }
body .rb-home-banner__brand .rb-brand__tagline { font-size: 15px; }
body .rb-footer-brand .rb-brand__original-mark { --rb-mark-width: 230px; }
body .rb-footer-brand .rb-brand__tagline { font-size: 12px; }
.page_layout > header .rb-checkout-brand .rb-brand {
  padding: 9px 12px;
  border-radius: 14px;
  background: linear-gradient(105deg, #05a9a6 0%, #098fc9 53%, #1554aa 100%);
}
.page_layout > header .rb-checkout-brand .rb-brand__tagline { color: #fff; }

/* Brighter original-store palette and fully rounded navigation controls. */
body .rb-service-nav,
body .rb-sticky-finder {
  background: linear-gradient(105deg, #05a9a6 0%, #098fc9 53%, #1554aa 100%);
}
body .rb-service-nav .rb-service-nav__catalog,
body .rb-sticky-finder__catalog {
  border-radius: 999px;
  background: #ffcf4c;
  color: #102c57 !important;
  box-shadow: 0 3px 9px rgba(7, 40, 78, .12);
}
body .rb-service-nav .rb-service-nav__catalog:hover,
body .rb-sticky-finder__catalog:hover { background: #ffe07a; }
body .rb-service-nav__search,
body .rb-sticky-finder form {
  border-radius: 999px;
  border-color: rgba(255, 255, 255, .8);
  box-shadow: 0 4px 12px rgba(6, 42, 75, .12);
}
body .rb-service-nav__search button,
body .rb-sticky-finder button { background: #ffcf4c; }
body .rb-service-nav__search button:hover,
body .rb-sticky-finder button:hover { background: #ffe07a; }
body .rb-service-nav__cart,
body .rb-sticky-finder__cart { border-radius: 999px; }

/* White, softly lifted cards echo the approved tool-store references. */
body .rb-types { background: #f5f9fc; }
body .rb-type-card {
  border: 1px solid #e7edf3;
  border-radius: 27px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(30, 56, 84, .09), 0 1px 3px rgba(30, 56, 84, .04);
}
body .rb-type-card:hover,
body .rb-type-card:focus-visible {
  border-color: #9ccbe9;
  box-shadow: 0 12px 29px rgba(19, 72, 124, .17);
}
body .rb-type-card[aria-disabled="true"]:hover {
  border-color: #e7edf3;
  box-shadow: 0 5px 18px rgba(30, 56, 84, .09), 0 1px 3px rgba(30, 56, 84, .04);
}
body .rb-type-card__art { padding: 0 8px 8px; box-sizing: border-box; }
body .rb-type-card__icon { filter: none; }
body .rb-type-card__art img { object-fit: contain; }
body .rb-types__grid > .rb-type-card:nth-child(-n+6) .rb-type-card__art img {
  transform: scale(1.14);
  transform-origin: center bottom;
}

body[data-theme-template="collection"] .product-preview,
body[data-theme-template="search"] .product-preview {
  border-color: #e7edf3;
  border-radius: 27px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(28, 54, 85, .11);
}
body[data-theme-template="collection"] .product-preview__photo,
body[data-theme-template="search"] .product-preview__photo { background: #fff; }
body .rb-card-action,
body .rb-card-action.favorites_btn { border: 0 !important; background: #fff !important; }
body .rb-card-action:hover,
body .rb-card-action:focus-visible,
body .rb-card-action.favorites-added,
body .rb-card-action.compare-added,
body .rb-card-action[aria-pressed="true"] {
  background: #fff !important;
  border: 0 !important;
}
body .rb-card-action:focus-visible { outline: 2px solid #ffd451; outline-offset: 2px; }

/* Keep the footer clearly part of the same vivid brand, with readable links. */
body .page_layout > footer {
  color: #fff;
  background: linear-gradient(112deg, #0b777f 0%, #0b8fc1 48%, #123d91 100%);
}
body .page_layout > footer a { color: #fff; }
body .page_layout > footer a:hover { color: #ffe27d; }

@media (max-width: 1220px) {
  body .rb-service-nav__brand .rb-brand__original-mark { --rb-mark-width: 178px; }
  body .rb-service-nav__brand .rb-brand__tagline { font-size: 10px; }
  body .rb-sticky-finder__brand .rb-brand__original-mark { --rb-mark-width: 160px; }
  body .rb-sticky-finder__brand .rb-brand__tagline { font-size: 9px; }
  body .rb-sticky-finder__identity { width: 160px; min-width: 160px; }
}
@media (max-width: 780px) {
  body .rb-service-nav__brand .rb-brand__original-mark { --rb-mark-width: 170px; }
  body .rb-sticky-finder__brand .rb-brand__original-mark { --rb-mark-width: 150px; }
  body .rb-sticky-finder__identity { width: 150px; min-width: 150px; }
  body .rb-type-card { border-radius: 21px; }
}
@media (max-width: 560px) {
  body .rb-service-nav__brand .rb-brand__original-mark,
  body .rb-sticky-finder__brand .rb-brand__original-mark { --rb-mark-width: 138px; }
  body .rb-service-nav__brand .rb-brand__tagline,
  body .rb-sticky-finder__brand .rb-brand__tagline { font-size: 8px; }
  body .rb-sticky-finder__identity { width: 138px; min-width: 138px; }
  body .rb-home-banner__brand .rb-brand__original-mark { --rb-mark-width: 190px; }
  body .rb-home-banner__brand .rb-brand__tagline { font-size: 11px; }
  body .rb-type-card { border-radius: 19px; }
  body .rb-type-card__art { padding: 0 3px 5px; }
  body .rb-types__grid > .rb-type-card:nth-child(-n+6) .rb-type-card__art img { transform: scale(1.04); }
}
@media (max-width: 380px) {
  body .rb-service-nav__brand .rb-brand__original-mark,
  body .rb-sticky-finder__brand .rb-brand__original-mark { --rb-mark-width: 118px; }
  body .rb-service-nav__brand .rb-brand__tagline,
  body .rb-sticky-finder__brand .rb-brand__tagline { font-size: 7px; }
  body .rb-sticky-finder__identity { width: 118px; min-width: 118px; }
}
