/* Live OpenCart integration for the approved home, listing and product layouts. */
.rd-modern * { letter-spacing: 0; }
.rd-modern [hidden] { display: none !important; }
.rd-modern a:hover,.rd-modern a:focus { text-decoration: none; }
.rd-modern h1,.rd-modern h2,.rd-modern h3 { color: var(--ink); }
.rd-modern button,.rd-modern input,.rd-modern select,.rd-modern textarea { font-family: inherit; }
.rd-modern button:disabled { opacity: .55; cursor: wait; }
.rd-modern .btn { white-space: normal; line-height: 1.3; box-shadow: none; }
.rd-modern .btn:active { box-shadow: none; }
.rd-modern .logo { flex-shrink: 0; }
.rd-modern .logo img { width: 126px; height: 26px; object-fit: contain; }
.rd-modern .tools { flex-shrink: 0; }
.rd-modern .tools i { font-size: 21px; }
.rd-modern .topbar i { font-size: 16px; }
.rd-modern .hdr { position: relative; }
.rd-skip { position: absolute; left: 12px; top: -80px; z-index: 120; background: #fff; padding: 12px; }
.rd-skip:focus { top: 12px; }
.rd-menu-heading { display: flex; align-items: center; }
.rd-submenu-toggle { display: grid; place-items: center; width: 28px; min-height: 42px; border: 0; background: none; cursor: pointer; }
.rd-menu.is-open .caret { transform: rotate(180deg); }
.rd-dropdown a { display: block; padding: 10px; border-radius: 4px; }
.rd-dropdown a:hover { background: var(--surface-2); }
.rd-modern .rd-dropdown { background: #fff; border: 1px solid var(--border-soft); padding: 12px; list-style: none; }
.rd-menu-heading > a { flex: 1; }
.rd-modern .ftr-brand img { display: block; width: 190px; height: 38px; object-fit: contain; object-position: left; margin-bottom: 12px; }
.rd-modern .req dd { min-width: 0; overflow-wrap: anywhere; }
.rd-modern .req dl { grid-template-columns: auto minmax(0,1fr); }
.rd-modern .tabbar { position: fixed; left: 0; right: 0; bottom: 0; padding-bottom: env(safe-area-inset-bottom); }
.rd-modern .tabbar button { flex: 1; display: flex; flex-direction: column; gap: 3px; align-items: center; justify-content: center; border: 0; background: #fff; font: inherit; font-size: 10.5px; color: var(--muted); }
.rd-modern .tabbar i { font-size: 20px; }
.rd-dialog { width: min(600px,calc(100% - 28px)); max-height: calc(100dvh - 40px); overflow: auto; border: 1px solid var(--border); border-radius: 8px; padding: 30px 24px 24px; color: var(--ink); }
.rd-dialog::backdrop { background: rgba(0,0,0,.45); }
.rd-dialog h2 { margin: 0 28px 18px 0; font-size: 22px; }
.rd-close { position: absolute; right: 6px; top: 6px; display: grid; place-items: center; width: 36px; height: 36px; border: 0; background: transparent; cursor: pointer; font-size: 18px; }
.rd-dialog form:not(.rd-search-form) { display: grid; gap: 12px; }
.rd-dialog input[type=tel],.rd-review-form input,.rd-reviews input[type=text],.rd-reviews textarea { width: 100%; min-height: 46px; border: 1px solid var(--border); border-radius: 6px; padding: 10px; font-size: 16px; }
.rd-consent { font-size: 12px; font-weight: 400; line-height: 1.5; }
.rd-consent a,.rd-description a,.rd-form-result a,.rd-notice a { color: var(--amber-text); text-decoration: underline; }
.rd-lightbox { max-width: min(1100px,calc(100vw - 28px)); width: max-content; }
.rd-lightbox img { display: block; max-height: calc(100dvh - 120px); max-width: 100%; object-fit: contain; }
.rd-notice { position: fixed; z-index: 70; top: 120px; right: 20px; width: min(420px,calc(100% - 40px)); padding: 18px 46px 18px 20px; background: #fff; border: 1px solid var(--border); border-left: 4px solid var(--amber); border-radius: 6px; box-shadow: 0 8px 32px rgba(0,0,0,.14); }
.rd-form-result { font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.rd-form-result:empty { display: none; }
.rd-form-result.is-error { color: #b42318; }
.rd-form-result.is-success { color: var(--ok); }
.rd-search-dialog { inset: min(8dvh,56px) 0 auto; margin: 0 auto; overflow: visible; }
.rd-search-form { display: flex; flex-direction: row; gap: 0; width: 100%; position: relative; }
.rd-search-form input[type=search] { flex: 1; width: 0; min-width: 0; height: 52px; border: 1px solid var(--border); border-radius: 7px 0 0 7px; padding: 0 16px; font-size: 16px; color: var(--ink); background: #fff; }
.rd-search-form .btn { border-radius: 0 7px 7px 0; padding: 0 24px; min-height: 52px; }
.rd-catalog-search { max-width: 760px; margin: 18px 0; }
.rd-suggestions { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 30; max-height: min(420px,var(--rd-suggestions-height,50dvh)); overflow-y: auto; overscroll-behavior: contain; margin: 0; border: 1px solid var(--border); background: #fff; border-radius: 7px; text-align: left; box-shadow: 0 8px 20px rgba(0,0,0,.08); }
.rd-suggestions.is-above { top: auto; bottom: calc(100% + 8px); }
.rd-suggestions a { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 44px; padding: 10px 12px; border-bottom: 1px solid var(--border-soft); font-size: 13px; line-height: 1.4; }
.rd-suggestions a:last-child { display: block; }
.rd-suggestions a:hover,.rd-suggestions a:focus { background: var(--surface-2); }
.rd-suggestions img { flex: 0 0 42px; width: 42px; height: 42px; object-fit: contain; }
.rd-suggestions span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.rd-suggestions b { margin-left: auto; font-size: 12px; white-space: nowrap; }
.rd-modern .cat[hidden] { display: none; }
.rd-modern .cats .all { background: var(--surface-2); cursor: pointer; }
.rd-modern .ph { overflow: hidden; position: relative; }
.rd-modern .ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.rd-modern .post .ph img { object-fit: cover; }
.rd-modern .brand { padding: 10px; text-align: center; overflow-wrap: anywhere; }
.rd-modern .mapview { background: var(--surface-2); }
.rd-modern .mapview iframe { width: 100%; height: 100%; min-height: 280px; border: 0; display: block; }
.rd-modern .mapinfo dd { min-width: 0; }
.rd-modern .pcard,.rd-modern .scard { height: 332px; min-width: 0; }
.rd-modern .pcard .ph,.rd-modern .scard .ph { flex-shrink: 0; }
.rd-price-request,.rd-price-request b,.pcard .rd-price-request { font-size: 16px !important; line-height: 1.4; }
.rd-slider { position: relative; }
.rd-slider-arrow { position: absolute; z-index: 2; top: 48%; width: 34px; height: 34px; border: 1px solid var(--border); border-radius: 50%; background: #fff; font-size: 22px; display: grid; place-items: center; cursor: pointer; }
.rd-slider-arrow:disabled { opacity: .35; cursor: default; }
.rd-prev { left: -12px; }.rd-next { right: -12px; }
.rd-modern .rd-product-rail { display: flex; gap: 14px; overflow-x: auto; scroll-behavior: smooth; }
.rd-modern .rd-product-rail > * { flex: 0 0 180px; }
.rd-modern .cols.rd-no-sidebar { grid-template-columns: minmax(0,1fr); }
.rd-results,.rd-filters,.rd-item-info { min-width: 0; }
.rd-modern .rd-filters { margin-top: 16px; }
.rd-modern .rd-filters .panel { margin: 0; box-shadow: none; border: 1px solid var(--border-soft); border-radius: 8px; }
.rd-modern #ocfilter .panel-heading { background: #fff; font-size: 16px; font-weight: 600; padding: 16px; }
.rd-modern #ocfilter .list-group-item { border-color: var(--border-soft); padding: 12px 16px; }
.rd-modern #ocfilter label { min-height: 34px; line-height: 1.5; }
.rd-modern #ocfilter .option-name { font-size: 13px; }
.rd-modern #ocfilter .ocf-option-values { font-size: 13px; }
.rd-modern #ocfilter-button { padding: 10px; }
.rd-modern .item .meta span { display: block; }
.rd-modern .item .price { flex-wrap: wrap; }
.rd-modern .item .price b { overflow-wrap: anywhere; }
.rd-modern .item .btns > .btn:only-child { grid-column: 1 / -1; width: 100%; min-width: 0; flex: 1; }
.rd-modern .demo-category-listing.is-grid .item { height: 358px; min-width: 0; }
.rd-modern .demo-category-listing.is-grid .item .meta span:last-child { display: block; }
.rd-modern .demo-category-listing.is-grid .item .meta span:last-child b { font-size: 11px; }
.rd-modern .demo-category-listing.is-grid .item .btns { grid-template-columns: repeat(2,minmax(0,1fr)); }
.rd-modern .demo-category-listing.is-grid .item .btns .btn { padding-left: 4px; padding-right: 4px; white-space: normal; }
.rd-modern .pager { margin: 0; }
.rd-modern .pager .pagination > li > a { color: var(--ink-2); background: #fff; border-color: var(--border); }
.rd-modern .pager .pagination > .active > span { background: var(--amber); border-color: var(--amber); color: #000; }
.rd-description { margin-top: 24px; overflow-wrap: anywhere; line-height: 1.65; }
.rd-description img { max-width: 100%; height: auto; }
.rd-description table { max-width: 100%; }
.rd-description h2 { font-size: 22px; }
.rd-description h3 { font-size: 18px; }
.rd-empty { padding-top: 24px; padding-bottom: 48px; min-height: 280px; }
.rd-modern .stage { border-radius: 8px; }
.rd-modern .stage > a { display: flex; width: 100%; height: 100%; min-height: 0; align-items: center; justify-content: center; }
.rd-modern .stage img { width: 100%; height: 100%; object-fit: contain; border-radius: 8px; position: absolute; inset: 0; }
.rd-modern .thumbs img { width: 100%; height: 100%; object-fit: contain; }
.rd-modern .buybox { border-radius: 8px; }
.rd-modern .buybox .price { flex-wrap: wrap; }
.rd-modern .buybox .ship > a { display: block; margin-top: 10px; font-size: 13px; color: var(--amber-text); }
.rd-modern .rd-option { margin-top: 16px; }
.rd-modern .rd-option label { font-size: 13px; }
.rd-modern .rd-option .form-control { min-height: 44px; height: auto; font-size: 16px; }
.rd-option-choice { display: flex; gap: 8px; align-items: center; }
.rd-option input[type=file] { max-width: 100%; }
.rd-discounts { font-size: 13px; padding-left: 18px; margin-top: 12px; }
.rd-modern .rd-no-related { grid-template-columns: minmax(0,1fr); }
.rd-modern .inner.rd-description { margin-top: 0; }
.rd-modern .acc .inner p { max-width: none; }
.rd-modern .acc .inner h3 { font-size: 16px; }
.rd-modern .spec td,.rd-modern .spec th { overflow-wrap: anywhere; }
.rd-modern .spec { table-layout: fixed; }
.rd-reviews h2 { font-size: 18px; margin: 18px 0 12px; }
.rd-reviews form { display: grid; gap: 10px; }
.rd-reviews fieldset { display: flex; gap: 16px; flex-wrap: wrap; }
.rd-reviews legend { font-size: 14px; margin-bottom: 8px; }
.rd-reviews .review { border-bottom: 1px solid var(--border-soft); padding: 14px 0; }
.rd-reviews .stars svg { width: 16px; height: 16px; }
.rd-reviews .date { color: var(--muted); font-size: 12px; }
.rd-modern .buybar { position: fixed; left: 0; right: 0; bottom: 0; padding-bottom: max(10px,env(safe-area-inset-bottom)); grid-template-columns: minmax(0,1fr) auto; }
.rd-modern .buybar .p b { font-size: 17px; }
@media (max-width:999px) {
  .rd-modern { padding-bottom: 84px; }
  .rd-modern .mainnav.is-open { display: block; position: absolute; top: 100%; left: 14px; right: 14px; max-height: calc(100dvh - 124px); overflow-y: auto; overscroll-behavior: contain; z-index: 50; padding: 10px; background: #fff; border: 1px solid var(--border); border-radius: 6px; box-shadow: 0 10px 28px rgba(0,0,0,.13); }
  .rd-modern .mainnav ul { display: block; margin: 0; padding: 0; list-style: none; }
  .rd-modern .mainnav > ul > li > a,.rd-modern .rd-menu-heading > a { display: block; padding: 12px 9px; font-size: 14px; }
  .rd-modern .rd-dropdown { border: 0; padding-left: 12px; }
  .rd-modern .rd-dropdown a { font-size: 13px; border-bottom: 1px solid var(--border-soft); }
  .rd-modern .rd-filters { margin: 0; }
  .rd-modern .bar { grid-template-columns: auto minmax(0,1fr) auto; }
  .rd-modern .bar.rd-without-filter { grid-template-columns: minmax(0,1fr) auto; }
  .rd-modern .bar .lim { display: none; }
  .rd-modern .bar .fbtn { font-size: 13px; }
  .rd-modern .rd-results .item .buy { grid-template-columns: minmax(0,1fr) auto; }
  .rd-modern .rd-results .item .btns .btn { padding: 0 9px; }
  .rd-modern .ocdw_form_builder-call-float-button { bottom: 126px !important; right: 12px !important; padding: 12px 16px !important; font-size: 13px !important; }
  .rd-modern #jvLabelWrap { bottom: 80px !important; right: 12px !important; }
}
@media (max-width:767px) {
  .rd-modern .rd-filters > .panel { display: none; }
  .rd-modern .ocfilter-mobile { z-index: 80; }
  .rd-modern .ocfilter-mobile-handle { display: none; }
  .rd-modern .ocfilter-mobile .ocf-offcanvas-body { background: #fff; }
  .rd-modern .ocfilter-mobile.active .ocfilter-mobile-handle { display: block; }
  .rd-modern .ocfilter-mobile.active .ocfilter-mobile-handle button { background: var(--amber); color: #000; border-color: var(--amber); }
}
@media (min-width:768px) and (max-width:999px) {
  .rd-modern .cols { grid-template-columns: 230px minmax(0,1fr); gap: 18px; }
  .rd-modern .bar .fbtn { display: none; }
  .rd-modern .bar .lim { display: block; }
  .rd-modern .bar.rd-without-filter { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; }
}
@media (max-width:479px) {
  .rd-modern .topbar li { flex: 0 0 auto; }
  .rd-modern .topbar li.tb-phone { flex: 1; }
  .rd-modern .topbar li.tb-phone a { white-space: nowrap; font-size: 12px; }
  .rd-modern .topbar .rd-contact-label { display: none; }
  .rd-modern .topbar a { padding-left: 4px; padding-right: 4px; }
  .rd-modern .item .buy { grid-template-columns: minmax(0,1fr) !important; }
  .rd-modern .item .btns { display: grid; grid-template-columns: 1fr 1fr; }
  .rd-modern .rd-dialog { padding: 30px 16px 18px; }
  .rd-modern .qtyrow { grid-template-columns: auto minmax(0,1fr); gap: 8px; }
  .rd-modern .qty input { width: 44px; }
  .rd-modern .qty button { width: 34px; }
  .rd-modern .qtyrow .btn { padding: 0 8px; font-size: 12px; }
  .rd-modern .searchrow { flex-direction: row; }
  .rd-modern .rd-search-form .btn { padding: 0 15px; }
  .rd-modern .rd-suggestions a { grid-template-columns: 36px minmax(0,1fr); gap: 4px 10px; }
  .rd-modern .rd-suggestions img { grid-row: 1 / span 2; width: 36px; height: 36px; }
  .rd-modern .rd-suggestions b { grid-column: 2; margin-left: 0; }
}
@media (min-width:1000px) {
  .rd-modern .logo img { width: 220px; height: 44px; }
  .rd-modern .hdr-in { gap: 16px; }
  .rd-modern .mainnav { min-width: 0; flex: 1; }
  .rd-modern .mainnav > ul { gap: 15px; align-items: center; }
  .rd-modern .mainnav > ul > li { min-width: 0; }
  .rd-modern .mainnav a { font-size: 12px; line-height: 1.35; white-space: normal; }
  .rd-modern .rd-dropdown { display: grid; position: absolute; z-index: 45; top: 100%; left: 50%; transform: translateX(-50%); width: min(1180px,calc(100vw - 40px)); grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px 16px; box-shadow: 0 10px 28px rgba(0,0,0,.14); }
  .rd-modern .rd-dropdown a { font-size: 13px; }
  .rd-modern .rd-product-rail > * { flex: 0 0 calc((100% - 42px)/4); }
  .rd-modern .rd-filters { margin-top: 0; }
  .rd-modern .demo-category-listing.is-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .rd-modern .tabbar { display: none; }
  .rd-modern .buybar { display: none; }
}
@media (min-width:1200px) {
  .rd-modern .mainnav a { font-size: 13px; }
  .rd-modern .demo-category-listing.is-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
