/* Canada Premium Gold — shared 2026 storefront design layer */
:root {
  --cpg-ink: #101414;
  --cpg-ink-soft: #1b2221;
  --cpg-gold: #c89b3c;
  --cpg-gold-bright: #e4bf69;
  --cpg-gold-pale: #f7edd3;
  --cpg-ivory: #fbfaf6;
  --cpg-paper: #ffffff;
  --cpg-text: #202827;
  --cpg-muted: #65706d;
  --cpg-line: #e8e4da;
  --cpg-success: #1c7b5b;
  --cpg-danger: #b33a3a;
  --cpg-radius: 18px;
  --cpg-radius-sm: 11px;
  --cpg-shadow: 0 18px 55px rgba(18, 22, 21, .09);
  --cpg-shadow-hover: 0 24px 65px rgba(18, 22, 21, .15);
}

html { scroll-behavior: smooth; }
body {
  background: var(--cpg-ivory);
  color: var(--cpg-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
body::selection { background: var(--cpg-gold-pale); color: var(--cpg-ink); }
a { color: var(--cpg-ink); transition: color .2s ease, opacity .2s ease, transform .2s ease; }
a:hover { color: var(--cpg-gold); }
h1, h2, h3, h4, h5, h6, .section-title, .title2 {
  color: var(--cpg-ink);
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.025em;
}
img { max-width: 100%; }

/* Live market ribbon */
.cpg-promo-bar {
  background: var(--cpg-gold-bright);
  color: var(--cpg-ink);
  font-size: .76rem;
  letter-spacing: .025em;
  padding: 7px 0;
}
.cpg-promo-bar strong { font-weight: 850; }
.cpg-promo-links { gap: 20px; }
.cpg-promo-bar a { color: var(--cpg-ink); font-weight: 700; text-decoration: none; }
.cpg-promo-bar a:hover { color: #67480e; text-decoration: underline; }
#header-charts, .top-header.bg-dark {
  background: #0b0f0f !important;
  border-bottom: 1px solid rgba(228, 191, 105, .22);
}
#header-charts {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  width: 100% !important;
}
#header-charts .prices_inline {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: center !important;
  gap: clamp(8px, 2.3vw, 32px);
  width: 100%;
  margin: 0;
  padding: 9px 12px;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
}
#header-charts .prices_inline::-webkit-scrollbar { display: none; }
#header-charts li {
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-color: rgba(255,255,255,.09) !important;
  font-size: clamp(.68rem, 1.5vw, .82rem) !important;
  line-height: 1.2;
}
#header-charts .market_symbol { font-size: inherit !important; }
#header-charts .ajax-spot { display: inline-flex; align-items: center; gap: 2px; margin-left: 4px !important; font-size: inherit !important; }
#header-charts .spot-price { font-size: inherit !important; }
#header-charts, #header-charts a, #header-charts span, #header-charts strong { color: #fff; }
#header-charts strong { color: var(--cpg-gold-bright) !important; font-variant-numeric: tabular-nums; }

/* Brand masthead and navigation */
.cpg-masthead { background: #fff; border-bottom: 1px solid var(--cpg-line); }
.cpg-masthead-inner { min-height: 120px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-top: 22px; padding-bottom: 22px; }
.cpg-brand { display: inline-flex; align-items: center; gap: 16px; min-width: 0; text-decoration: none; }
.cpg-brand:hover { color: var(--cpg-ink); }
.cpg-brand-logo { width: 76px; height: 76px; flex: 0 0 76px; object-fit: cover; border: 1px solid var(--cpg-line); border-radius: 18px; box-shadow: 0 8px 24px rgba(16,20,20,.08); }
.cpg-brand-copy { display: flex; flex-direction: column; line-height: 1.12; }
.cpg-brand-copy strong { color: var(--cpg-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.4rem, 2.5vw, 2.1rem); font-weight: 600; letter-spacing: -.035em; white-space: nowrap; }
.cpg-brand-copy small { margin-top: 8px; color: var(--cpg-muted); font-size: .76rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.cpg-masthead-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.cpg-contact-card { display: flex; align-items: center; gap: 11px; min-width: 205px; padding: 11px 14px; color: var(--cpg-text); text-decoration: none; background: var(--cpg-ivory); border: 1px solid var(--cpg-line); border-radius: 13px; }
.cpg-contact-card:hover { color: var(--cpg-ink); border-color: var(--cpg-gold); background: var(--cpg-gold-pale); transform: translateY(-1px); }
.cpg-contact-card > span:last-child { display: flex; flex-direction: column; line-height: 1.25; }
.cpg-contact-card small { color: var(--cpg-muted); font-size: .66rem; font-weight: 700; }
.cpg-contact-card strong { margin-top: 2px; color: var(--cpg-ink); font-size: .86rem; }
.cpg-contact-icon { width: 32px; height: 32px; display: inline-grid; place-items: center; flex: 0 0 32px; color: var(--cpg-ink); background: var(--cpg-gold-bright); border-radius: 50%; font-size: .9rem; }
.bottom-header { box-shadow: 0 7px 28px rgba(8, 12, 11, .08); position: relative; z-index: 1040; }
.bottom-header .navbar {
  min-height: 68px;
  background: rgba(255,255,255,.97) !important;
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(200,155,60,.2);
}
.bottom-header .my-class::before, .bottom-header .my-class::after { display: none !important; content: none !important; }
.bottom-header .navbar-nav { align-items: center; gap: 3px; }
.bottom-header .nav-link {
  color: var(--cpg-ink) !important;
  font-size: .78rem !important;
  font-weight: 750 !important;
  letter-spacing: .055em;
  padding: .72rem .78rem !important;
  border-radius: 9px;
}
.bottom-header .nav-link:hover, .bottom-header .nav-item.active > .nav-link {
  background: var(--cpg-gold-pale) !important;
  color: #7b5713 !important;
}
.bottom-header .submenu > ul {
  min-width: 235px;
  padding: 10px !important;
  background: #fff;
  border: 1px solid var(--cpg-line);
  border-radius: 14px;
  box-shadow: var(--cpg-shadow);
}
.bottom-header .submenu .list-group-item { border: 0; border-radius: 8px; padding: 10px 12px; }
.bottom-header .submenu .list-group-item:hover { background: var(--cpg-gold-pale); }
.cur_box select, .cur_box .inputbox {
  border: 1px solid var(--cpg-line) !important;
  border-radius: 9px;
  padding: 7px 9px;
}
.cart_box, .ct-button-layout1 .btn { border-radius: 10px !important; }
.cart_box { background: var(--cpg-ink) !important; }
.navbar-toggler { border: 1px solid var(--cpg-line) !important; border-radius: 10px !important; padding: 9px !important; }

/* Shared page surfaces */
main, .main-content, .content-wrapper, .page-wrapper { min-height: 55vh; }
.container { max-width: 1220px; }
.page-header, .inner-banner, .breadcrumb-area {
  background: linear-gradient(135deg, #101514 0%, #27302d 100%) !important;
  color: #fff;
  border: 0 !important;
}
.page-header h1, .page-header h2, .inner-banner h1, .breadcrumb-area h1 { color: #fff !important; }
.breadcrumb { background: transparent !important; }
.breadcrumb a { color: var(--cpg-gold-bright) !important; }
.section-title { font-size: clamp(1.75rem, 3vw, 2.7rem); font-weight: 600; }
.section-title::after, .title1::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin-top: 12px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--cpg-gold), var(--cpg-gold-bright));
}

/* Cards and products */
.card, .product, .product-item, .item-product, .product-box, .blog-item, article,
.service-item, .shadow, .box-shadow, .featured-item {
  border-color: var(--cpg-line) !important;
  border-radius: var(--cpg-radius) !important;
}
.card, .product-item, .item-product, .product-box, .blog-item, .service-item {
  background: var(--cpg-paper);
  box-shadow: 0 8px 30px rgba(18,22,21,.055);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.featured-product {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--cpg-line);
  border-radius: var(--cpg-radius);
  box-shadow: 0 8px 30px rgba(18,22,21,.055) !important;
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.featured-product:hover { transform: translateY(-5px); border-color: rgba(200,155,60,.5); box-shadow: var(--cpg-shadow-hover) !important; }
.featured-product .top-card-item { flex: 1; padding: 18px 18px 10px; }
.featured-product .top-card-item img { height: 225px; width: 100%; object-fit: contain; transition: transform .3s ease; }
.featured-product:hover .top-card-item img { transform: scale(1.035); }
.featured-product .top-picks-title { min-height: 52px; margin-top: 12px; font-weight: 750; line-height: 1.35; }
.featured-product .panel-footer { background: #f8f6f0; border-top: 1px solid var(--cpg-line); padding: 14px; }
.featured-product .promotag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; background: var(--cpg-gold-pale); color: #76520f; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.featured-product .promotag svg { width: 12px; }
.featured-product .price-amnt { font-size: 1.15rem; font-weight: 850; }
.featured-product .qty { max-width: 64px; min-height: 42px; }
.featured-product .add_to_cart { width: auto; min-height: 42px; cursor: pointer; }

/* Money Metals-inspired category-first homepage composition */
.partners {
  background: #fff;
  border-top: 1px solid var(--cpg-line);
  border-bottom: 1px solid var(--cpg-line) !important;
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}
.partners img { max-width: 64px; max-height: 52px; object-fit: contain; margin: 0 auto 9px; }
.partners p { margin: 0; color: var(--cpg-ink); font-size: .74rem; font-weight: 800; letter-spacing: .045em; line-height: 1.35; }
.categ-img { position: relative; }
.categ-img::before {
  content: "Shop precious metals";
  display: block;
  margin-bottom: 24px;
  color: var(--cpg-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.65rem, 3vw, 2.45rem);
  font-weight: 600;
  text-align: center;
}
.category__item { gap: 14px; flex-wrap: nowrap; }
.category__item .main_services { min-width: 0; padding: 0 !important; }
.category__item .main_services > a { display: block; height: 100%; text-decoration: none; }
.category__item .product-img {
  height: 100%;
  padding: 13px;
  background: #fff;
  border: 1px solid var(--cpg-line);
  border-radius: 15px;
  box-shadow: 0 7px 24px rgba(18,22,21,.06);
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.category__item .product-img:hover { transform: translateY(-4px); border-color: var(--cpg-gold); box-shadow: var(--cpg-shadow); }
.category__item .product-img .title { margin-bottom: 10px; color: var(--cpg-ink); font-size: 1.02rem; font-weight: 800; }
.category__item .img-circle { overflow: hidden; border-radius: 10px; aspect-ratio: 1.3 / 1; background: #f4f1e9; }
.category__item .img-circle img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .35s ease; }
.category__item .product-img:hover img { transform: scale(1.055); }
.index-value { background: #111716; }
#slider_content { overflow: hidden; }
#spotlight_content .card-body { padding: 0; }
.bg-light { background-color: #f3f0e8 !important; }
.about_img img { width: 100%; min-height: 390px; object-fit: cover; border-radius: var(--cpg-radius); }
.product_slider { row-gap: 22px; }
.card:hover, .product-item:hover, .item-product:hover, .product-box:hover, .blog-item:hover, .service-item:hover {
  transform: translateY(-5px);
  border-color: rgba(200,155,60,.45) !important;
  box-shadow: var(--cpg-shadow-hover);
}
.product-item img, .item-product img, .product-box img { object-fit: contain; transition: transform .35s ease; }
.product-item:hover img, .item-product:hover img, .product-box:hover img { transform: scale(1.025); }
.price, [class*="product-price"], .sale-price {
  color: var(--cpg-ink) !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums;
}
.badge, .product-label, .top-pick {
  border-radius: 999px !important;
  font-weight: 750;
  letter-spacing: .02em;
}
.bg-warning, .badge-warning { background-color: var(--cpg-gold-bright) !important; color: var(--cpg-ink) !important; }

/* Buttons */
.btn { border-radius: 10px; font-weight: 720; letter-spacing: .01em; transition: all .2s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary, .btn-primary-sgb, .button, button[type="submit"], input[type="submit"] {
  color: #fff !important;
  background: var(--cpg-ink) !important;
  border: 1px solid var(--cpg-ink) !important;
  box-shadow: 0 9px 22px rgba(16,20,20,.14);
}
.btn-primary:hover, .btn-primary-sgb:hover, .button:hover, button[type="submit"]:hover, input[type="submit"]:hover {
  color: var(--cpg-ink) !important;
  background: var(--cpg-gold-bright) !important;
  border-color: var(--cpg-gold-bright) !important;
}
.btn-outline-primary { color: var(--cpg-ink); border-color: var(--cpg-gold); }
.btn-outline-primary:hover { background: var(--cpg-gold); border-color: var(--cpg-gold); }

/* Forms, account, checkout */
.form-control, .form-select, input[type="text"], input[type="email"], input[type="password"],
input[type="number"], input[type="tel"], textarea, select {
  min-height: 46px;
  border: 1px solid #dcd8cf !important;
  border-radius: 10px !important;
  background-color: #fff !important;
  color: var(--cpg-text) !important;
  box-shadow: none !important;
}
.form-control:focus, .form-select:focus, input:focus, textarea:focus, select:focus {
  border-color: var(--cpg-gold) !important;
  box-shadow: 0 0 0 4px rgba(200,155,60,.13) !important;
  outline: none;
}
label { color: var(--cpg-text); font-weight: 650; }
.login-box, .signup-box, .checkout-box, .cart-summary, .order-summary, .account-box {
  background: #fff;
  border: 1px solid var(--cpg-line) !important;
  border-radius: var(--cpg-radius) !important;
  box-shadow: var(--cpg-shadow);
}
.accordion-item { border: 1px solid var(--cpg-line) !important; border-radius: 12px !important; overflow: hidden; margin-bottom: 12px; }
.accordion-button { color: var(--cpg-ink); font-weight: 750; background: #fff; }
.accordion-button:not(.collapsed) { color: #73500e; background: var(--cpg-gold-pale); box-shadow: none; }
.table { color: var(--cpg-text); border-color: var(--cpg-line); }
.table thead th { background: #f4f1e9; color: var(--cpg-ink); border: 0; font-size: .79rem; letter-spacing: .04em; text-transform: uppercase; }
.table td, .table th { padding: .9rem; vertical-align: middle; }
.modal-content { border: 0; border-radius: var(--cpg-radius); box-shadow: 0 30px 90px rgba(0,0,0,.22); overflow: hidden; }
.modal-header { border-bottom-color: var(--cpg-line); }

/* Trust/contact/footer */
#contact { background: var(--cpg-gold-pale); }
#contact .container { background: transparent !important; }
#contact .get-tuch { width: 100%; }
#contact svg { margin-bottom: 10px; }
.main-footer.bg-dark {
  background: linear-gradient(145deg, #0b0f0f 0%, #18201e 100%) !important;
  border-top: 1px solid rgba(228,191,105,.18);
}
.main-footer .title2 { color: var(--cpg-gold-bright) !important; font-size: 1.05rem; letter-spacing: .02em; }
.main-footer a { color: rgba(255,255,255,.78) !important; text-decoration: none; }
.main-footer a:hover { color: var(--cpg-gold-bright) !important; padding-left: 3px; }
.main-footer .text, .main-footer .copyright { color: rgba(255,255,255,.64); }
.main-footer .newsletter input { border-color: rgba(255,255,255,.16) !important; }
.main-footer .social_icons img { opacity: .78; transition: opacity .2s ease, transform .2s ease; }
.main-footer .social_icons a:hover img { opacity: 1; transform: translateY(-2px); }

/* Utilities and responsive cleanup */
.bg-color-yellow { background-color: var(--cpg-gold-pale) !important; }
.text-warning { color: var(--cpg-gold) !important; }
.alert { border: 0; border-radius: 12px; }
.pagination .page-link { color: var(--cpg-ink); border-color: var(--cpg-line); }
.pagination .active .page-link { background: var(--cpg-ink); border-color: var(--cpg-ink); }
@media (max-width: 991.98px) {
  .cpg-masthead-inner { min-height: 100px; padding-top: 20px; padding-bottom: 20px; }
  .cpg-brand-logo { width: 60px; height: 60px; flex-basis: 60px; border-radius: 14px; }
  .cpg-brand-copy strong { font-size: 1.45rem; }
  .cpg-location-card { display: none; }
  .cpg-contact-card { min-width: 190px; }
  .bottom-header .navbar { min-height: 60px; }
  .bottom-header .navbar > .container { flex-wrap: wrap; }
  .bottom-header .navbar-collapse { padding: 14px; background: #fff; border-radius: 0 0 16px 16px; box-shadow: var(--cpg-shadow); }
  .bottom-header .navbar-nav { align-items: stretch; }
  .bottom-header .submenu > ul { position: static !important; box-shadow: none; margin: 3px 0 8px 12px; }
  .elementor-cart { gap: 5px; padding: 10px 14px; }
  .category__item { flex-wrap: wrap; }
  .category__item .main_services { flex: 0 0 calc(33.333% - 10px); }
}
@media (max-width: 700px) {
  #header-charts .prices_inline {
    justify-content: center !important;
    gap: 7px;
    padding: 9px 6px;
    overflow: hidden;
  }
  #header-charts li { font-size: .58rem !important; }
  #header-charts .ajax-spot { margin-left: 1px !important; gap: 1px; }
  #header-charts #gold_arrow,
  #header-charts #silver_arrow,
  #header-charts #palladium_arrow,
  #header-charts #platium_arrow { display: none !important; }
  .cpg-brand-copy strong { font-size: 1.28rem; }
  .cpg-brand-copy small { font-size: .62rem; }
  .cpg-contact-card { min-width: 188px; padding: 10px 12px; }
  .cpg-contact-card small { font-size: .6rem; }
  .cpg-contact-card strong { font-size: .79rem; }
}
#contact .container {
  margin-bottom: 0 !important;
}

#contact .row {
  align-items: stretch;
}

#contact .col-md-4 {
  display: flex;
  align-items: stretch;
}

#contact .col-md-4 > a,
#contact .col-md-4 > .get-tuch {
  width: 100%;
}

#contact .col-md-4:nth-child(2) > a:first-child {
  display: none !important;
}

#contact .col-md-4:nth-child(2) > .get-tuch {
  flex: 0 0 100%;
  max-width: 100%;
}

#contact .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#contact .row {
  min-height: 112px;
}

#contact .get-tuch {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 8px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.25;
}

#contact .get-tuch svg {
  width: 21px !important;
  height: 21px !important;
  margin-bottom: 5px !important;
}

#contact .get-tuch i,
#contact .get-tuch address {
  font-style: normal !important;
}

#contact .get-tuch .p-font-17 {
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.2;
}

#contact .get-tuch .p-font-15,
#contact .get-tuch p,
#contact .get-tuch address,
#contact .get-tuch address b {
  font-size: .72rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}

/* Responsive precious-metal category cards */
.category__item {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px !important;
  width: 100%;
}

.category__item .main_services,
.category__item .main_services:last-child {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  flex: none !important;
  padding: 0 !important;
}

.category__item .product-img {
  display: flex;
  height: 100%;
  flex-direction: column;
}

.category__item .img-circle {
  width: 100%;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden;
}

.category__item .img-circle img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  padding: clamp(6px, 1vw, 12px);
  object-fit: contain !important;
}

@media (max-width: 991.98px) {
  .category__item {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .categ-img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .category__item {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  body { font-size: 15px; }
  .container { padding-left: 18px; padding-right: 18px; }
  .top-header-cut { padding-top: 12px !important; padding-bottom: 12px !important; }
  .section-title { font-size: 1.75rem; }
  #contact { overflow: hidden; }
  #contact .container { padding: 0 !important; }
  #contact .shape-1, #contact .shape-2 { display: none !important; }
  #contact .row { display: block !important; margin: 0 !important; }
  #contact .col-md-4 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(16,20,20,.12);
  }
  #contact .col-md-4:last-child { border-bottom: 0; }
  #contact .col-md-4 > a,
  #contact .col-md-4 > div {
    width: 100%;
    min-height: 94px;
    padding: 12px 16px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
  #contact .get-tuch {
    width: 100%;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    line-height: 1.35 !important;
  }
  #contact .get-tuch svg { width: 25px !important; height: 25px !important; margin: 0 0 4px !important; }
  #contact .get-tuch i { display: block; width: 100%; margin: 0 !important; font-style: normal; }
  #contact .get-tuch .p-font-17 { margin: 0; font-size: 1rem !important; font-weight: 800; line-height: 1.3; }
  #contact .get-tuch .p-font-15,
  #contact .get-tuch p,
  #contact .get-tuch address { margin: 0 !important; font-size: .76rem !important; font-weight: 600; line-height: 1.45 !important; }
  #contact .get-tuch address b { font-weight: 750; }
  /* Browsers repair the legacy nested address link into an extra empty sibling. */
  #contact .col-md-4:nth-child(2) > a:first-child {
    display: none !important;
  }
  #contact .col-md-4:nth-child(2) > .get-tuch {
    box-sizing: border-box;
    width: 100% !important;
    min-height: 100px !important;
    padding: 12px 16px !important;
  }
  #contact .col-md-4:nth-child(2) > .get-tuch > a {
    display: block !important;
    width: 100% !important;
    white-space: normal;
    text-align: center;
  }
  #contact .col-md-4:nth-child(2) .p-font-17 {
    white-space: nowrap;
  }
  .main-footer .col-4 { width: 100%; margin-bottom: 26px; }
  .table-responsive { overflow-x: auto !important; }
  .cpg-promo-bar { text-align: center; }
  #header-charts .prices_inline { justify-content: space-between !important; gap: 3px; padding: 9px 4px; }
  #header-charts li { font-size: .51rem !important; }
  #header-charts li:last-child { font-size: .48rem !important; }
  .cpg-masthead-inner { min-height: 84px; padding-top: 16px; padding-bottom: 16px; gap: 10px; }
  .cpg-brand { gap: 10px; }
  .cpg-brand-logo { width: 52px; height: 52px; flex-basis: 52px; border-radius: 12px; }
  .cpg-brand-copy strong { font-size: 1.05rem; white-space: normal; }
  .cpg-brand-copy small { margin-top: 4px; font-size: .55rem; letter-spacing: .055em; }
  .cpg-masthead-actions { display: none; }
  .bottom-header .navbar > .container { flex-wrap: nowrap; gap: 8px; padding-left: 10px; padding-right: 10px; }
  .bottom-header .navbar-toggler { flex: 0 0 auto; }
  .bottom-header .elementor-cart { min-width: 0; margin-left: auto; padding: 6px 0; gap: 4px; }
  .bottom-header .cur_box { padding-left: 0 !important; }
  .bottom-header .cur_box label { display: none; }
  .bottom-header .cur_box select { width: 76px; min-height: 38px; padding: 5px 6px; font-size: .7rem; }
  .bottom-header .cart_box { padding: 8px 10px !important; }
  .bottom-header .ct-button-layout1 .btn { padding: 7px 8px !important; font-size: .7rem; white-space: nowrap; }
  .category__item { gap: 10px; }
  .category__item .main_services { flex: 0 0 calc(50% - 5px); }
  .category__item .main_services:last-child { flex-basis: 100%; }
  .featured-product .top-card-item img { height: 190px; }
  .product_slider > [class*="col-"] { margin-bottom: 16px; }
  .about_img img { min-height: 245px; }
}

/* Compact cart item cards: replaces the unusable five-column drawer table. */
body > .modal_cart #order_table,
body > .modal_cart #order_table table,
body > .modal_cart #order_table tbody {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body > .modal_cart #order_table table {
  margin: 0 !important;
  color: #faf7f0 !important;
  background: transparent !important;
  border: 0 !important;
}

body > .modal_cart #order_table tr:first-child {
  display: none !important;
}

body > .modal_cart #order_table tr:has(.delete_item) {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px 14px;
  width: 100%;
  margin-bottom: 12px;
  padding: 12px 52px 12px 12px;
  color: #faf7f0;
  background: linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  border: 1px solid rgba(243,223,162,.15);
  border-radius: 14px;
  box-shadow: inset 0 1px rgba(255,255,255,.06);
}

body > .modal_cart #order_table tr:has(.delete_item) > td {
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  color: rgba(250,247,240,.78) !important;
  background: transparent !important;
  border: 0 !important;
  text-align: left !important;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

body > .modal_cart #order_table tr:has(.delete_item) > td:first-child {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 52px minmax(0,1fr);
  align-items: center;
  gap: 11px;
  padding-bottom: 10px !important;
  color: #faf7f0 !important;
  border-bottom: 1px solid rgba(255,255,255,.075) !important;
  font-size: .82rem;
  line-height: 1.35;
}

body > .modal_cart #order_table tr:has(.delete_item) > td:first-child img {
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  padding: 4px;
  object-fit: contain;
  background: rgba(255,255,255,.94);
  border-radius: 9px;
}

body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(2),
body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(3),
body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(4) {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: .75rem;
}

body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(2)::before { content: "Price"; }
body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(3)::before { content: "Qty"; }
body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(4)::before { content: "Total"; }

body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(2)::before,
body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(3)::before,
body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(4)::before {
  color: rgba(243,223,162,.55);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(2),
body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(4) {
  grid-column: 1;
}

body > .modal_cart #order_table tr:has(.delete_item) > td:nth-child(3) {
  grid-column: 2;
  grid-row: 2 / span 2;
  align-self: center;
  padding: 5px 9px !important;
  background: rgba(212,175,55,.1) !important;
  border: 1px solid rgba(212,175,55,.16) !important;
  border-radius: 999px;
}

body > .modal_cart #order_table tr:has(.delete_item) > td:last-child {
  position: absolute;
  top: 12px;
  right: 12px;
}

body > .modal_cart #order_table .delete_item {
  width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 8px !important;
  display: grid !important;
  place-items: center;
  border: 0 !important;
  border-radius: 9px !important;
}

body > .modal_cart #order_table .delete_item svg {
  width: 13px;
  height: 13px;
}

body > .modal_cart #order_table tr:last-child:not(:has(td[colspan="5"])) {
  display: none !important;
}

body > .modal_cart #order_table tr:has(td[colspan="5"]) {
  display: block !important;
}

body > .modal_cart #order_table td[colspan="5"] {
  display: block;
  width: 100% !important;
  padding: 38px 16px !important;
  color: rgba(250,247,240,.7) !important;
  background: rgba(255,255,255,.035) !important;
  border: 1px dashed rgba(243,223,162,.18) !important;
  border-radius: 14px;
  text-align: center !important;
}

/* Slim fixed drawer bars; the centre product list is the only scroll region. */
body > .modal_cart .modal-header {
  min-height: 66px;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

body > .modal_cart .footer-mpdal {
  padding-top: 10px !important;
  padding-bottom: 12px !important;
}

body > .modal_cart .footer-mpdal table {
  margin-bottom: 8px !important;
}

body > .modal_cart .footer-mpdal td {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

body > .modal_cart .footer-btn .btn {
  min-height: 44px;
  font-size: .88rem;
}

@media (max-width: 575.98px) {
  body > .modal_cart .modal-header {
    min-height: 60px;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  body > .modal_cart #clear_cart {
    grid-column: auto;
    grid-row: auto;
    justify-self: auto;
    font-size: .68rem;
  }

  body > .modal_cart .modal-header {
    grid-template-columns: minmax(0,1fr) auto auto;
  }

  body > .modal_cart .modal-header .section-title {
    font-size: 1.25rem !important;
  }

  body > .modal_cart #order_table tr:has(.delete_item) {
    padding: 10px 48px 10px 10px;
  }
}

/* Refined premium color system and section rhythm */
:root {
  --cpg-ink: #111816;
  --cpg-ink-soft: #202b27;
  --cpg-gold: #b9892f;
  --cpg-gold-bright: #e2bd68;
  --cpg-gold-pale: #f5e9c9;
  --cpg-ivory: #faf8f2;
  --cpg-stone: #efede6;
  --cpg-sage: #e8ede8;
  --cpg-paper: #fffefd;
  --cpg-text: #26302d;
  --cpg-muted: #69736f;
  --cpg-line: #e2ddd1;
}

body {
  background:
    radial-gradient(circle at 10% 5%, rgba(226, 189, 104, .10), transparent 24rem),
    var(--cpg-ivory);
}

.cpg-promo-bar {
  background: linear-gradient(90deg, #d6aa50 0%, #efd58f 50%, #d6aa50 100%);
  border-bottom: 1px solid rgba(17, 24, 22, .12);
}

#header-charts {
  background: linear-gradient(90deg, #0c1210 0%, #1d2824 50%, #0c1210 100%) !important;
}

.cpg-masthead {
  background: rgba(255, 254, 253, .96);
  box-shadow: inset 0 -1px 0 rgba(185, 137, 47, .12);
}

.bottom-header .navbar {
  background: rgba(250, 248, 242, .96) !important;
}

#slider_content {
  background: var(--cpg-ink);
  border-color: rgba(185, 137, 47, .28);
  box-shadow: 0 20px 55px rgba(17, 24, 22, .16);
}

#spotlight_content .card-body > .row,
#spotlight_content .card-body > div {
  gap: 14px;
}

#spotlight_content img {
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(17, 24, 22, .11);
}

.partners {
  background: linear-gradient(180deg, #f1eee5 0%, #f8f6f0 100%) !important;
  border-color: #ded8ca !important;
}

.partners .row > div {
  position: relative;
}

.partners .row > div:not(:last-child)::after {
  position: absolute;
  top: 18%;
  right: 0;
  width: 1px;
  height: 64%;
  content: "";
  background: #ddd6c7;
}

.categ-img {
  position: relative;
}

.categ-img::after {
  position: absolute;
  z-index: -1;
  top: 12%;
  right: -10%;
  width: 260px;
  height: 260px;
  content: "";
  border-radius: 50%;
  background: rgba(226, 189, 104, .10);
  filter: blur(2px);
}

.category__item .product-img {
  background: linear-gradient(180deg, #fffefd 0%, #f8f5ed 100%);
  border-color: #e4ded1;
  box-shadow: 0 10px 28px rgba(17, 24, 22, .07);
}

.category__item .img-circle {
  background:
    radial-gradient(circle at 50% 38%, #fff 0%, #f1eee5 72%, #e7e1d4 100%);
  border: 1px solid #ebe5d9;
}

.category__item .product-img:hover {
  border-color: rgba(185, 137, 47, .65);
  box-shadow: 0 18px 42px rgba(17, 24, 22, .13);
}

body > section.bg-light {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(120deg, rgba(245, 233, 201, .55), transparent 45%),
    linear-gradient(180deg, #f0ede5 0%, #e9e7df 100%) !important;
}

body > section.bg-light::after {
  position: absolute;
  top: -150px;
  right: -120px;
  width: 420px;
  height: 420px;
  content: "";
  border: 1px solid rgba(185, 137, 47, .16);
  border-radius: 50%;
}

body > section.bg-light > .container {
  position: relative;
  z-index: 1;
}

.about_img img {
  border: 8px solid rgba(255, 255, 255, .72);
  box-shadow: 0 20px 48px rgba(17, 24, 22, .14);
}

body > .container.py-lg-5:not(.categ-img) {
  position: relative;
}

.featured-product {
  background: linear-gradient(180deg, #fff 0%, #fbfaf6 100%);
  border-color: #e4dfd4;
}

.featured-product .panel-footer {
  background: linear-gradient(180deg, #f5f2ea 0%, #eeeae0 100%);
}

.featured-product .add_to_cart,
.featured-product button,
.btn-primary-sgb {
  background: linear-gradient(135deg, #151d1a 0%, #29362f 100%) !important;
}

.featured-product .add_to_cart:hover,
.featured-product button:hover,
.btn-primary-sgb:hover {
  color: var(--cpg-ink) !important;
  background: linear-gradient(135deg, #d5a94e 0%, #ebcd84 100%) !important;
}

body > .container.py-2.pb-lg-4 {
  max-width: none;
  padding-right: max(18px, calc((100vw - 1220px) / 2)) !important;
  padding-left: max(18px, calc((100vw - 1220px) / 2)) !important;
  background: linear-gradient(180deg, #f4f5f2 0%, #ecefea 100%);
  border-top: 1px solid #e0e4df;
  border-bottom: 1px solid #e0e4df;
}

.grid_blog article,
.listing-item article {
  background: linear-gradient(180deg, #fff 0%, #fbfaf7 100%);
}

#contact {
  background:
    linear-gradient(110deg, rgba(255,255,255,.38), transparent 42%),
    linear-gradient(90deg, #f0dfb3 0%, #f7edcf 50%, #e9d59e 100%);
  border-top: 1px solid rgba(185, 137, 47, .25);
}

.main-footer.bg-dark {
  background:
    radial-gradient(circle at 85% 0%, rgba(226, 189, 104, .12), transparent 26rem),
    linear-gradient(145deg, #0b100e 0%, #17211d 58%, #0e1512 100%) !important;
}

.main-footer .newsletter input {
  background: rgba(255,255,255,.96) !important;
}

@media (max-width: 767.98px) {
  .partners .row > div::after {
    display: none;
  }

  body > section.bg-light::after,
  .categ-img::after {
    display: none;
  }
}
@media (max-width: 380px) {
  #header-charts .market_symbol { display: none; }
  #header-charts li { font-size: .58rem !important; }
  #header-charts li:last-child { display: none; }
  .cpg-brand-copy strong { font-size: .98rem; }
  .cpg-brand-copy small { font-size: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* 2.1 contrast polish — balanced text across light and dark glass surfaces */
body section.bg-light {
    color: #28251f !important;
    background-color: rgba(250,247,240,.78) !important;
    background-image:
        radial-gradient(circle at 92% 12%, rgba(212,175,55,.14), transparent 24rem),
        linear-gradient(135deg, rgba(255,255,255,.78), rgba(243,223,162,.22)) !important;
    border-color: rgba(166,124,82,.15) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.95), 0 28px 75px rgba(74,54,20,.1);
}
body section.bg-light h2 {
    color: #171511 !important;
    text-shadow: none !important;
}
body section.bg-light .detail_p,
body section.bg-light .detail_p p,
body section.bg-light .detail_p li,
body section.bg-light .detail_p span {
    color: #514b40 !important;
    opacity: 1 !important;
}
body section.bg-light .detail_p strong,
body section.bg-light .detail_p b { color: #262118 !important; }
body section.bg-light .small-title span { background-color: var(--lux-gold) !important; }

.categ-img::before,
.container > .title.text-center,
.title1,
.section-title { color: #171511 !important; }
.categ-img::after { color: #6f6453 !important; }
.category__item .product-img .title { color: #211e18 !important; }
.featured-product .top-picks-title,
.featured-product .top-picks-title a { color: #242018 !important; }
.featured-product .price-amnt,
.featured-product .product-price { color: #171511 !important; }
.featured-product .panel-footer { color: #393329 !important; }

.blog-item,
.blog-item p,
.blog-item div,
article.card,
article.card p { color: #514b40; }
.blog-item h2,
.blog-item h3,
.blog-item h2 a,
.blog-item h3 a,
article.card h2,
article.card h3 { color: #1e1b16 !important; }
.blog-item a:not(.btn), article.card a:not(.btn) { color: #76571d; }

#contact a,
#contact .p-font-17 { color: var(--lux-champagne) !important; }
#contact p,
#contact address,
#contact .p-font-15 { color: rgba(250,247,240,.72) !important; }
.main-footer .text,
.main-footer .copyright,
.main-footer p { color: rgba(250,247,240,.67) !important; }
.main-footer a { color: rgba(250,247,240,.76) !important; }
.main-footer a:hover { color: var(--lux-champagne) !important; }

.page-header p,
.inner-banner p,
.breadcrumb-area p { color: rgba(250,247,240,.72) !important; }
.modal-content p,
.modal-content label,
.modal-content td { color: rgba(250,247,240,.76); }
.modal-content .price,
.modal-content strong { color: var(--lux-champagne) !important; }

/* Premium glass atmosphere — translucent without sacrificing commerce readability */
body {
    position: relative;
    isolation: isolate;
    background: radial-gradient(circle at 8% 10%, rgba(228, 191, 105, .28) 0, transparent 30rem), radial-gradient(circle at 92% 25%, rgba(200, 155, 60, .18) 0, transparent 34rem), linear-gradient(145deg, #f5f1e7 0%, #fbfaf6 45%, #eee7d7 100%);
    background-attachment: fixed;
}
body::before, body::after { content: ""; position: fixed; z-index: -1; width: min(42vw, 580px); aspect-ratio: 1; border-radius: 50%; pointer-events: none; filter: blur(3px); opacity: .7; }
body::before { top: 18vh; left: -15vw; background: radial-gradient(circle at 65% 40%, rgba(255,255,255,.78), rgba(228,191,105,.22) 47%, transparent 70%); }
body::after { right: -16vw; bottom: 9vh; background: radial-gradient(circle at 35% 45%, rgba(255,255,255,.72), rgba(200,155,60,.18) 48%, transparent 71%); }

.cpg-masthead, .bottom-header .navbar, .partners, .bg-light, .categ-img, .about-sec, .blog-sec, #contact {
    background-color: rgba(255, 254, 250, .58) !important;
    background-image: linear-gradient(135deg, rgba(255,255,255,.72), rgba(247,237,211,.38)) !important;
    border-color: rgba(255,255,255,.68) !important;
    -webkit-backdrop-filter: blur(18px) saturate(125%); backdrop-filter: blur(18px) saturate(125%);
}
.cpg-masthead, .bottom-header .navbar { box-shadow: inset 0 -1px 0 rgba(200,155,60,.16), 0 12px 32px rgba(33,29,20,.06); }

.card, .featured-product, .product-item, .item-product, .product-box, .blog-item, .service-item, .category__item .product-img, .cpg-contact-card, .login-box, .signup-box, .checkout-box, .cart-summary, .order-summary, .account-box, .accordion-item, .modal-content {
    background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(250,246,235,.66)) !important;
    border: 1px solid rgba(255,255,255,.82) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 12px 35px rgba(48,39,20,.09) !important;
    -webkit-backdrop-filter: blur(16px) saturate(125%); backdrop-filter: blur(16px) saturate(125%);
}
.card:hover, .featured-product:hover, .product-item:hover, .item-product:hover, .product-box:hover, .blog-item:hover, .service-item:hover, .category__item .product-img:hover {
    border-color: rgba(228,191,105,.72) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 20px 50px rgba(78,58,18,.16) !important;
}
.category__item .img-circle, .featured-product .panel-footer, .table thead th { background: linear-gradient(145deg, rgba(244,241,233,.72), rgba(255,255,255,.64)) !important; border-color: rgba(200,155,60,.12) !important; }
.about_img img, #slider_content, #spotlight_content img { box-shadow: 0 20px 55px rgba(35,29,17,.15); }
.main-footer.bg-dark, #header-charts, .top-header.bg-dark { -webkit-backdrop-filter: blur(18px) saturate(115%); backdrop-filter: blur(18px) saturate(115%); }

@media (max-width: 767.98px) {
    body { background-attachment: scroll; }
    body::before, body::after { width: 86vw; opacity: .48; }
    .card, .featured-product, .category__item .product-img, .blog-item { -webkit-backdrop-filter: blur(10px) saturate(115%); backdrop-filter: blur(10px) saturate(115%); }
}
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .card, .featured-product, .category__item .product-img, .cpg-masthead, .bottom-header .navbar, .partners, #contact { background-color: rgba(255, 254, 250, .96) !important; }
}

/* ================================================================
   Canada Premium Gold — Obsidian Liquid Glass 2.0
   Shared storefront system: preserves all PHP commerce behaviour.
   ================================================================ */
:root {
    --lux-obsidian: #0b0b0f;
    --lux-obsidian-2: #151419;
    --lux-gold: #d4af37;
    --lux-champagne: #f3dfa2;
    --lux-ivory: #faf7f0;
    --lux-bronze: #a67c52;
    --lux-glass: rgba(255,255,255,.08);
    --lux-glass-light: rgba(255,253,247,.72);
    --lux-line: rgba(212,175,55,.26);
    --lux-ease: cubic-bezier(.22,1,.36,1);
    --lux-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
    --lux-sans: "Manrope", Inter, ui-sans-serif, system-ui, sans-serif;
}

html { scrollbar-color: var(--lux-gold) var(--lux-obsidian); }
body {
    color: #27251f;
    font-family: var(--lux-sans);
    background:
        radial-gradient(ellipse at 8% 8%, rgba(212,175,55,.22), transparent 33rem),
        radial-gradient(ellipse at 92% 26%, rgba(166,124,82,.18), transparent 38rem),
        linear-gradient(145deg, #eee7d8 0%, var(--lux-ivory) 42%, #e9dfca 100%);
}
h1, h2, h3, h4, h5, h6, .section-title, .title, .title2, .cpg-brand-copy strong {
    font-family: var(--lux-serif) !important;
    font-weight: 600;
    letter-spacing: -.028em;
}

/* Elegant market prelude */
.cpg-promo-bar {
    color: rgba(250,247,240,.8);
    background: #08080b;
    border-bottom: 1px solid rgba(212,175,55,.16);
    font-size: .68rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.cpg-promo-bar a, .cpg-promo-bar strong { color: var(--lux-champagne); }
#header-charts, .top-header.bg-dark {
    background: linear-gradient(90deg, #101015, #1d1810 48%, #101015) !important;
    border-bottom: 1px solid rgba(243,223,162,.14);
}
#header-charts .prices_inline { min-height: 35px; padding-block: 7px; }
#header-charts li { letter-spacing: .035em; }
#header-charts strong { color: var(--lux-champagne) !important; }

/* Brand masthead and floating liquid navigation */
.cpg-masthead {
    color: var(--lux-ivory);
    background: linear-gradient(120deg, rgba(11,11,15,.97), rgba(24,21,16,.94)) !important;
    border: 0 !important;
    box-shadow: none;
}
.cpg-masthead-inner { min-height: 105px; padding-block: 18px; }
.cpg-brand-copy strong { color: #fff; font-size: clamp(1.65rem,2.5vw,2.35rem); }
.cpg-brand-copy small { color: rgba(243,223,162,.68); letter-spacing: .16em; }
.cpg-brand-logo {
    background: rgba(255,255,255,.92);
    border-color: rgba(243,223,162,.38);
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(212,175,55,.07), 0 12px 34px rgba(0,0,0,.28);
}
.cpg-contact-card {
    color: var(--lux-ivory);
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(243,223,162,.18) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.08) !important;
    backdrop-filter: blur(18px);
}
.cpg-contact-card small { color: rgba(250,247,240,.58); }
.cpg-contact-card strong { color: var(--lux-champagne); }
.cpg-contact-card:hover { background: rgba(212,175,55,.12) !important; border-color: rgba(243,223,162,.48) !important; }
.cpg-contact-icon { color: var(--lux-obsidian); background: linear-gradient(145deg,var(--lux-champagne),var(--lux-gold)); }
.bottom-header {
    position: sticky !important;
    top: 0;
    z-index: 1040;
    padding: 10px 16px 0 !important;
    background: linear-gradient(#0b0b0f 0 46%, transparent 46%);
    box-shadow: none;
}
.bottom-header .navbar {
    max-width: 1220px;
    min-height: 62px;
    margin: 0 auto;
    background: rgba(20,19,20,.72) !important;
    border: 1px solid rgba(243,223,162,.18) !important;
    border-radius: 18px;
    box-shadow: inset 0 1px rgba(255,255,255,.1), 0 18px 45px rgba(0,0,0,.18);
    backdrop-filter: blur(24px) saturate(140%);
    transition: background .35s ease, box-shadow .35s ease, transform .35s ease;
}
.bottom-header.is-scrolled .navbar {
    background: rgba(11,11,15,.91) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.09), 0 16px 50px rgba(0,0,0,.3);
}
.bottom-header .nav-link { color: rgba(250,247,240,.82) !important; font-size: .7rem !important; font-weight: 600 !important; letter-spacing: .1em; }
.bottom-header .nav-link:hover, .bottom-header .nav-item.active > .nav-link { color: var(--lux-champagne) !important; background: rgba(212,175,55,.11) !important; }
.bottom-header .submenu > ul, .bottom-header .dropdown-menu {
    color: var(--lux-ivory);
    background: rgba(17,16,18,.94) !important;
    border: 1px solid rgba(243,223,162,.2) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.38) !important;
    backdrop-filter: blur(26px) saturate(130%);
}
.bottom-header .submenu a, .bottom-header .dropdown-item { color: rgba(250,247,240,.78) !important; }
.bottom-header .submenu .list-group-item, .bottom-header .dropdown-item { background: transparent !important; }
.bottom-header .submenu .list-group-item:hover, .bottom-header .dropdown-item:hover { color: var(--lux-champagne) !important; background: rgba(212,175,55,.11) !important; }
.bottom-header .cur_box select { color: var(--lux-ivory) !important; background: rgba(255,255,255,.08) !important; border-color: rgba(243,223,162,.22) !important; }
.bottom-header .cur_box select option { color: #111; background: #fff; }
.bottom-header .ct-button-layout1 .btn { color: #15110a !important; background: linear-gradient(145deg,var(--lux-champagne),var(--lux-gold)) !important; border-color: transparent !important; }

/* Cinematic homepage hero driven by existing dynamic slider */
#slider_content {
    width: min(1440px, calc(100% - 32px));
    min-height: clamp(430px, 64vw, 720px);
    margin: 14px auto 0;
    background: var(--lux-obsidian);
    border: 1px solid rgba(243,223,162,.16);
    border-radius: 0 0 34px 34px;
    box-shadow: 0 40px 100px rgba(11,11,15,.26);
    isolation: isolate;
}
#slider_content::before, #slider_content::after {
    content: "";
    position: absolute;
    z-index: 2;
    pointer-events: none;
    border-radius: 50%;
    filter: blur(30px);
    mix-blend-mode: screen;
}
#slider_content::before { width: 42%; aspect-ratio: 1; left: -12%; top: -25%; background: radial-gradient(circle,rgba(212,175,55,.29),transparent 68%); animation: luxAurora 12s ease-in-out infinite alternate; }
#slider_content::after { width: 36%; aspect-ratio: 1; right: -8%; bottom: -28%; background: radial-gradient(circle,rgba(166,124,82,.25),transparent 68%); animation: luxAurora 15s ease-in-out -5s infinite alternate-reverse; }
#slider_content .home_slider, #slider_content .owl-stage-outer, #slider_content .owl-stage, #slider_content .owl-item, #slider_content .item { min-height: inherit; }
#slider_content .new-image { min-height: clamp(430px,64vw,720px); background-position: center !important; background-size: cover !important; transform: scale(1.015); animation: luxHeroBreath 15s ease-in-out infinite alternate; }
#slider_content .cover-rgb { background: linear-gradient(90deg,rgba(8,8,11,.91) 0%,rgba(8,8,11,.56) 43%,rgba(8,8,11,.13) 72%,rgba(8,8,11,.34) 100%) !important; }
#slider_content .slider-text, #slider_content .content, #slider_content [class*="caption"] { max-width: 650px; }
#slider_content h2 { color: var(--lux-champagne) !important; font-family: var(--lux-sans) !important; font-size: clamp(.68rem,1vw,.82rem) !important; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
#slider_content h1 { max-width: 760px; color: #fff !important; font-size: clamp(2.5rem,6.1vw,5.7rem) !important; line-height: .94 !important; text-shadow: 0 8px 38px rgba(0,0,0,.48); }
#slider_content p { color: rgba(250,247,240,.74) !important; font-size: clamp(.92rem,1.35vw,1.14rem); letter-spacing: .04em; }
#slider_content a { color: #15110a !important; background: linear-gradient(135deg,var(--lux-champagne),var(--lux-gold)) !important; border: 1px solid rgba(255,255,255,.28) !important; border-radius: 999px !important; box-shadow: 0 12px 35px rgba(212,175,55,.2); }
#slider_content a:hover { transform: translateY(-3px); box-shadow: 0 18px 45px rgba(212,175,55,.34); }

/* Editorial homepage sections */
#spotlight_content { margin-top: -54px; z-index: 5; }
#spotlight_content img { border-radius: 20px; border: 1px solid rgba(243,223,162,.26); }
.partners {
    width: min(1180px,calc(100% - 32px));
    margin: 18px auto 0;
    background: rgba(13,13,16,.88) !important;
    border: 1px solid rgba(243,223,162,.15) !important;
    border-radius: 20px;
    box-shadow: inset 0 1px rgba(255,255,255,.06), 0 22px 60px rgba(11,11,15,.16);
}
.partners p { color: rgba(250,247,240,.72); font-weight: 600; letter-spacing: .09em; }
.partners img { filter: sepia(.4) saturate(.85) brightness(1.15); }
.categ-img { padding-block: clamp(60px,8vw,105px) !important; background: transparent !important; backdrop-filter: none; }
.categ-img::before { color: var(--lux-obsidian); font-size: clamp(2.45rem,5vw,4.5rem); line-height: .95; }
.categ-img::after { content: "Curated precious metals for discerning collectors"; display: block; margin: -12px auto 35px; color: #786d5c; font-size: .72rem; letter-spacing: .16em; text-align: center; text-transform: uppercase; }
.category__item .product-img {
    padding: 10px;
    background: rgba(255,253,247,.52) !important;
    border: 1px solid rgba(255,255,255,.78) !important;
    border-radius: 22px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.95), 0 18px 50px rgba(67,49,18,.1) !important;
}
.category__item .product-img .title { padding: 9px 4px 5px; font-family: var(--lux-serif); font-size: 1.3rem; font-weight: 600; }
.category__item .img-circle { border-radius: 16px; }
.category__item .img-circle::after { content: "Explore"; position: absolute; right: 13px; bottom: 13px; padding: 6px 11px; color: var(--lux-champagne); background: rgba(11,11,15,.7); border: 1px solid rgba(243,223,162,.2); border-radius: 999px; font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; backdrop-filter: blur(12px); opacity: 0; transform: translateY(5px); transition: .3s var(--lux-ease); }
.category__item .product-img:hover .img-circle::after { opacity: 1; transform: none; }

section.bg-light {
    position: relative;
    width: min(1380px,calc(100% - 32px));
    margin: 0 auto clamp(40px,7vw,90px);
    color: var(--lux-ivory);
    background: linear-gradient(125deg,#0b0b0f,#1a1712) !important;
    border: 1px solid rgba(243,223,162,.16) !important;
    border-radius: 32px;
    overflow: hidden;
}
section.bg-light::after { content: ""; position: absolute; width: 500px; height: 500px; right: -180px; top: -220px; background: radial-gradient(circle,rgba(212,175,55,.2),transparent 68%); pointer-events: none; }
section.bg-light h2 { color: #fff !important; font-size: clamp(2.4rem,4vw,4.2rem); }
section.bg-light .detail_p { color: rgba(250,247,240,.7); font-size: .94rem; line-height: 1.85; }
.about_img img { filter: saturate(.82) contrast(1.05); border-radius: 22px; }

/* Products, listings, detail surfaces and commerce */
.container > .title.text-center, .title1, .section-title { font-size: clamp(2.1rem,4.3vw,3.7rem) !important; }
.featured-product, .product-item, .item-product, .product-box, .card {
    background: linear-gradient(145deg,rgba(255,255,255,.74),rgba(250,247,240,.46)) !important;
    border: 1px solid rgba(255,255,255,.8) !important;
    border-radius: 24px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.95),0 18px 50px rgba(51,39,16,.09) !important;
}
.featured-product .top-card-item { padding: 22px 22px 12px; }
.featured-product .top-card-item img { height: 250px; }
.featured-product .top-picks-title { color: var(--lux-obsidian); font-family: var(--lux-serif); font-size: 1.2rem; font-weight: 600; }
.featured-product .panel-footer { background: rgba(255,255,255,.35) !important; border-top: 1px solid rgba(166,124,82,.13); }
.featured-product .promotag { color: #4f390d; background: linear-gradient(135deg,rgba(243,223,162,.88),rgba(212,175,55,.5)); }
.featured-product .add-to-cart, .featured-product .add_to_cart, .btn-primary, .btn-primary-sgb, button[type="submit"], input[type="submit"] {
    color: var(--lux-champagne) !important;
    background: linear-gradient(135deg,#151419,#29231a) !important;
    border: 1px solid rgba(212,175,55,.25) !important;
    border-radius: 999px !important;
}
.featured-product .add-to-cart:hover, .featured-product .add_to_cart:hover, .btn-primary:hover, .btn-primary-sgb:hover, button[type="submit"]:hover, input[type="submit"]:hover {
    color: #16120b !important;
    background: linear-gradient(135deg,var(--lux-champagne),var(--lux-gold)) !important;
    box-shadow: 0 12px 30px rgba(212,175,55,.22);
}
.form-control, .form-select, input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], textarea, select {
    background: rgba(255,255,255,.55) !important;
    border: 1px solid rgba(166,124,82,.2) !important;
    border-radius: 14px !important;
    backdrop-filter: blur(14px);
}
.modal-content, .modal_cart .modal-content {
    background: rgba(22,20,20,.94) !important;
    border: 1px solid rgba(243,223,162,.2) !important;
    box-shadow: 0 35px 100px rgba(0,0,0,.48) !important;
    backdrop-filter: blur(30px) saturate(130%);
}
.modal-content, .modal-content h1, .modal-content h2, .modal-content h3, .modal-content h4, .modal-content h5 { color: var(--lux-ivory); }
.modal_cart .modal-dialog { max-width: min(520px,100%); }
.page-header, .inner-banner, .breadcrumb-area {
    background: radial-gradient(circle at 75% 20%,rgba(212,175,55,.19),transparent 32rem),linear-gradient(125deg,#0b0b0f,#1c1915) !important;
    min-height: 230px;
    display: grid;
    align-items: center;
}

/* Blog, contact and footer */
.blog-sec, .blog_section, [class*="blog-section"] { background: transparent !important; }
.blog-item, article.card { overflow: hidden; }
#contact {
    width: min(1220px,calc(100% - 32px));
    margin: 34px auto -20px;
    position: relative;
    z-index: 2;
    color: var(--lux-ivory);
    background: rgba(20,18,16,.86) !important;
    border: 1px solid rgba(243,223,162,.2) !important;
    border-radius: 22px;
    box-shadow: 0 25px 65px rgba(0,0,0,.25);
}
#contact a, #contact .p-font-17, #contact p, #contact address { color: rgba(250,247,240,.76) !important; }
#contact svg { fill: var(--lux-champagne); }
.main-footer.bg-dark {
    background: radial-gradient(circle at 72% 10%,rgba(212,175,55,.11),transparent 28rem),linear-gradient(145deg,#08080b,#131316) !important;
    border-top: 1px solid rgba(243,223,162,.14);
    padding-top: 68px;
}
.main-footer .title2 { color: var(--lux-champagne) !important; font-family: var(--lux-sans) !important; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; }
.main-footer a { color: rgba(250,247,240,.61) !important; }

/* Motion and responsive discipline */
.cpg-cursor-glow { position: fixed; z-index: 3; top: 0; left: 0; width: 340px; height: 340px; border-radius: 50%; pointer-events: none; background: radial-gradient(circle,rgba(212,175,55,.09),transparent 67%); mix-blend-mode: multiply; will-change: transform; transition: opacity .25s ease; }
@keyframes luxAurora { to { transform: translate3d(16%,10%,0) scale(1.16); opacity: .7; } }
@keyframes luxHeroBreath { to { transform: scale(1.07); } }

@media (max-width: 991.98px) {
    .bottom-header { padding-inline: 10px !important; }
    .bottom-header .navbar { border-radius: 15px; }
    .bottom-header .navbar-collapse { background: rgba(11,11,15,.96); border: 1px solid rgba(243,223,162,.14); }
    .bottom-header .navbar-toggler svg { fill: var(--lux-champagne); }
    #slider_content { min-height: clamp(450px,75vw,620px); }
    #slider_content .new-image { min-height: clamp(450px,75vw,620px); }
    .category__item .main_services { flex-basis: calc(33.333% - 10px); }
}
@media (max-width: 575.98px) {
    .cpg-masthead { background: #0b0b0f !important; }
    .cpg-brand-copy strong { color: #fff; font-size: 1.15rem; }
    .bottom-header { padding: 7px 6px 0 !important; }
    .bottom-header .navbar { min-height: 56px; border-radius: 14px; }
    #slider_content { width: calc(100% - 20px); min-height: 520px; margin-top: 8px; border-radius: 0 0 24px 24px; }
    #slider_content .new-image { min-height: 520px; background-position: 64% center !important; }
    #slider_content .cover-rgb { background: linear-gradient(0deg,rgba(8,8,11,.92),rgba(8,8,11,.32) 78%) !important; }
    #slider_content h1 { font-size: clamp(2.4rem,12vw,3.65rem) !important; line-height: .94 !important; }
    #spotlight_content { margin-top: -30px; }
    .partners { width: calc(100% - 20px); }
    .categ-img { padding-block: 58px !important; }
    .categ-img::before { font-size: 2.8rem; }
    .category__item .main_services, .category__item .main_services:last-child { flex: 0 0 calc(50% - 5px); }
    .category__item .product-img .title { font-size: 1.05rem; }
    section.bg-light { width: calc(100% - 20px); border-radius: 24px; }
    .featured-product .top-card-item img { height: 210px; }
    #contact { width: calc(100% - 20px); }
    .cpg-cursor-glow { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    #slider_content::before, #slider_content::after, #slider_content .new-image { animation: none !important; }
    .cpg-cursor-glow { display: none !important; }
}

/* Final dark-surface text contract */
body #contact .get-tuch .p-font-17,
body #contact .get-tuch i.p-font-17,
body #contact .get-tuch a .p-font-17 {
    color: #f3dfa2 !important;
}
body #contact .get-tuch .p-font-15,
body #contact .get-tuch p,
body #contact .get-tuch address,
body #contact .get-tuch address b {
    color: rgba(250,247,240,.76) !important;
}
body .main-footer.bg-dark a { color: rgba(250,247,240,.76) !important; }
body .main-footer.bg-dark a:hover { color: #f3dfa2 !important; }
body .main-footer.bg-dark .text,
body .main-footer.bg-dark .copyright,
body .main-footer.bg-dark p { color: rgba(250,247,240,.66) !important; }

/* 2.2 category catalogue — premium responsive product cards */
body .col-results > .row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 0 !important;
}
body .col-results > .row > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}
body .col-results .new-column {
    position: relative;
    min-width: 0;
    height: 100% !important;
    padding: 14px 14px 16px;
    background: linear-gradient(145deg,rgba(255,255,255,.82),rgba(250,247,240,.58)) !important;
    border: 1px solid rgba(255,255,255,.9) !important;
    border-radius: 22px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.96), 0 18px 46px rgba(62,46,18,.1) !important;
    overflow: hidden;
    transition: transform .3s var(--lux-ease), box-shadow .3s var(--lux-ease), border-color .3s ease;
    backdrop-filter: blur(18px) saturate(120%);
}
body .col-results .new-column:hover {
    transform: translateY(-6px);
    border-color: rgba(212,175,55,.5) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.98), 0 27px 62px rgba(73,52,15,.17) !important;
}
body .col-results .new-column .favourite {
    min-height: 38px;
    margin: -2px -2px 3px;
    align-items: center;
}
body .col-results .new-column .promotag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 27px;
    padding: 5px 11px;
    color: #4c3a17 !important;
    background: linear-gradient(135deg,rgba(243,223,162,.9),rgba(212,175,55,.55)) !important;
    border-radius: 999px;
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .07em;
}
body .col-results .new-column .promotag::after { display: none !important; }
body .col-results .new-column .promotag svg { width: 11px; height: 11px; }
body .col-results .wishlist_heart {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #6f6656;
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(166,124,82,.18);
    border-radius: 50%;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}
body .col-results .wishlist_heart:hover { color: #9f3030; background: #fff; transform: scale(1.07); }
body .col-results .wishlist_heart svg { width: 17px; height: 17px; }
body .col-results .new-column > .img-div {
    min-height: 215px;
    padding: 12px;
    background: radial-gradient(circle at 50% 42%,rgba(255,255,255,.95),rgba(243,223,162,.17) 62%,transparent 63%);
    border-radius: 17px;
}
body .col-results .new-column > .img-div a { width: 100%; height: 100%; display: grid; place-items: center; }
body .col-results .new-column > .img-div img {
    width: 100%;
    height: 190px;
    max-height: none !important;
    object-fit: contain;
    filter: drop-shadow(0 13px 16px rgba(42,31,10,.18));
    transition: transform .35s var(--lux-ease), filter .35s ease;
}
body .col-results .new-column:hover > .img-div img { transform: scale(1.045); filter: drop-shadow(0 17px 20px rgba(42,31,10,.24)); }
body .col-results .new-column .bottom-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 10px 0 0 !important;
}
body .col-results .new-column .bottom-card h3 {
    min-height: 52px;
    margin: 0 4px 12px;
    color: #1e1a14 !important;
    font-size: 1.22rem !important;
    line-height: 1.18;
    text-align: center;
}
body .col-results .new-column .bottom-card h3 a { color: #1e1a14 !important; text-decoration: none; }
body .col-results .new-column .bottom-card h3 a:hover { color: #7b5a1d !important; }
body .col-results .new-column .tiers { margin-top: auto; overflow: hidden; border: 1px solid rgba(166,124,82,.12); border-radius: 13px; }
body .col-results .new-column .tiers .table { width: 100%; margin: 0; table-layout: fixed; font-size: .66rem; }
body .col-results .new-column .tiers th {
    color: #403a31 !important;
    background: rgba(232,224,207,.68) !important;
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .015em;
    line-height: 1.25;
    text-transform: none;
}
body .col-results .new-column .tiers td,
body .col-results .new-column .tiers th { padding: 8px 5px !important; border-color: rgba(166,124,82,.09); }
body .col-results .new-column .tiers td { color: #423b31; background: rgba(255,255,255,.36); }
body .col-results .new-column .tiers tr:nth-child(odd) td { background: rgba(239,233,220,.55); }
body .col-results .new-column .live-product-price { color: #211d16 !important; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
body .col-results .new-column .d-grid { margin-top: 11px; }
body .col-results .new-column .add-to-cart {
    min-height: 42px;
    margin: 0 !important;
    color: #17130c !important;
    background: linear-gradient(135deg,#f3dfa2,#d4af37) !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .025em;
    box-shadow: 0 9px 22px rgba(166,124,82,.16);
}
body .col-results .new-column .add-to-cart:hover { color: #f3dfa2 !important; background: linear-gradient(135deg,#17161a,#282219) !important; }

body .col-sidebar,
body .col-results + [class*="col-"] > div {
    border-radius: 20px;
}

@media (min-width: 1200px) {
    body .col-results.col-xl-7 { width: 62.5% !important; }
    body .col-results + .col-xl-3 { width: 29.166667% !important; }
    body .col-sidebar.col-md-2 { width: 8.333333% !important; }
}
@media (max-width: 991.98px) {
    body .col-results { width: 100% !important; }
    body .col-results > .row { gap: 16px; }
    body .col-results + [class*="col-"] { margin-top: 28px; }
}
@media (max-width: 575.98px) {
    body .col-results > .row { grid-template-columns: 1fr; gap: 15px; }
    body .col-results .new-column { padding: 12px; border-radius: 19px !important; }
    body .col-results .new-column > .img-div { min-height: 230px; }
    body .col-results .new-column > .img-div img { height: 205px !important; max-height: none !important; }
    body .col-results .new-column .bottom-card h3 { min-height: auto; font-size: 1.2rem !important; }
}

/* 2.4 homepage product badges and market-status controls */
body .featured-product .top-picks-icons {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 4;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
}
body .featured-product .promotag {
    position: relative;
    isolation: isolate;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto !important;
    min-width: 0 !important;
    min-height: 34px;
    margin: 0 !important;
    padding: 8px 14px !important;
    color: #2c220f !important;
    background: linear-gradient(110deg,#c99d32 0%,#f5e4ad 35%,#d4af37 64%,#f3dfa2 100%) !important;
    background-size: 220% 100% !important;
    border: 1px solid rgba(255,246,208,.8) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.72), 0 8px 24px rgba(104,74,16,.2) !important;
    font-family: var(--lux-sans) !important;
    font-size: .68rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: .065em;
    text-transform: uppercase;
    white-space: nowrap !important;
    clip-path: none !important;
    animation: luxBadgeShimmer 4.8s ease-in-out infinite;
}
body .featured-product .promotag::before,
body .featured-product .promotag::after {
    display: none !important;
    content: none !important;
}
body .featured-product .promotag svg {
    width: 12px !important;
    height: 12px !important;
    flex: 0 0 12px;
    filter: drop-shadow(0 1px rgba(255,255,255,.5));
}
body .featured-product .promotag svg path { fill: #6f4d0b !important; }

body .featured-product .add-to-cart,
body .featured-product button.add-to-cart {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    color: #f3dfa2 !important;
    background: linear-gradient(135deg,#101014,#272117) !important;
    border: 1px solid rgba(212,175,55,.34) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.06), 0 9px 24px rgba(11,11,15,.16) !important;
}
body .featured-product .add-to-cart svg,
body .featured-product button.add-to-cart svg {
    width: 14px !important;
    height: 14px !important;
    flex: 0 0 14px;
}
body .featured-product .add-to-cart svg path,
body .featured-product button.add-to-cart svg path { fill: #d4af37 !important; }
body .featured-product .add-to-cart:hover,
body .featured-product button.add-to-cart:hover {
    color: #17130c !important;
    background: linear-gradient(135deg,#f3dfa2,#d4af37) !important;
    border-color: rgba(255,245,205,.8) !important;
    box-shadow: 0 12px 30px rgba(166,124,82,.22) !important;
}
body .featured-product .add-to-cart:hover svg path,
body .featured-product button.add-to-cart:hover svg path { fill: #17130c !important; }

@keyframes luxBadgeShimmer {
    0%, 68%, 100% { background-position: 100% 50%; box-shadow: inset 0 1px rgba(255,255,255,.72),0 8px 24px rgba(104,74,16,.2); }
    34% { background-position: 0 50%; box-shadow: inset 0 1px rgba(255,255,255,.88),0 10px 30px rgba(212,175,55,.3); }
}
@media (prefers-reduced-motion: reduce) {
    body .featured-product .promotag { animation: none !important; }
}

/* Home product-card purchase controls */
body .featured-product .new-display {
    display: grid !important;
    grid-template-columns: clamp(52px, 22%, 66px) minmax(0, 1fr);
    align-items: stretch;
    gap: 9px;
    width: 100% !important;
    max-width: 100%;
    padding: 0 10px 12px;
    box-sizing: border-box;
}

body .featured-product .new-display .qty {
    display: block !important;
    width: 100% !important;
    min-width: 0;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 5px 4px !important;
    border: 2px solid #c89b3c !important;
    border-radius: 10px !important;
    color: #17130c !important;
    background: #fffdf7 !important;
    box-shadow: inset 0 1px 3px rgba(23, 19, 12, .08) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    opacity: 1 !important;
}

body .featured-product .new-display .qty:focus {
    border-color: #e4bf69 !important;
    box-shadow: 0 0 0 3px rgba(200, 155, 60, .22) !important;
    outline: 0;
}

body .featured-product .new-display .add_to_cart {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-width: 0;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 1px solid #d6aa47 !important;
    border-radius: 999px !important;
    color: #17130c !important;
    background: linear-gradient(135deg, #f4d77e 0%, #d3a640 52%, #f1cf6b 100%) !important;
    box-shadow: 0 8px 20px rgba(117, 82, 14, .2) !important;
    font-size: clamp(.78rem, 1.2vw, .94rem) !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    letter-spacing: .01em;
    text-align: center;
    cursor: pointer;
    opacity: 1 !important;
}

body .featured-product .new-display .add_to_cart:hover,
body .featured-product .new-display .add_to_cart:focus-visible {
    color: #fffaf0 !important;
    background: linear-gradient(135deg, #8e6518, #17130c) !important;
    border-color: #e4bf69 !important;
    transform: translateY(-1px);
}

@media (max-width: 420px) {
    body .featured-product .new-display {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 7px;
        padding-inline: 8px;
    }
}

/* High-contrast primary navigation labels */
body #myHeader .navmenu > .nav-item > .nav-link,
body #myHeader .navmenu > .nav-item > a.nav-link {
    color: #111513 !important;
    font-weight: 850 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .55) !important;
    opacity: 1 !important;
}

body #myHeader .navmenu > .nav-item:hover > .nav-link,
body #myHeader .navmenu > .nav-item:focus-within > .nav-link,
body #myHeader .navmenu > .nav-item.active > .nav-link {
    color: #090b0a !important;
    text-shadow: 0 1px 0 rgba(255, 248, 218, .7) !important;
}

/* Viewport-aware homepage hero and spotlight sizing */
body #slider_content {
    height: clamp(330px, 43vw, 500px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

body #slider_content .owl-carousel,
body #slider_content .owl-stage-outer,
body #slider_content .owl-stage,
body #slider_content .owl-item,
body #slider_content .img-width,
body #slider_content .new-image,
body #slider_content .cover-rgb {
    height: 100% !important;
    min-height: 0 !important;
}

body #slider_content .new-image {
    background-position: center !important;
    background-size: cover !important;
}

body #spotlight_content {
    padding-top: clamp(12px, 2vw, 28px) !important;
    padding-bottom: clamp(12px, 2vw, 28px) !important;
    overflow: hidden !important;
}

body #spotlight_content .borderBlock::before,
body #spotlight_content .borderBlock::after {
    content: none !important;
    display: none !important;
}

body #spotlight_content .banneritem {
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden;
    border-radius: 10px !important;
    background: #111513;
    box-shadow: 0 10px 28px rgba(23, 19, 12, .16);
}

body #spotlight_content img,
body #spotlight_content .spotlight-img,
body #spotlight_content .anime-skalaton {
    display: block;
    width: 100% !important;
    height: clamp(145px, 16vw, 205px) !important;
    min-height: 0 !important;
    object-fit: cover;
}

@media (min-width: 768px) {
    body #spotlight_content .row {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: stretch;
    }

    body #spotlight_content .row > .col-sm-6 {
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
    }
}

@media (min-width: 992px) and (max-height: 800px) {
    body #slider_content {
        height: clamp(300px, 49vh, 370px) !important;
    }

    body #spotlight_content {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    body #spotlight_content img,
    body #spotlight_content .spotlight-img,
    body #spotlight_content .anime-skalaton {
        height: clamp(135px, 23vh, 170px) !important;
        min-height: 0 !important;
    }
}

@media (min-width: 992px) and (max-height: 650px) {
    body #slider_content {
        height: 330px !important;
    }

    body #spotlight_content img,
    body #spotlight_content .spotlight-img,
    body #spotlight_content .anime-skalaton {
        height: 145px !important;
        min-height: 0 !important;
    }
}

@media (max-width: 767.98px) {
    body #slider_content {
        height: clamp(330px, 112vw, 500px) !important;
    }

    body #spotlight_content img,
    body #spotlight_content .spotlight-img,
    body #spotlight_content .anime-skalaton {
        height: auto !important;
        min-height: 145px;
        max-height: 220px;
    }
}

@media (max-width: 575.98px) {
    body #myHeader .navbar > .container {
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr);
        align-items: center;
        gap: 6px;
        width: 100%;
        padding: 4px 8px !important;
    }

    body #myHeader .navbar-toggler {
        grid-column: 1;
        grid-row: 1;
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid rgba(228, 191, 105, .55) !important;
        border-radius: 10px !important;
    }

    body #myHeader .navbar-collapse {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
    }

    body #myHeader .elementor-cart {
        position: static !important;
        inset: auto !important;
        grid-column: 2;
        grid-row: 1;
        display: grid !important;
        grid-template-columns: minmax(68px, 78px) 46px minmax(88px, 1fr);
        align-items: center;
        gap: 5px !important;
        width: 100% !important;
        height: auto !important;
        padding: 0 !important;
    }

    body #myHeader #currencyForm,
    body #myHeader #currency {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding-left: 5px !important;
        padding-right: 4px !important;
    }

    body #myHeader .cart_box {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 46px !important;
        min-width: 46px !important;
        height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 10px !important;
    }

    body #myHeader .cart_box .icon_cart,
    body #myHeader .cart_box .h-btn-cart {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
    }

    body #myHeader .cart_box svg {
        margin: 0 !important;
    }

    body #myHeader .ct_button,
    body #myHeader .ct-button-layout1,
    body #myHeader .ct-button-layout1 > a {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    body #myHeader .ct-button-layout1 > a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        padding: 7px 6px !important;
        white-space: nowrap;
    }
}

/* 2.5 live metal dashboard */
body .main-div:has(.rates-wrapper) {
    position: relative;
    isolation: isolate;
    width: 100% !important;
    max-width: 1220px;
    min-width: 0 !important;
    margin: 0 auto;
    padding: clamp(22px,4vw,48px);
    color: var(--lux-ivory);
    background:
        radial-gradient(circle at 16% 2%,rgba(212,175,55,.18),transparent 26rem),
        radial-gradient(circle at 92% 62%,rgba(166,124,82,.13),transparent 30rem),
        linear-gradient(145deg,rgba(11,11,15,.97),rgba(25,22,18,.94));
    border: 1px solid rgba(243,223,162,.17);
    border-radius: 30px;
    box-shadow: inset 0 1px rgba(255,255,255,.07),0 34px 90px rgba(11,11,15,.2);
    overflow: hidden;
}
body .main-div:has(.rates-wrapper)::before {
    content: "";
    position: absolute;
    inset: -30% auto auto -12%;
    z-index: -1;
    width: 520px;
    aspect-ratio: 1;
    background: radial-gradient(circle,rgba(212,175,55,.15),transparent 67%);
    border-radius: 50%;
    animation: luxPriceAurora 13s ease-in-out infinite alternate;
}
body .main-div:has(.rates-wrapper) .heading-web h2,
body .main-div:has(.rates-wrapper) .heading-web h3 {
    color: #fff !important;
    font-size: clamp(2rem,4.4vw,3.7rem) !important;
}
body .main-div:has(.rates-wrapper) .seprator [class*="line_"] { background: linear-gradient(90deg,transparent,#d4af37,transparent) !important; }

body .rates-wrapper {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 22px;
    margin: 4px 0 clamp(50px,7vw,80px) !important;
}
body .rates-wrapper .metal-card {
    --metal-accent: #d4af37;
    --metal-soft: rgba(212,175,55,.18);
    position: relative;
    isolation: isolate;
    width: 100% !important;
    min-width: 0 !important;
    padding: 21px;
    color: rgba(250,247,240,.8);
    background: linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035)) !important;
    border: 1px solid color-mix(in srgb,var(--metal-accent) 34%,transparent) !important;
    border-radius: 22px !important;
    box-shadow: inset 0 1px rgba(255,255,255,.1),0 18px 55px rgba(0,0,0,.24) !important;
    overflow: hidden;
    backdrop-filter: blur(22px) saturate(125%);
    animation: luxMetalFloat 7s var(--lux-ease) infinite alternate;
    transition: transform .35s var(--lux-ease),border-color .35s ease,box-shadow .35s ease;
}
body .rates-wrapper .metal-card:nth-child(2) { animation-delay: -1.7s; }
body .rates-wrapper .metal-card:nth-child(3) { animation-delay: -3.4s; }
body .rates-wrapper .metal-card:nth-child(4) { animation-delay: -5.1s; }
body .rates-wrapper .metal-card.silver { --metal-accent: #d9dde2; --metal-soft: rgba(217,221,226,.14); }
body .rates-wrapper .metal-card.palladium { --metal-accent: #e4c58f; --metal-soft: rgba(228,197,143,.15); }
body .rates-wrapper .metal-card.platinum { --metal-accent: #b9d0cf; --metal-soft: rgba(185,208,207,.14); }
body .rates-wrapper .metal-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 230px;
    height: 230px;
    top: -125px;
    right: -80px;
    border-radius: 50%;
    background: radial-gradient(circle,var(--metal-soft),transparent 68%);
    transition: transform .5s var(--lux-ease),opacity .4s ease;
}
body .rates-wrapper .metal-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(112deg,transparent 26%,rgba(255,255,255,.09) 45%,transparent 62%);
    transform: translateX(-110%);
    animation: luxMetalSweep 8s ease-in-out infinite;
}
body .rates-wrapper .metal-card:hover {
    transform: translateY(-7px) scale(1.01);
    border-color: color-mix(in srgb,var(--metal-accent) 65%,transparent) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.15),0 26px 65px rgba(0,0,0,.35),0 0 35px var(--metal-soft) !important;
}
body .rates-wrapper .metal-card:hover::before { transform: scale(1.25) translate(-12px,12px); opacity: 1; }
body .rates-wrapper .metal-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 48px;
    margin-bottom: 13px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255,255,255,.09);
}
body .rates-wrapper .metal-card-header h2 {
    margin: 0;
    color: var(--metal-accent) !important;
    font-size: clamp(1.75rem,3vw,2.35rem) !important;
    line-height: 1;
}
body .rates-wrapper .metal-change {
    padding: 6px 10px;
    background: rgba(255,255,255,.065);
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    backdrop-filter: blur(10px);
}
body .rates-wrapper .rate-row {
    display: grid !important;
    grid-template-columns: 1.15fr 1fr 1fr;
    align-items: center;
    min-height: 49px;
    padding: 9px 11px !important;
    color: rgba(250,247,240,.76);
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.065) !important;
    font-size: .8rem;
    font-variant-numeric: tabular-nums;
    transition: background .2s ease,color .2s ease;
}
body .rates-wrapper .rate-row:last-child { border-bottom: 0 !important; }
body .rates-wrapper .rate-row:hover { color: #fff; background: rgba(255,255,255,.055); border-radius: 9px; }
body .rates-wrapper .rate-row.heading {
    min-height: 38px;
    color: rgba(243,223,162,.72);
    background: rgba(212,175,55,.07);
    border: 0 !important;
    border-radius: 9px;
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
body .rates-wrapper .rate-row span:nth-child(n+2) { text-align: right; }
body .rates-wrapper .rate-row:not(.heading) span:nth-child(n+2) { color: #fff; font-weight: 650; }

body .main-div:has(.rates-wrapper) > div[id] {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 554px;
    padding: 14px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(243,223,162,.14);
    border-radius: 22px;
    box-shadow: inset 0 1px rgba(255,255,255,.08),0 18px 55px rgba(0,0,0,.2);
    overflow: hidden;
    backdrop-filter: blur(20px);
}

@keyframes luxMetalFloat { from { translate: 0 0; } to { translate: 0 -5px; } }
@keyframes luxMetalSweep { 0%,72%,100% { transform: translateX(-110%); } 84% { transform: translateX(110%); } }
@keyframes luxPriceAurora { to { transform: translate(24%,16%) scale(1.18); opacity: .72; } }

@media (max-width: 767.98px) {
    body .main-div:has(.rates-wrapper) { padding: 20px 14px; border-radius: 24px; }
    body .rates-wrapper { grid-template-columns: 1fr; gap: 15px; }
    body .rates-wrapper .metal-card { padding: 17px 14px; border-radius: 18px !important; }
    body .rates-wrapper .rate-row { min-height: 46px; padding-inline: 8px !important; font-size: .74rem; }
    body .main-div:has(.rates-wrapper) > div[id] { min-height: 430px; padding: 8px; border-radius: 17px; }
}
@media (prefers-reduced-motion: reduce) {
    body .main-div:has(.rates-wrapper)::before,
    body .rates-wrapper .metal-card,
    body .rates-wrapper .metal-card::after { animation: none !important; }
}

/* 2.6 full-width live pricing row and native session chart */
body .container:has(> .main-div .rates-wrapper) {
    width: 100% !important;
    max-width: none !important;
    padding-inline: clamp(14px,3vw,48px) !important;
}
body .main-div:has(.rates-wrapper) { max-width: none !important; }
body .rates-wrapper { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
body .rates-wrapper .metal-card { padding: 17px 14px !important; }
body .rates-wrapper .metal-card-header h2 { font-size: clamp(1.45rem,2vw,2rem) !important; }
body .rates-wrapper .rate-row { grid-template-columns: 1.05fr 1fr 1fr; padding-inline: 7px !important; font-size: clamp(.68rem,.8vw,.78rem); }
body .rates-wrapper .rate-row:not(.heading) {
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 11px !important;
    margin-bottom: 8px;
}
body .rates-wrapper .rate-row:not(.heading):hover {
    background: rgba(212,175,55,.095) !important;
    border-color: rgba(243,223,162,.18) !important;
}
body .rates-wrapper .rate-row > span:first-child { color: rgba(250,247,240,.76) !important; }
body .rates-wrapper .rate-row:not(.heading) > span:nth-child(n+2) { color: #fff !important; font-weight: 700; }
body .rates-wrapper .rate-row.heading > span { color: #f3dfa2 !important; }
body .rates-wrapper .metal-change { background: rgba(255,255,255,.1); color: #fff; }
body .rates-wrapper .rate-row .price-up {
    color: #9ce6bd !important;
    background: rgba(44,170,104,.16) !important;
    border-radius: 6px;
}
body .rates-wrapper .rate-row .price-down {
    color: #ffaaa2 !important;
    background: rgba(217,48,37,.16) !important;
    border-radius: 6px;
}

body .live-session-chart {
    padding: clamp(18px,3vw,34px);
    background: linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.025));
    border: 1px solid rgba(243,223,162,.16);
    border-radius: 24px;
    box-shadow: inset 0 1px rgba(255,255,255,.09),0 20px 60px rgba(0,0,0,.24);
    backdrop-filter: blur(22px) saturate(125%);
}
body .live-chart-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:18px; }
body .live-chart-kicker { color:#d4af37; font-size:.65rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
body .live-chart-head h4 { margin:4px 0 5px; color:#fff !important; font-size:clamp(1.8rem,3vw,2.8rem); }
body .live-chart-head p { margin:0; color:rgba(250,247,240,.62); font-size:.8rem; }
body .live-chart-status { display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; padding:8px 12px; color:rgba(250,247,240,.75); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09); border-radius:999px; font-size:.66rem; }
body .live-chart-status i { width:7px; height:7px; background:#55c890; border-radius:50%; box-shadow:0 0 0 5px rgba(85,200,144,.11); animation:liveStatusPulse 2s ease-in-out infinite; }
body .live-chart-canvas-wrap { width:100%; height:clamp(260px,25vw,360px); overflow:hidden; border-radius:16px; background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.08)); }
body .live-chart-canvas-wrap canvas { display:block; }

@media (min-width:992px) and (max-height:900px) {
  body .live-session-chart { padding:16px 20px; }
  body .live-chart-head { margin-bottom:10px; }
  body .live-chart-head h4 { font-size:clamp(1.45rem,2.2vw,2rem); }
  body .live-chart-canvas-wrap { height:clamp(190px,27vh,220px); }
  body .live-chart-legend { margin-top:10px; }
  body .live-legend-item { padding:7px 9px; }
}

@media (max-width:991.98px) {
  body .live-chart-canvas-wrap { height:clamp(230px,42vw,280px); }
}

@media (max-width:575.98px) {
  body .live-chart-canvas-wrap { height:230px; }
}
body .live-chart-legend { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:14px; }
body .live-legend-item { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:7px; padding:10px 11px; color:rgba(250,247,240,.72); background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.07); border-radius:12px; font-size:.7rem; }
body .live-legend-dot { width:9px; height:9px; background:var(--series-color); border-radius:50%; box-shadow:0 0 12px var(--series-color); }
body .live-legend-item strong { color:#fff; font-variant-numeric:tabular-nums; }
body .live-legend-item small { grid-column:2/4; color:rgba(250,247,240,.48); text-align:right; }
body .live-legend-item small.is-up { color:#63d29a; }
body .live-legend-item small.is-down { color:#ed7d72; }
@keyframes liveStatusPulse { 50% { transform:scale(1.18); box-shadow:0 0 0 7px rgba(85,200,144,.05); } }

@media (max-width:1199.98px) {
    body .rates-wrapper { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:575.98px) {
    body .rates-wrapper { grid-template-columns:1fr !important; }
    body .live-chart-head { display:block; }
    body .live-chart-status { margin-top:14px; }
    body .live-chart-legend { grid-template-columns:repeat(2,minmax(0,1fr)); }
    body .live-legend-item { grid-template-columns:auto 1fr; }
    body .live-legend-item strong, body .live-legend-item small { grid-column:2; text-align:left; }
}
@media (prefers-reduced-motion:reduce) { body .live-chart-status i { animation:none !important; } }

/* 2.8 homepage trust strip contrast */
body .partners,
body .partners.new-con {
    color: #211e18 !important;
}
body .partners p,
body .partners p[itemprop="text"] {
    color: #352f25 !important;
    opacity: 1 !important;
    text-shadow: none !important;
    font-weight: 700 !important;
    letter-spacing: .075em;
}
body .partners .col-sm-3 {
    border-color: rgba(166,124,82,.22) !important;
}
body .partners img {
    opacity: 1 !important;
    filter: saturate(.9) contrast(1.04) drop-shadow(0 7px 12px rgba(70,48,10,.12)) !important;
}

/* Money Metals-inspired storefront composition, using the CPG palette */
#slider_content {
  width: min(1220px, calc(100% - 36px));
  margin: 24px auto 0;
  border: 1px solid var(--cpg-line);
  border-radius: 18px;
  box-shadow: 0 14px 42px rgba(16, 20, 20, .10);
}

#slider_content .item,
#slider_content .new-image,
#slider_content img {
  border-radius: 17px;
}

#spotlight_content {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

#spotlight_content .card-body {
  border-radius: 15px;
}

.partners {
  margin-top: 0;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  background: #f5f3ed !important;
}

.categ-img,
body > .container.py-lg-5:not(.categ-img),
body > .container.py-2.pb-lg-4 {
  padding-top: 38px !important;
  padding-bottom: 38px !important;
}

.categ-img::before {
  margin-bottom: 20px;
  font-size: clamp(1.65rem, 2.5vw, 2.25rem);
}

body > section.bg-light {
  border-top: 1px solid var(--cpg-line);
  border-bottom: 1px solid var(--cpg-line);
  background: #f5f3ed !important;
}

body > .container.py-lg-5:not(.categ-img) > div:first-child,
body > .container.py-2.pb-lg-4 > .row:first-child {
  margin-right: 0;
  margin-left: 0;
}

.title1,
.heading-title,
.section-heading {
  color: var(--cpg-ink) !important;
}

.product_slider {
  align-items: stretch;
}

.featured-product {
  border-radius: 13px !important;
  box-shadow: 0 5px 20px rgba(16, 20, 20, .07) !important;
}

.featured-product .top-card-item {
  padding: 14px 14px 8px;
}

.featured-product .top-card-item img {
  height: clamp(170px, 19vw, 225px);
}

.featured-product .panel-footer {
  padding: 12px;
}

.grid_blog article,
.listing-item article {
  height: 100%;
  border: 1px solid var(--cpg-line) !important;
  border-radius: 13px !important;
  background: #fff;
  box-shadow: 0 5px 20px rgba(16, 20, 20, .06);
}

@media (max-width: 991.98px) {
  #slider_content {
    width: calc(100% - 28px);
    margin-top: 16px;
  }

  .categ-img,
  body > .container.py-lg-5:not(.categ-img),
  body > .container.py-2.pb-lg-4 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
}

@media (max-width: 575.98px) {
  #slider_content {
    width: calc(100% - 20px);
    margin-top: 10px;
    border-radius: 12px;
  }

  #slider_content .item,
  #slider_content .new-image,
  #slider_content img {
    border-radius: 11px;
  }

  #spotlight_content {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }

  .partners {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }

  .categ-img,
  body > .container.py-lg-5:not(.categ-img),
  body > .container.py-2.pb-lg-4 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  .categ-img::before {
    margin-bottom: 16px;
    font-size: 1.55rem;
  }

  .category__item .product-img {
    padding: 10px;
    border-radius: 12px;
  }

  .category__item .product-img .title {
    margin-bottom: 7px;
    font-size: .86rem;
  }
}
/* ==================================================================
   Laptop viewport rhythm
   Keeps information-dense storefront pages comfortable at 768–900px
   without changing mobile layouts or application behaviour.
   ================================================================== */
html, body { overflow-x: clip; }

@media (min-width: 992px) and (max-height: 900px) {
  .cpg-masthead,
  .cpg-masthead-inner {
    height: 92px !important;
    min-height: 92px !important;
  }

  .cpg-masthead-inner { padding-top: 10px !important; padding-bottom: 10px !important; }
  .cpg-masthead img { max-height: 70px !important; width: auto; object-fit: contain; }

  .navbar.my-class {
    min-height: 56px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  #slider_content {
    height: clamp(480px, calc(100vh - 220px), 560px) !important;
    min-height: 480px !important;
    max-height: 560px !important;
    overflow: hidden;
  }

  #slider_content > *,
  #slider_content .carousel,
  #slider_content .carousel-inner,
  #slider_content .carousel-item,
  #slider_content .slick-list,
  #slider_content .slick-track { height: 100% !important; }

  #slider_content img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  #spotlight_content { padding-top: 24px !important; padding-bottom: 24px !important; }
  .partners.py-5 { padding-top: 14px !important; padding-bottom: 14px !important; }
  .categ-img.py-lg-5 { padding-top: 28px !important; padding-bottom: 28px !important; }

  .project-background {
    min-height: 168px !important;
    height: 168px !important;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  .gold-row.py-5 {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  #main-catalog-container.py-lg-5,
  .main-detail.py-5,
  .what_we_do.py-4 {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  section.bg-light > .container.py-lg-5,
  body > .container.py-lg-5,
  body > .container.py-5,
  main > .container.py-5 {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  .container.pt-lg-5,
  .container.pt-5 { padding-top: 28px !important; }
  .container.pb-lg-5,
  .container.pb-5,
  div.pb-5 { padding-bottom: 32px !important; }

  .section-heading,
  .main-heading,
  .heading-sec { margin-bottom: 24px !important; }

  #contact,
  #contact > .container { min-height: 96px; }

  .main-footer.py-lg-5 {
    padding-top: 30px !important;
    padding-bottom: 26px !important;
  }

  .main-footer > .container.pt-5 { padding-top: 12px !important; }
  .main-footer .row { margin-bottom: 8px; }
}

@media (min-width: 1200px) and (max-height: 780px) {
  #slider_content {
    height: 500px !important;
    min-height: 500px !important;
  }

  .cpg-masthead,
  .cpg-masthead-inner {
    height: 86px !important;
    min-height: 86px !important;
  }

  .project-background { height: 150px !important; min-height: 150px !important; }
  .main-footer.py-lg-5 { padding-top: 24px !important; padding-bottom: 22px !important; }
}

/* Responsive add-to-cart confirmation dialog */
.modal_cart .modal-dialog,
.modal[id*="cart" i] .modal-dialog {
  width: min(520px, calc(100vw - 32px)) !important;
  max-width: min(520px, calc(100vw - 32px)) !important;
  margin: 16px auto !important;
}

.modal_cart .modal-content,
.modal[id*="cart" i] .modal-content {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  box-sizing: border-box;
}

.modal_cart .modal-header,
.modal[id*="cart" i] .modal-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px;
  padding: 14px 18px !important;
  border-bottom-color: rgba(243,223,162,.18) !important;
}

.modal_cart .modal-title,
.modal[id*="cart" i] .modal-title {
  min-width: 0;
  margin: 0 !important;
  color: #faf7f0 !important;
  font-size: clamp(1.08rem,4vw,1.35rem) !important;
  line-height: 1.25;
}

.modal_cart .btn-close,
.modal_cart .close,
.modal[id*="cart" i] .btn-close,
.modal[id*="cart" i] .close {
  flex: 0 0 38px;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center;
  color: #17130c !important;
  background-color: #d4af37 !important;
  border: 0 !important;
  border-radius: 50% !important;
  opacity: 1 !important;
}

.modal_cart .modal-body,
.modal[id*="cart" i] .modal-body {
  min-width: 0;
  padding: 16px 18px !important;
  text-align: center;
  overflow-wrap: anywhere;
}

.modal_cart .modal-body img,
.modal[id*="cart" i] .modal-body img {
  display: block;
  width: auto !important;
  max-width: min(150px, 42vw) !important;
  max-height: 150px !important;
  margin: 0 auto 12px !important;
  object-fit: contain !important;
}

.modal_cart .modal-body h1,
.modal_cart .modal-body h2,
.modal_cart .modal-body h3,
.modal_cart .modal-body h4,
.modal_cart .modal-body h5,
.modal_cart .modal-body .title,
.modal[id*="cart" i] .modal-body h1,
.modal[id*="cart" i] .modal-body h2,
.modal[id*="cart" i] .modal-body h3,
.modal[id*="cart" i] .modal-body h4,
.modal[id*="cart" i] .modal-body h5 {
  max-width: 100%;
  margin: 8px auto !important;
  color: #faf7f0 !important;
  font-size: clamp(1.15rem,5vw,1.65rem) !important;
  line-height: 1.18 !important;
  overflow-wrap: anywhere;
}

.modal_cart .modal-footer,
.modal[id*="cart" i] .modal-footer {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  width: 100%;
  padding: 14px 18px 18px !important;
  border-top-color: rgba(243,223,162,.18) !important;
  box-sizing: border-box;
}

.modal_cart .modal-footer > *,
.modal[id*="cart" i] .modal-footer > * {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px;
  margin: 0 !important;
  padding: 10px 12px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  white-space: normal !important;
  text-align: center;
  line-height: 1.25;
  border-radius: 10px !important;
}

@media (max-width: 420px) {
  .modal_cart .modal-dialog,
  .modal[id*="cart" i] .modal-dialog {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin: 10px auto !important;
  }

  .modal_cart .modal-footer,
  .modal[id*="cart" i] .modal-footer {
    grid-template-columns: 1fr;
    padding: 12px 14px 16px !important;
  }

  .modal_cart .modal-body,
  .modal[id*="cart" i] .modal-body {
    padding: 14px !important;
  }
}

/* Header cart: responsive viewport-level drawer */
body > .modal_cart {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  padding: 0 !important;
  overflow: hidden !important;
  z-index: 1080 !important;
}

body > .modal_cart .modal-dialog-slideout {
  position: relative !important;
  inset: 0 0 auto auto !important;
  width: min(440px, 100vw) !important;
  max-width: min(440px, 100vw) !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  margin: 0 0 0 auto !important;
  transform: translate3d(100%,0,0) !important;
  transition: transform .32s cubic-bezier(.22,1,.36,1) !important;
}

body > .modal_cart.show .modal-dialog-slideout {
  transform: translate3d(0,0,0) !important;
}

body > .modal_cart .modal-content {
  display: grid !important;
  grid-template-rows: auto minmax(0,1fr) auto;
  width: 100% !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow: hidden !important;
  border-width: 0 0 0 1px !important;
  border-radius: 24px 0 0 24px !important;
  background: radial-gradient(circle at 82% 5%,rgba(212,175,55,.15),transparent 18rem),rgba(14,14,17,.97) !important;
}

body > .modal_cart .modal-header {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto auto;
  align-items: center !important;
  gap: 10px;
  min-width: 0;
  padding: 18px !important;
  border-bottom: 1px solid rgba(243,223,162,.16) !important;
}

body > .modal_cart .modal-header .section-title {
  min-width: 0;
  margin: 0 !important;
  color: #faf7f0 !important;
  font-size: clamp(1.35rem,4vw,1.75rem) !important;
  line-height: 1.1;
}

body > .modal_cart #clear_cart {
  margin: 0 !important;
  padding: 8px 11px !important;
  color: #f3dfa2 !important;
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(243,223,162,.18) !important;
  border-radius: 9px !important;
  font-size: .75rem;
  white-space: nowrap;
}

body > .modal_cart .modal-header .btn-close {
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center;
  color: #17130c !important;
  background: linear-gradient(135deg,#f3dfa2,#d4af37) !important;
  border-radius: 50% !important;
  font-size: 0;
}

body > .modal_cart .modal-header .btn-close::before {
  content: "×";
  font: 700 22px/1 Arial,sans-serif;
}

body > .modal_cart .modal-header .btn-close,
.modal:has(.btn_checkout) .modal-header .btn-close,
.modal:has(.btn_checkout) .modal-header .close {
  position: relative !important;
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

body > .modal_cart .modal-header .btn-close::before,
.modal:has(.btn_checkout) .modal-header .btn-close::before,
.modal:has(.btn_checkout) .modal-header .close::before {
  content: "×" !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #17130c !important;
  font: 700 21px/1 Arial, sans-serif !important;
  text-align: center !important;
  transform: none !important;
}

body > .modal_cart .modal-header .btn-close > *,
.modal:has(.btn_checkout) .modal-header .btn-close > *,
.modal:has(.btn_checkout) .modal-header .close > * {
  visibility: hidden !important;
}

/* Restore the gold circle after suppressing Bootstrap's close background asset. */
body > .modal_cart .modal-header .btn-close,
.modal:has(.btn_checkout) .modal-header .btn-close,
.modal:has(.btn_checkout) .modal-header .close {
  color: #17130c !important;
  background-color: #e4bf69 !important;
  background-image: linear-gradient(135deg, #f3dfa2 0%, #e4bf69 48%, #d4af37 100%) !important;
  border: 1px solid rgba(255, 255, 255, .3) !important;
  border-radius: 50% !important;
  box-shadow: 0 7px 18px rgba(212, 175, 55, .26) !important;
  opacity: 1 !important;
}

body > .modal_cart .modal-body {
  min-height: 0;
  padding: 14px 18px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

body > .modal_cart .modal-body img {
  max-width: 74px !important;
  max-height: 74px !important;
  object-fit: contain;
}

body > .modal_cart .footer-mpdal {
  width: 100%;
  padding: 14px 18px 18px !important;
  color: #faf7f0;
  background: rgba(255,255,255,.035);
  border-top: 1px solid rgba(243,223,162,.16);
}

body > .modal_cart .footer-mpdal table {
  width: 100% !important;
  margin: 0 0 12px !important;
  color: #faf7f0 !important;
  background: transparent !important;
}

body > .modal_cart .footer-mpdal td,
body > .modal_cart .footer-mpdal strong,
body > .modal_cart .footer-mpdal .price {
  color: #faf7f0 !important;
  background: transparent !important;
  border-color: rgba(255,255,255,.08) !important;
}

body > .modal_cart .footer-btn .btn {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px !important;
}

@media (max-width: 575.98px) {
  body > .modal_cart .modal-dialog-slideout {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  body > .modal_cart .modal-content {
    border-left: 0 !important;
    border-radius: 0 !important;
  }

  body > .modal_cart .modal-header {
    grid-template-columns: minmax(0,1fr) auto;
    padding: 14px !important;
  }

  body > .modal_cart #clear_cart {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: start;
  }

  body > .modal_cart .modal-body,
  body > .modal_cart .footer-mpdal {
    padding-inline: 14px !important;
  }
}

/* Product add-to-cart modal uses generated exampleModal* IDs. */
.modal:has(.btn_checkout) .modal-dialog {
  width: min(520px, calc(100vw - 32px)) !important;
  max-width: min(520px, calc(100vw - 32px)) !important;
  margin: 16px auto !important;
}

.modal:has(.btn_checkout) .modal-content {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border-radius: 22px !important;
}

.modal:has(.btn_checkout) .modal-header {
  padding: 14px 18px !important;
}

.modal:has(.btn_checkout) .icon-check {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
}

.modal:has(.btn_checkout) .modal-body {
  padding: 16px 18px !important;
}

.modal:has(.btn_checkout) .modal-body .row {
  margin: 0 !important;
}

.modal:has(.btn_checkout) .modal-body h3 {
  max-width: 100%;
  margin: 8px auto 0 !important;
  color: #faf7f0 !important;
  font-size: clamp(1.2rem, 5vw, 1.65rem) !important;
  line-height: 1.18 !important;
  overflow-wrap: anywhere;
}

.modal:has(.btn_checkout) .modal-footer {
  display: block !important;
  width: 100%;
  padding: 14px 18px 18px !important;
}

.modal:has(.btn_checkout) .modal-footer .my-dis {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) minmax(0,1fr);
  align-items: stretch !important;
  gap: 10px;
  width: 100%;
  margin: 0 !important;
  padding-top: 0 !important;
}

.modal:has(.btn_checkout) .modal-footer .my-dis > * {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px;
  margin: 0 !important;
  padding: 10px 12px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  white-space: normal !important;
  text-align: center;
  line-height: 1.2;
  border-radius: 10px !important;
}

@media (max-width: 420px) {
  .modal:has(.btn_checkout) .modal-dialog {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    margin: 10px auto !important;
  }

  .modal:has(.btn_checkout) .modal-footer .my-dis {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .modal:has(.btn_checkout) .modal-footer .popup_qty {
    grid-column: 1 / -1;
    min-height: 40px;
  }
}

/* Keep live-chart legend values readable at compact browser widths. */
body .live-legend-item {
  min-width: 0;
  overflow: hidden;
}

body .live-legend-item > span:nth-child(2),
body .live-legend-item strong {
  min-width: 0;
  white-space: nowrap;
}

body .live-legend-item > span:nth-child(2) {
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 767.98px) {
  body .live-chart-legend {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body .live-legend-item {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 5px 7px;
    padding: 8px 9px;
  }

  body .live-legend-item strong,
  body .live-legend-item small {
    grid-column: 2;
    text-align: left;
  }
}

/* Final mobile-header guard: keep every control in one non-overlapping row. */
@media screen and (max-width: 575.98px) {
  body #myHeader nav.navbar > .container {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 7px !important;
    width: 100% !important;
    padding: 5px 8px !important;
  }

  body #myHeader nav.navbar .navbar-toggler {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 7px !important;
  }

  body #myHeader nav.navbar .elementor-cart {
    position: static !important;
    inset: auto !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(68px, 78px) 44px minmax(82px, 1fr) !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body #myHeader nav.navbar .navbar-collapse {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  body #myHeader nav.navbar #currencyForm,
  body #myHeader nav.navbar #currency {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body #myHeader nav.navbar .cart_box {
    width: 44px !important;
    min-width: 44px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body #myHeader nav.navbar .ct_button,
  body #myHeader nav.navbar .ct-button-layout1,
  body #myHeader nav.navbar .ct-button-layout1 > a {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body #myHeader nav.navbar .elementor-cart > div:not(.ct_button):has(> img:only-child) {
    display: none !important;
  }
}

/* Keep homepage spotlight banners below, not over, the desktop hero. */
@media screen and (min-width: 768px) {
  body #slider_content {
    position: relative !important;
    z-index: 1 !important;
    margin-bottom: 0 !important;
  }

  body #spotlight_content {
    position: relative !important;
    z-index: 2 !important;
    top: auto !important;
    transform: none !important;
    margin-top: 54px !important;
    clear: both;
  }

  body #spotlight_content .borderBlock {
    position: relative !important;
    top: auto !important;
    transform: none !important;
  }
}

@media screen and (min-width: 768px) and (max-height: 800px) {
  body #slider_content {
    height: clamp(300px, 49vh, 370px) !important;
  }

  body #slider_content .owl-carousel,
  body #slider_content .owl-stage-outer,
  body #slider_content .owl-stage,
  body #slider_content .owl-item,
  body #slider_content .img-width,
  body #slider_content .new-image,
  body #slider_content .cover-rgb {
    height: 100% !important;
    min-height: 0 !important;
  }
}

/* Preserve the overlapping promo layout, but keep its cards clear of the hero CTA. */
@media screen and (min-width: 992px) and (max-height: 800px) {
  body #slider_content .title_heading {
    transform: translateY(-36px) !important;
  }

  body #spotlight_content {
    margin-top: -40px !important;
  }

  body #spotlight_content img,
  body #spotlight_content .spotlight-img,
  body #spotlight_content .anime-skalaton {
    width: 100%;
    object-fit: cover !important;
    object-position: center center !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  body #spotlight_content .row > [class*="col-"]:nth-child(2) img,
  body #spotlight_content .row > [class*="col-"]:nth-child(2) .spotlight-img,
  body #spotlight_content .row > [class*="col-"]:nth-child(2) .anime-skalaton {
    object-position: center center !important;
  }
}

/* Homepage layout: clear, compact sections inspired by the supplied reference. */
body:has(#slider_content) {
  background: #f7f4ec;
}

body:has(#slider_content) #slider_content {
  border: 1px solid rgba(212, 175, 55, .48) !important;
  box-shadow: 0 16px 40px rgba(22, 19, 13, .13) !important;
}

body:has(#slider_content) #spotlight_content {
  border-radius: 16px;
}

body:has(#slider_content) .partners {
  background: #fffdf8 !important;
  border-top: 1px solid #e8e0ce;
  border-bottom: 1px solid #e8e0ce !important;
}

body:has(#slider_content) .partners .row > div {
  padding: 14px 12px;
}

body:has(#slider_content) .categ-img {
  padding-top: clamp(28px, 4vw, 54px) !important;
  padding-bottom: clamp(28px, 4vw, 54px) !important;
}

body:has(#slider_content) .category__item .main_services > a {
  display: block;
  height: 100%;
  padding: 10px;
  border: 1px solid #e8e0ce;
  border-radius: 14px;
  background: #fffdf8;
  box-shadow: 0 5px 18px rgba(22, 19, 13, .05);
}

body:has(#slider_content) .category__item .product-img {
  border-radius: 10px;
}

body:has(#slider_content) .bg-light:has(.about_img) {
  background: #eee7d6 !important;
  border-top: 1px solid #e4d9bd;
  border-bottom: 1px solid #e4d9bd;
}

body:has(#slider_content) .container.py-lg-5:has(.product_slider) {
  margin-top: 26px;
  margin-bottom: 26px;
  padding: clamp(20px, 3vw, 40px) !important;
  border: 1px solid #e8e0ce;
  border-radius: 18px;
  background: #fffdf8;
  box-shadow: 0 10px 32px rgba(22, 19, 13, .06);
}

body:has(#slider_content) .container.py-lg-5:has(.product_slider) .title {
  color: #171715 !important;
  font-size: clamp(1.35rem, 2vw, 1.9rem) !important;
  font-weight: 700;
}

body:has(#slider_content) .featured-product {
  height: 100%;
  overflow: hidden;
  border: 1px solid #e8e0ce !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 5px 18px rgba(22, 19, 13, .06) !important;
}

body:has(#slider_content) .featured-product .top-card-item {
  height: 100%;
}

body:has(#slider_content) .container.py-2.pb-lg-4 {
  padding-top: 32px !important;
  padding-bottom: 40px !important;
}

body:has(#slider_content) #contact {
  margin-top: 20px;
}

@media screen and (max-width: 767.98px) {
  body:has(#slider_content) #spotlight_content {
    margin-top: 14px !important;
  }

  body:has(#slider_content) .partners .row > div {
    padding: 10px 8px;
  }

  body:has(#slider_content) .category__item {
    gap: 10px 0;
  }

  body:has(#slider_content) .container.py-lg-5:has(.product_slider) {
    width: calc(100% - 20px);
    margin-top: 16px;
    margin-bottom: 16px;
    padding: 18px 12px !important;
    border-radius: 14px;
  }
}

/* New homepage sections use the existing charcoal, ivory and gold identity. */
body:has(#slider_content) .home-explore-section,
body:has(#slider_content) .home-services-section,
body:has(#slider_content) .home-why-section,
body:has(#slider_content) .home-location-section {
  width: min(1220px, calc(100% - 40px));
  margin-inline: auto;
}

body:has(#slider_content) .home-explore-section {
  margin-top: 28px;
  padding: 22px 26px 18px;
  border: 1px solid #e7dfca;
  border-radius: 16px 16px 0 0;
  background: #fffdf8;
}

body:has(#slider_content) .home-shop-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  margin: -22px -26px 22px;
  border-bottom: 1px solid #e7dfca;
  border-radius: 16px 16px 0 0;
}

body:has(#slider_content) .home-shop-tabs a {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  color: #39362e;
  background: #f4f0e6;
  font-size: .84rem;
  font-weight: 750;
  text-decoration: none;
}

body:has(#slider_content) .home-shop-tabs a + a {
  border-left: 1px solid #e7dfca;
}

body:has(#slider_content) .home-shop-tabs a.is-active {
  color: #f4dfa0;
  background: #171715;
}

body:has(#slider_content) .home-explore-heading,
body:has(#slider_content) .home-location-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

body:has(#slider_content) .home-eyebrow {
  margin: 0 0 7px;
  color: #9a7425 !important;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
}

body:has(#slider_content) .home-explore-heading h2,
body:has(#slider_content) .home-section-heading h2,
body:has(#slider_content) .home-why-section h2,
body:has(#slider_content) .home-location-heading h2 {
  margin: 0;
  color: #171715 !important;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  font-weight: 700;
  letter-spacing: -.035em;
}

body:has(#slider_content) .home-explore-heading > a,
body:has(#slider_content) .home-location-heading > a {
  color: #29251c;
  font-size: .84rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

body:has(#slider_content) .home-category-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 17px;
}

body:has(#slider_content) .home-category-pills a {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  border: 1px solid #e6dfd0;
  border-radius: 999px;
  color: #39362e;
  background: #fff;
  font-size: .78rem;
  font-weight: 650;
  text-decoration: none;
  transition: .2s ease;
}

body:has(#slider_content) .home-category-pills a:hover,
body:has(#slider_content) .home-category-pills a.is-active {
  border-color: #171715;
  color: #f4dfa0;
  background: #171715;
}

body:has(#slider_content) .home-explore-section + .categ-img {
  width: min(1220px, calc(100% - 40px));
  margin: 0 auto;
  padding: 18px 18px 24px !important;
  border: 1px solid #e7dfca;
  border-top: 0;
  border-radius: 0 0 16px 16px;
  background: #fffdf8;
}

body:has(#slider_content) .home-services-section {
  margin-top: 32px;
  margin-bottom: 38px;
}

body:has(#slider_content) .home-section-heading {
  margin-bottom: 16px;
}

body:has(#slider_content) .home-services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body:has(#slider_content) .home-service-card {
  display: flex;
  min-height: 210px;
  flex-direction: column;
  padding: 20px;
  border: 1px solid #e8e0ce;
  border-radius: 14px;
  color: #25231e;
  background: linear-gradient(145deg, #fffdf8, #f2ecdc);
  box-shadow: 0 7px 22px rgba(22, 19, 13, .05);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

body:has(#slider_content) .home-service-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(22, 19, 13, .1);
}

body:has(#slider_content) .home-service-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  margin-bottom: 19px;
  border-radius: 50%;
  color: #171715;
  background: #e5c46c;
  font-size: .72rem;
  font-weight: 800;
}

body:has(#slider_content) .home-service-card h3 {
  margin: 0 0 7px;
  color: #171715 !important;
  font-size: 1rem;
  font-weight: 750;
}

body:has(#slider_content) .home-service-card p {
  margin: 0 0 16px;
  color: #69645a;
  font-size: .84rem;
  line-height: 1.55;
}

body:has(#slider_content) .home-service-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #e2d8c0;
  color: #6d5014;
  font-size: .78rem;
  font-weight: 750;
}

body:has(#slider_content) .home-why-section {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: clamp(24px, 6vw, 80px);
  align-items: center;
  margin-top: 28px;
  margin-bottom: 28px;
  padding: clamp(24px, 5vw, 58px);
  border: 1px solid #d9c89d;
  border-radius: 18px;
  background: #eee7d6;
}

body:has(#slider_content) .home-why-copy > p:not(.home-eyebrow) {
  max-width: 570px;
  margin: 14px 0 22px;
  color: #5d594f;
  line-height: 1.7;
}

body:has(#slider_content) .home-outline-link {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  padding: 10px 15px;
  border: 1px solid #8b6a25;
  border-radius: 7px;
  color: #372a0d;
  font-size: .82rem;
  font-weight: 750;
  text-decoration: none;
}

body:has(#slider_content) .home-why-points {
  display: grid;
  gap: 10px;
}

body:has(#slider_content) .home-why-points > div {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 14px;
  align-items: start;
  padding: 15px;
  border: 1px solid rgba(140, 110, 47, .2);
  border-radius: 10px;
  background: rgba(255, 253, 248, .72);
}

body:has(#slider_content) .home-why-points span {
  color: #9a7425;
  font-size: .74rem;
  font-weight: 850;
}

body:has(#slider_content) .home-why-points p {
  margin: 0;
  color: #48443b;
  font-size: .86rem;
  line-height: 1.55;
}

body:has(#slider_content) .home-location-section {
  margin-top: 28px;
  margin-bottom: 40px;
  padding: clamp(20px, 4vw, 38px);
  border: 1px solid #e8e0ce;
  border-radius: 18px;
  background: #fffdf8;
}

body:has(#slider_content) .home-location-heading > div > p:last-child {
  margin: 10px 0 0;
  color: #666157;
  font-size: .9rem;
}

body:has(#slider_content) .home-location-map {
  position: relative;
  display: flex;
  min-height: 280px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-top: 22px;
  border: 1px solid rgba(197, 160, 74, .24);
  border-radius: 13px;
  background-color: #e9e2d2;
  background-image: linear-gradient(30deg, transparent 48%, rgba(130, 111, 72, .09) 49%, rgba(130, 111, 72, .09) 51%, transparent 52%), linear-gradient(150deg, transparent 48%, rgba(130, 111, 72, .08) 49%, rgba(130, 111, 72, .08) 51%, transparent 52%);
  background-size: 76px 76px;
}

body:has(#slider_content) .home-map-grid {
  position: absolute;
  inset: 0;
  opacity: .45;
  background: repeating-linear-gradient(0deg, transparent 0 56px, rgba(104, 89, 59, .12) 57px 59px, transparent 60px 118px), repeating-linear-gradient(90deg, transparent 0 84px, rgba(104, 89, 59, .1) 85px 87px, transparent 88px 168px);
}

body:has(#slider_content) .home-map-pin {
  position: absolute;
  top: 42%;
  left: 52%;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 4px solid #fffdf8;
  border-radius: 50% 50% 50% 0;
  color: #171715;
  background: #d4af37;
  box-shadow: 0 5px 18px rgba(23, 23, 21, .2);
  transform: translate(-50%, -50%) rotate(-45deg);
}

body:has(#slider_content) .home-map-pin::first-letter {
  transform: rotate(45deg);
}

body:has(#slider_content) .home-map-label {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 3px;
  margin: 96px 0 0 80px;
  padding: 12px 16px;
  border: 1px solid #e5dac0;
  border-radius: 9px;
  color: #26231c;
  background: #fffdf8;
  box-shadow: 0 5px 16px rgba(23, 23, 21, .1);
  font-size: .8rem;
}

body:has(#slider_content) .home-map-label span {
  color: #716a5b;
  font-size: .74rem;
}

@media screen and (max-width: 900px) {
  body:has(#slider_content) .home-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 575.98px) {
  body:has(#slider_content) .home-explore-section,
  body:has(#slider_content) .home-services-section,
  body:has(#slider_content) .home-why-section,
  body:has(#slider_content) .home-location-section {
    width: calc(100% - 24px);
  }

  body:has(#slider_content) .home-explore-section {
    margin-top: 18px;
    padding: 18px 14px 14px;
  }

  body:has(#slider_content) .home-shop-tabs {
    margin: -18px -14px 18px;
  }

  body:has(#slider_content) .home-explore-heading,
  body:has(#slider_content) .home-location-heading {
    align-items: start;
    flex-direction: column;
    gap: 10px;
  }

  body:has(#slider_content) .home-explore-section + .categ-img {
    width: calc(100% - 24px);
    padding: 14px 10px 18px !important;
  }

  body:has(#slider_content) .home-services-grid {
    grid-template-columns: 1fr;
  }

  body:has(#slider_content) .home-service-card {
    min-height: 0;
    padding: 18px;
  }

  body:has(#slider_content) .home-why-section {
    grid-template-columns: 1fr;
    padding: 22px 17px;
  }

  body:has(#slider_content) .home-location-map {
    min-height: 220px;
  }
}


/* Final cart drawer sizing: slim fixed bars and responsive item cards. */
body > .modal_cart .modal-header {
  min-height: 64px !important;
  padding: 12px 16px !important;
}

body > .modal_cart .footer-mpdal {
  padding: 10px 16px 12px !important;
}

body > .modal_cart .footer-mpdal table {
  margin-bottom: 8px !important;
}

body > .modal_cart .footer-btn .btn {
  min-height: 44px !important;
}

@media (max-width: 575.98px) {
  body > .modal_cart .modal-header {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    min-height: 58px !important;
    padding: 9px 12px !important;
    gap: 7px !important;
  }

  body > .modal_cart .modal-header .section-title {
    font-size: 1.18rem !important;
  }

  body > .modal_cart #clear_cart {
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: auto !important;
    padding: 7px 8px !important;
    font-size: .67rem !important;
  }

  body > .modal_cart .modal-header .btn-close {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
  }

  body > .modal_cart .modal-body {
    padding: 10px 12px !important;
  }

  body > .modal_cart .footer-mpdal {
    padding: 8px 12px 10px !important;
  }

  body > .modal_cart .footer-mpdal table {
    margin-bottom: 6px !important;
  }

  body > .modal_cart .footer-btn .btn {
    min-height: 42px !important;
  }
}

/* Cart drawer contrast: keep all dynamically loaded cart text readable. */
body > .modal_cart,
body > .modal_cart .modal-content,
body > .modal_cart .modal-body,
body > .modal_cart .modal-body table,
body > .modal_cart .modal-body tbody,
body > .modal_cart .modal-body tr,
body > .modal_cart .modal-body td {
  color: #faf7f0 !important;
}

body > .modal_cart .modal-body td,
body > .modal_cart .modal-body td a,
body > .modal_cart .modal-body td span,
body > .modal_cart .modal-body td strong,
body > .modal_cart .modal-body .product-name,
body > .modal_cart .modal-body .price {
  color: #faf7f0 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body > .modal_cart .modal-body td::before,
body > .modal_cart .modal-body [data-label]::before {
  color: #d4af37 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

body > .modal_cart .modal-body input,
body > .modal_cart .modal-body select {
  color: #17130c !important;
  background: #faf7f0 !important;
  border-color: rgba(212, 175, 55, .55) !important;
}

body > .modal_cart .modal-body .text-muted,
body > .modal_cart .modal-body small,
body > .modal_cart .modal-body .empty-cart,
body > .modal_cart .modal-body .empty_cart {
  color: rgba(250, 247, 240, .72) !important;
  opacity: 1 !important;
}

body > .modal_cart .footer-mpdal,
body > .modal_cart .footer-mpdal table,
body > .modal_cart .footer-mpdal td,
body > .modal_cart .footer-mpdal strong,
body > .modal_cart .footer-mpdal span,
body > .modal_cart .footer-mpdal .price {
  color: #faf7f0 !important;
  opacity: 1 !important;
}

body > .modal_cart .footer-btn .btn,
body > .modal_cart .footer-btn a {
  color: #17130c !important;
  background: linear-gradient(135deg, #f3dfa2, #d4af37) !important;
  border-color: #d4af37 !important;
  font-weight: 800 !important;
}

/* Contact page: readable cinematic hero and responsive glass contact cards. */
.project-background:has(.heading-web) {
  position: relative;
  min-height: clamp(190px, 23vw, 300px);
  display: grid;
  place-items: center;
  overflow: visible;
  isolation: isolate;
}

.project-background:has(.heading-web)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(7, 8, 9, .76), rgba(11, 11, 15, .48), rgba(7, 8, 9, .78));
}

.project-background:has(.heading-web) > .about-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  place-items: center;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.project-background:has(.heading-web) .about-bg > .row {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.project-background:has(.heading-web) .heading-web {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 20px !important;
}

.project-background:has(.heading-web) .shape-background,
.project-background:has(.heading-web) [class*="slider-one__shape-"] {
  display: none !important;
  background-image: none !important;
}

.project-background .heading-web,
.project-background .heading-web h1 {
  color: #faf7f0 !important;
  text-shadow: 0 3px 20px rgba(0, 0, 0, .8) !important;
}

.project-background .heading-web h1 {
  margin: 0 !important;
  font-size: clamp(2rem, 4vw, 3.5rem) !important;
  font-weight: 600 !important;
}

.project-background .heading-web::after {
  content: "";
  display: block;
  width: 74px;
  height: 2px;
  margin: 14px auto 0;
  background: linear-gradient(90deg, transparent, #f3dfa2, #d4af37, transparent);
}

.project-background + .container .row:has(.work-block) {
  align-items: stretch;
  row-gap: 18px;
}

.project-background + .container .col-sm-4:has(.work-block) {
  display: flex;
}

.project-background + .container .work-block {
  width: 100%;
  min-height: 210px;
  padding: clamp(24px, 3vw, 36px) 20px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #faf7f0 !important;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0, rgba(212, 175, 55, .2), transparent 55%),
    linear-gradient(145deg, rgba(22, 22, 25, .96), rgba(11, 11, 15, .92)) !important;
  border: 1px solid rgba(243, 223, 162, .28) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 45px rgba(11, 11, 15, .18), inset 0 1px rgba(255, 255, 255, .08) !important;
  backdrop-filter: blur(18px) saturate(125%);
}

.project-background + .container .work-block a,
.project-background + .container .work-block h4,
.project-background + .container .work-block label,
.project-background + .container .work-block span,
.project-background + .container .work-block p {
  color: #faf7f0 !important;
  opacity: 1 !important;
}

.project-background + .container .work-block h4 {
  margin: 14px 0 6px !important;
  color: #f3dfa2 !important;
  font-size: 1.25rem !important;
}

.project-background + .container .work-block > a:first-child {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  color: #17130c !important;
  background: linear-gradient(135deg, #f3dfa2, #d4af37) !important;
  border-radius: 50%;
  box-shadow: 0 10px 28px rgba(212, 175, 55, .25);
}

.project-background + .container .work-block img,
.project-background + .container .work-block svg {
  max-width: 26px !important;
  max-height: 26px !important;
}

.project-background + .container .work-block > a:first-child {
  place-items: center !important;
  line-height: 1 !important;
}

.project-background + .container .work-block > a:first-child .mini_logo {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.project-background + .container .work-block > a:first-child .mini_logo svg,
.project-background + .container .work-block > a:first-child .mini_logo img {
  position: static !important;
  width: 25px !important;
  height: 25px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  transform: none !important;
}

@media (max-width: 575.98px) {
  .project-background:has(.heading-web) {
    min-height: 165px !important;
  }

  .project-background + .container .row:has(.work-block) {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .project-background + .container .col-sm-4:has(.work-block) {
    width: 100% !important;
    max-width: none !important;
  }

  .project-background + .container .work-block {
    min-height: 170px;
    padding: 22px 16px !important;
  }
}

/* Contact cards: avoid squeezed three-column layouts on phones and portrait tablets. */
@media (max-width: 767.98px) {
  .project-background + .container .row:has(.work-block) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    margin-inline: 0 !important;
  }

  .project-background + .container .col-sm-4:has(.work-block) {
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
  }

  .project-background + .container .work-block {
    width: 100% !important;
    min-height: 210px !important;
    padding: 24px 18px !important;
    overflow-wrap: anywhere;
  }

  .project-background + .container .work-block a,
  .project-background + .container .work-block span,
  .project-background + .container .work-block label {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .project-background + .container .row:has(.work-block) {
    gap: 0 !important;
  }

  .project-background + .container .work-block {
    min-height: 225px;
    padding-inline: 14px !important;
  }
}
