/*
  Revolver CG — custom styles.
  Loaded AFTER Bootstrap so overrides win (mind specificity, use classes).
  Tokens are exact values extracted from the live revolvercg.com site.
*/
:root {
  --rc-header: #333333;
  --rc-header-text: #ffffff;
  --rc-heading: #444444;
  --rc-body: #555555;
  --rc-txt: rgb(50,50,50);
  --rc-muted: #999999;
  --rc-search-text: #a9a8a8;
  --rc-contact-text: #555;
}

body {
  font-family: "Verdana", "Arial", "Helvetica", sans-serif;
  color: var(--rc-body);
  background: #ffffff;
}

/* Wider content column than Bootstrap's default (original ≈1410px) */
.rc-container { max-width: 99%; }

/* =============================== HEADER =============================== */
.rc-header { background: var(--rc-header); }

.rc-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  height: 50px;
  padding: 0 15px;
  margin-bottom: 30px;
}

.rc-logo { margin-left: 22px; flex-shrink: 0; line-height: 0; }
.rc-logo img { height: 39px; width: 337px; max-width: 75vw; }

.rc-header-right { display: flex; align-items: center; gap: 16px; }

.rc-burger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 0;
  background: none;
  color: #fff;
}
.rc-bar {
  display: block;
  width: 24px;
  height: 2px;
  background: currentColor;
  box-shadow: 0 -8px 0 currentColor, 0 8px 0 currentColor;
}

/* Nav */
.rc-nav { list-style: none; margin: 0; padding: 0; display: flex; }
.rc-nav-item { position: relative; }
.rc-nav-link {
  display: flex;
  align-items: center;
  height: 46px;
  padding: 0 10px;
  font-size: 12px;
  font-weight: normal;
  text-transform: uppercase;
  color: var(--rc-header-text);
  text-decoration: none;
  white-space: nowrap;
}
.rc-nav-link:hover { background: #fff; color: var(--rc-header); }
.rc-nav-link-selected { background: #fff; color: var(--rc-header); }
.rc-child-selected { color: var(--rc-body); background: #f2f2f2; }

/* Dropdown (pure CSS hover, as the original) */
.rc-children {
  position: absolute;
  top: 100%;
  left: 0;
  width: 167px;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  display: none;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  z-index: 999;  
  text-transform: uppercase;
  font-size: 16px;
  line-height: 25px;
}
.rc-children li {
    border-bottom: 1px solid var(--rc-body);
}

.rc-children li:last-child {
    border-bottom: 0px solid red;
}

.rc-children::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 181px;
  height: 10px;
  background: url("../images/charcool_menu_arrow.png") no-repeat top center;
  background-size: 181px 10px;
}
.rc-children a {
  display: flex;
  align-items: center;
  height: 30px;
  padding: 0 6px 0 10px;
  font-size: 11px;
  color: var(--rc-muted);
  text-decoration: none;
}
.rc-children a:hover { color: var(--rc-body); background: #f2f2f2; }
.rc-nav-item:hover .rc-children { display: block; }

/* Social */
.rc-social { display: flex; align-items: center; gap: 5px; }
.rc-social img { width: 22px; height: 22px; }

/* Search pill */
.rc-search {
  display: flex;
  align-items: center;
  width: 300px;
  height: 35px;
  border-radius: 7px;
  background: #fff;
  padding-left: 7px;
}
.rc-search input {
  flex: 1 1 auto;
  min-width: 0;
  height: 33px;
  border: 0;
  background: transparent;
  font-size: 14px;
  color: var(--rc-search-text);
  outline: none;
}
.rc-search input::placeholder { color: var(--rc-search-text); opacity: 1; }
.rc-search button {
  flex: 0 0 auto;
  width: 32px;
  height: 33px;
  border: 0;
  background: url("../images/search-icon.png") center/contain no-repeat;
  cursor: pointer;
}

/* Mobile menu */
.rc-mobile-menu {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding: 4px 15px 14px;
}
.rc-mobile-menu .rc-nav { flex-direction: column; }
.rc-mobile-menu .rc-nav-link { height: 44px; }
.rc-mobile-menu .rc-children {
  position: static;
  display: block;
  width: 100%;
  background: transparent;
  box-shadow: none;
}
.rc-mobile-menu .rc-children::before { display: none; }
.rc-mobile-menu .rc-children a { color: #bbbbbb; padding-left: 14px; }
.rc-mobile-menu .rc-children a:hover { background: transparent; color: #fff; }
.rc-mobile-extra {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding-top: 10px;
}
.rc-mobile-extra .rc-search { width: 100%; }

@media (max-width: 768px) {
  .rc-header-row { height: auto; padding: 6px 10px 6px 0; }
  .rc-logo { margin-left: 0; }
}

/* =============================== PAGE HEADER =============================== */
.rc-title {
  font-family: "Arial", "Helvetica", sans-serif;
  font-size: 26px;
  font-weight: bold;
  line-height: 26px;
  color: var(--rc-heading);
  text-align: center;
  margin: 6px 0;
}

.rc-divider { display: block; margin: 15px auto 45px auto; max-width: 100%; height: 2px;  }
.rc-divider_menu { display: block; margin: 15px auto 0px auto; max-width: 100%; height: 2px;  }

.rc-prodnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 35px;
  padding: 10px 0px;
}
.rc-prodnav a {
  font-size: 10px;
  line-height: 18px;
  text-transform: uppercase;
  color: var(--rc-heading);
  text-decoration: none;
}
.rc-prodnav a:hover { text-decoration: underline; }
.rc-prodnav-active { color: #9bbb59 !important; }

/* =============================== OVERVIEW: TRIAL / BUY =============================== */
.rc-trial {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding: 15px 0;
}
.rc-trial-side { flex: 0 0 auto; width: 200px; }
.rc-trial-side a { display: inline-block; line-height: 0; }
.rc-trial-left { text-align: left; }
.rc-trial-right { text-align: right; }
.rc-trial-center { flex: 0 1 auto; text-align: center; }
.rc-trial-center > img { display: inline-block; max-width: 100%; height: auto; }
.rc-trial-steps {
  margin: 10px 0 0;
  font-family: "Verdana", "Arial", "Helvetica", sans-serif;
  font-size: 13px;
  line-height: 18px;
  color: var(--rc-body);
}

@media (max-width: 768px) {
  .rc-trial { flex-direction: column; gap: 10px; }
  .rc-trial-side { width: auto; }
  .rc-trial-left, .rc-trial-right { text-align: center; }
}

/* =============================== OVERVIEW: SLIDESHOW =============================== */
.rc-slider {
  position: relative;
  overflow: hidden;
  margin: 30px auto;
  max-width: 100%;
  height: 650px;
  background: #fff;
}


.rc-slides { position: relative; width: 100%; height: 100%; }
.rc-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.2s ease;
}
.rc-slide-active { opacity: 1; visibility: visible; }
.rc-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Magnifier overlay, centered, on hover */
.rc-magnifier {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 76px;
  height: 76px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 10;
  pointer-events: none;
}
.rc-gallery:hover .rc-magnifier {
  opacity: 1;
  visibility: visible;
}

.rc-pagination {
  position: absolute;
  bottom: 30px;
  right: 30px;
  display: flex;
  gap: 8px;
  z-index: 5;
}
.rc-pagination button {
  width: 12px;
  height: 12px;
  padding: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  cursor: pointer;
}
.rc-pagination button:hover { background: rgba(255, 255, 255, 0.8); }
.rc-pagination .rc-page-active { background: #fff; }

@media (max-width: 768px) {
  .rc-slider { height: 230px; }
  .rc-pagination { bottom: 12px; right: 12px; }
}

/* =============================== SAMPLES: GALLERY =============================== */
.rc-gallery {
  max-width: 100%;
  margin: 0 auto;
  padding: 10px 0 0;
}

.rc-gallery-panel {
  position: relative;
  overflow: hidden;
  height: 650px;
  background: #fff;
  cursor: zoom-in;
}


.rc-gallery-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
}
.rc-gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.magnifier {
  background: url("../images/magnifier.png") no-repeat center center;
}


.rc-gallery-slide-active { opacity: 1; visibility: visible; }

/* Slide transition (1s, left/right) */
.rc-gallery-slide-enter-left { animation: rc-slide-from-left 1s ease; }
.rc-gallery-slide-enter-right { animation: rc-slide-from-right 1s ease; }
@keyframes rc-slide-from-left {
  from { transform: translateX(-100%); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}
@keyframes rc-slide-from-right {
  from { transform: translateX(100%); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}

/* Old slide moves out while the new one moves in */
.rc-gallery-slide-leave-left { animation: rc-slide-out-left 1s ease; }
.rc-gallery-slide-leave-right { animation: rc-slide-out-right 1s ease; }
@keyframes rc-slide-out-left {
  from { transform: translateX(0); opacity: 1; }
  to   { transform: translateX(-100%); opacity: 0; }
}
@keyframes rc-slide-out-right {
  from { transform: translateX(0); opacity: 1; }
  to   { transform: translateX(100%); opacity: 0; }
}

/* Caption strip (title box at the bottom, as the original) */
.rc-gallery-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  min-height: 55px;
  padding: 6px 12px;
  background: rgba(51, 51, 51, 0.45);
  color: #fff;
  z-index: 4;
  pointer-events: none;
}
.rc-gallery-caption-title {
  display: block;
  font-family: "Verdana", "Arial", "Helvetica", sans-serif;
  font-size: 16px;
  line-height: 20px;
}
.rc-gallery-caption-info {
  display: block;
  font-size: 14px;
  line-height: 16px;
  color: #eee;
  padding-top: 5px;
}

/* Thumb strip */
.rc-gallery-thumbs {
  display: flex;
  gap: 6px;
  padding: 15px 5px;
  overflow-x: auto;
  background-color: #eee;
}
.rc-gallery-thumb {
  flex: 0 0 auto;
  width: 80px;
  height: 60px;
  padding: 0;
  border: 2px solid transparent;
  background: none;
  cursor: pointer;
  line-height: 0;
}
.rc-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.rc-gallery-thumb:hover { border-color: #999; }
.rc-gallery-thumb-active { border-color: var(--rc-heading); }

/* Lightbox */
.rc-gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1050;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  cursor: zoom-out;
}
.rc-gallery-lightbox[hidden] { display: none; }
.rc-gallery-lightbox-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
}
.rc-gallery-lightbox-close {
  position: absolute;
  top: 12px;
  right: 20px;
  border: 0;
  background: none;
  color: #fff;
  font-size: 36px;
  line-height: 1;
  cursor: pointer;
}
.rc-gallery-lightbox-close:hover { color: #ccc; }

@media (max-width: 768px) {
  .rc-gallery-panel { height: 320px; }
}

/* =============================== HERO =============================== */
.rc-hero {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  max-width: 100%;
  aspect-ratio: 16 / 7;
  background: #fff;
}
.rc-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/* Splide fade slideshow fills the hero */
.rc-hero .splide { position: absolute; inset: 0; }
.rc-hero .splide__track,
.rc-hero .splide__list,
.rc-hero .splide__slide { height: 100%; }
.rc-hero .splide__slide { position: relative; overflow: hidden; }
.rc-hero-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 88px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 10px 10px 0;
  z-index: 1;

}
.rc-hero-caption h2 {
  margin: 0 10px;
  font-family: "Verdana", "Arial", "Helvetica", sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 16px;
  color: #fff;
}
.rc-hero-caption p {
  margin: 6px 10px 0;
  font-family: "Verdana", "Arial", "Helvetica", sans-serif;
  font-size: 12px;
  line-height: 18px;
  color: #fff;
}

@media (min-width: 768px) {
  .rc-hero { aspect-ratio: auto; height: 575px; }
}

/* Hero slider arrows — grey_sprite.png swap states */
.rc-arrow {
  position: absolute;
  top: 45%;
  width: 29px;
  height: 58px;
  border: 0;
  background-image: url("../images/grey_sprite.png");
  background-repeat: no-repeat;
  background-color: transparent;
  cursor: pointer;
  /*transition: background-position 0.2s ease;*/
}
.rc-arrow-prev { left: 0;  background-position: 0 -94px; border-radius: 0;}
.rc-arrow-prev:hover,
.rc-arrow-prev:focus { background-position: 0 -152px; }
.rc-arrow-next { right: 0; background-position: -29px -94px; border-radius: 0;}
.rc-arrow-next:hover,
.rc-arrow-next:focus { background-position: -29px -152px; }

@media (max-width: 768px) {
  .rc-hero { height: auto; aspect-ratio: auto; }
  .rc-hero-img { position: static; height: auto; }
  .rc-hero-caption { position: static; height: auto; }
  .rc-arrow { top: 40%; width: 24px; }
}

/* =============================== COLUMNS =============================== */
.rc-columns { padding: 10px; }
.rc-column { padding: 10px; }
.rc-col-title {
  font-family: "Verdana", "Arial", "Helvetica", sans-serif;
  font-size: 24px;
  font-weight: normal;
  line-height: 18px;
  color: var(--rc-text);
  margin: 15px auto;
}
.rc-col-text {
  font-family: "Helvetica", "Arial", sans-serif; 
  /* font-family: "Verdana, Arial, Helvetica, sans-serif";  */
  font-size: 16px;
  line-height: 25px;
  color: var(--rc-body);
  margin: 0;
}
.rc-col-text strong { font-weight: bold; }

/* =============================== FEATURES =============================== */
.rc-feature-step {
  margin: 18px 0 6px;
  font-family: "Arial", "Helvetica", sans-serif;
  font-size: 28px;
  font-weight: bold;
  line-height: 28px;
  color: var(--rc-body);
  text-align: center;
}
.rc-feature-columns { padding: 10px; }

/* =============================== NEWS =============================== */
.rc-news {
  max-width: 100%;
  margin: 0 auto;
  padding: 6px 0 10px;
}

.rc-news-item {
  padding: 14px 0;
  border-bottom: 1px solid #e7e7e7;
}
.rc-news-item:last-of-type { border-bottom: 0; }

.rc-news-title {
  margin: 0 0 8px;
  font-family: "Verdana", "Arial", "Helvetica", sans-serif;
  font-size: 18px;
  font-weight: normal;
  line-height: 24px;
}
.rc-news-title a { color: var(--rc-heading); text-decoration: none; }
.rc-news-title a:hover { text-decoration: underline; }

.rc-news-subtitle {
  margin: -7px 0 13px;
  font-family: "Arial", "Helvetica", sans-serif;
  font-size: 14px;
  font-weight: normal;
  line-height: 18px;
  color: #898989;
}
.rc-news-body {
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 20px;
  color: var(--rc-body);
}
.rc-news-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0 4px;
  font-size: 11px;
}
.rc-news-rss { color: var(--rc-heading); text-decoration: none; }
.rc-news-rss:hover { text-decoration: underline; }
.rc-news-pagination { display: flex; gap: 8px; align-items: center;  font-size: 11px; }
.rc-news-pagination a {
  color: var(--rc-heading);
  text-decoration: none;
  padding: 2px 6px;
  border-radius: 10px;
  border: 1px solid gray;
}
.rc-news-pagination a:hover { background: #f2f2f2; }
.rc-news-pagination .rc-news-page-current {
  font-weight: bold;
  color: var(--rc-body);
  padding: 2px 6px;
  border-radius: 10px;
  border: 1px solid gray;
  background: var(--rc-heading);
  color: var(--rc-header-text);
}

/* Single article view */
.rc-news-back {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 11px;
  color: var(--rc-heading);
  text-decoration: none;
}
.rc-news-back:hover { text-decoration: underline; }

.rc-news a {  font-style: normal; text-decoration: none; }
.rc-news a:hover {  text-decoration: underline; }

@media (min-width: 768px) {
  .rc-news { max-width: 60%; }
}

/* =============================== FOOTER =============================== */
.rc-footer {
  background-color: #fff;
  background-image: url("../images/Vert-Div-line.png");
  background-repeat: repeat-x;
  background-position: center top;
  padding: 5px 0;
  margin-top: 30px;
}
.rc-footer p {
  margin: 0;
  font-family: "Verdana", "Arial", "Helvetica", sans-serif;
  font-size: 10px;
  line-height: 18px;
  color: var(--rc-muted);
  text-align: center;
}

.rc-about-contact {
    font-size: 14px;
    color: var(--rc-contact-text);
    max-width: 70%; 
    margin: 50px auto;
}

.rc-about-contact a {
    color: var(--rc-contact-text);
}

.rc-contact-title {

    font-size: 20px;
    color: var(--rc-contact-text);
    margin-bottom: 5px;
    font-weight: bold;
}

.rc-line {
    width: 100%;
    border-bottom: 1px solid var(--rc-body);
    margin-bottom: 20px;

}

.rc-buybtn {
    margin: 5px auto;      
    height: 77px; border: 
    1px solid #000001; 
    text-align: center; 
    line-height: 77px; 
    font-size: 28px; 
    font-weight: bold; 
    color: rgba(0, 0, 0, 0.8); 
    cursor: pointer; 
    background: white;
}

@media (min-width: 768px) {
  .rc-buybtn { margin: 10px auto;  width: 376px; }
}

/* =============================== Help =============================== */

.rc-help {
  max-width: 100%;
  margin: 0 auto;
  padding: 6px 0 10px;
}

@media (min-width: 768px) {
  .rc-news { max-width: 60%; }
}