/* GN Advanced Related Products Carousel (customizable) */
.gn-rpc-section{margin:24px 0;clear:both;width:100%}
.gn-rpc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}
.gn-rpc-title{font-size:1.25rem;margin:0}
.gn-rpc-controls{display:flex;align-items:center;gap:8px}
.gn-rpc-nav button{border:0;background:#111;color:#fff;padding:6px 10px;cursor:pointer;border-radius:999px}
.gn-rpc-toggle{border:0;background:#eee;padding:6px 10px;border-radius:999px;cursor:pointer}
.gn-rpc-body{display:block}
.gn-rpc-swiper{padding:8px 0}
.gn-rpc-card{display:flex;flex-direction:column;gap:6px}
.gn-rpc-thumb img{width:100%;height:auto;display:block;border-radius:8px}
.gn-rpc-name{font-weight:600;line-height:1.3;text-decoration:none}
.gn-rpc-price{font-weight:700}
.gn-rpc-atc .button{width:100%}

/* ---- GN Carousel: perfect centering + tidy spacing ---- */

/* card layout */
.single-product .gn-rpc-section .gn-rpc-card{
  display:flex;
  flex-direction:column;
  align-items:center;          /* center everything horizontally */
  text-align:center !important;
  gap:10px;
}

/* image block */
.single-product .gn-rpc-section .gn-rpc-thumb{
  display:block;
  width:100%;
  margin:0 auto;
}
.single-product .gn-rpc-section .gn-rpc-thumb img{
  display:block !important;
  width:auto;
  max-width:100%;
  height:auto;
  margin:0 auto !important;    /* image centered */
  object-fit:contain;
}

/* title */
.single-product .gn-rpc-section .gn-rpc-name{
  display:block;
  margin:12px auto 0 !important;
  line-height:1.3;
  text-align:center !important;
}

/* rating */
.single-product .gn-rpc-section .gn-rpc-rating{ margin-top:6px !important; }
.single-product .gn-rpc-section .gn-rpc-rating .star-rating{
  float:none !important;
  display:inline-block !important;
  margin:0 auto !important;
}

/* price */
.single-product .gn-rpc-section .gn-rpc-price{
  margin-top:6px !important;
  text-align:center !important;
}
.single-product .gn-rpc-section .gn-rpc-price .price{
  display:inline-block !important;
  margin:0 auto !important;
  text-align:center !important;
}

/* add-to-cart area: separate from price and centered */
.single-product .gn-rpc-section .gn-rpc-atc{
  margin-top:14px !important;
  width:100%;
  display:flex;
  justify-content:center;      /* centers the button when it isn't full width */
}

/* keep your theme’s full-width look OR switch to auto width by uncommenting */
/* .single-product .gn-rpc-section .gn-rpc-atc .button,
.single-product .gn-rpc-section .gn-rpc-atc .added_to_cart{
  width:auto !important; min-width:220px; 
} */

.single-product .gn-rpc-section .gn-rpc-atc .button,
.single-product .gn-rpc-section .gn-rpc-atc .added_to_cart{
  display:inline-block !important;
  margin-top:10px !important;  /* visual separation from price */
}

/* ===== GN Carousel — Square nav buttons + hover colors ===== */

/* Set your brand colors/sizing here */
:root{
  --gn-nav-size: 40px;                 /* button width/height (make bigger/smaller as you like) */
  --gn-nav-bg: #111;                   /* default background */
  --gn-nav-fg: #fff;                   /* default icon color */
  --gn-nav-hover-bg: var(--gn-accent, #C9B98A); /* hover bg (uses your --gn-accent if defined) */
  --gn-nav-hover-fg: #111;             /* hover icon color */
  --gn-nav-radius: 0px;                /* 0 = perfect square; raise for rounded corners */
}

/* Nav container */
.gn-rpc-section .gn-rpc-nav{
  display:flex; align-items:center; gap:10px;
}

/* Square buttons */
.gn-rpc-section .gn-rpc-nav button{
  width:var(--gn-nav-size);
  height:var(--gn-nav-size);           /* perfect square */
  display:inline-flex; align-items:center; justify-content:center;
  border:none; outline:0;
  background:var(--gn-nav-bg);
  color:var(--gn-nav-fg);
  border-radius:var(--gn-nav-radius);
  cursor:pointer;
  transition:background-color .2s ease, color .2s ease, transform .06s ease;
}

/* Hover/active/focus */
.gn-rpc-section .gn-rpc-nav button:hover{ 
  background:var(--gn-nav-hover-bg); 
  color:var(--gn-nav-hover-fg);
}
.gn-rpc-section .gn-rpc-nav button:active{ transform:scale(.97); }
.gn-rpc-section .gn-rpc-nav button:focus-visible{
  outline:2px solid var(--gn-nav-hover-bg); outline-offset:2px;
}

/* Disabled state (Swiper adds this class automatically) */
.gn-rpc-section .gn-rpc-nav .swiper-button-disabled{
  opacity:.4; pointer-events:none; filter:grayscale(0.2);
}

/* Ensure hidden state always wins, regardless of theme styles */
.gn-rpc-body[hidden] { display: none !important; }

/* Toggle button styling */
:root{
  --gn-toggle-bg: #333;     /* dark gray (normal) */
  --gn-toggle-fg: #fff;     /* white text (normal) */
  --gn-toggle-hover-bg: #c9b98a; /* light bg on hover */
  --gn-toggle-hover-fg: #000;    /* black text on hover */
  --gn-toggle-radius: 6px;  /* tweak if you want squared/rounded */
  --gn-toggle-pad-y: 8px;
  --gn-toggle-pad-x: 12px;
}

.gn-rpc-section .gn-rpc-toggle{
  background: var(--gn-toggle-bg);
  color: var(--gn-toggle-fg);
  border: 0;
  border-radius: var(--gn-toggle-radius);
  padding: var(--gn-toggle-pad-y) var(--gn-toggle-pad-x);
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, transform .06s ease;
}

.gn-rpc-section .gn-rpc-toggle:hover{
  background: var(--gn-toggle-hover-bg);
  color: var(--gn-toggle-hover-fg);
}

.gn-rpc-section .gn-rpc-toggle:active{ transform: scale(.98); }
.gn-rpc-section .gn-rpc-toggle:focus-visible{ outline: 2px solid var(--gn-toggle-hover-bg); outline-offset: 2px; }

