
/* ============================================================
   STONELLE JEWELS — COMPLETE BRAND THEME
   Source of truth: Stonelle Jewels Brand Design.pdf
   Deep Royal Purple: #551756
   Off-White / Cream: #EFEBe1
   Typography direction: Carena (display) + Satoshi Variables (UI/body)
   This file is loaded last and changes presentation only. It does not
   alter PHP data fetching, image paths, AJAX, cart, checkout or payment logic.
   ============================================================ */
:root {
  --sj-purple:#551756;
  --sj-purple-dark:#3b103c;
  --sj-purple-deep:#2d0b2e;
  --sj-purple-soft:#6d286e;
  --sj-cream:#efebe1;
  --sj-cream-2:#f7f4ed;
  --sj-white:#fffdf9;
  --sj-ink:#241c25;
  --sj-muted:#6e6470;
  --sj-border:rgba(85,23,86,.18);
  --sj-border-strong:rgba(85,23,86,.32);
  --sj-shadow:0 12px 35px rgba(42,8,43,.10);
  --sj-shadow-soft:0 5px 18px rgba(42,8,43,.08);
  --sj-radius:0px;
  --sj-transition:all .25s ease;
}

html { scroll-behavior:smooth; }
body,
body * { box-sizing:border-box; }
body {
  background:var(--sj-white) !important;
  color:var(--sj-ink) !important;
  font-family:"Satoshi", "Satoshi Variable", "Helvetica Neue", Arial, sans-serif !important;
  font-size:15px;
  line-height:1.65;
  letter-spacing:.01em;
}

/* Brand typography */
h1,h2,h3,h4,h5,h6,
.section-heading,.section-title,.own-heading,
.page-title,.heading-color,.heading-weight,
.title,.sub-title,.hero-title,.banner-title {
  color:var(--sj-purple) !important;
  font-family:"Carena", "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  letter-spacing:.02em;
}
h1 { font-size:clamp(34px,4vw,58px); line-height:1.08; }
h2 { font-size:clamp(28px,3vw,44px); line-height:1.12; }
h3 { font-size:clamp(22px,2vw,32px); line-height:1.2; }
h4,h5,h6 { line-height:1.3; }
p,li,label,input,select,textarea,button,option,
a,span,small,strong,em,table,td,th {
  font-family:"Satoshi", "Satoshi Variable", "Helvetica Neue", Arial, sans-serif !important;
}

/* Links */
a, a:not([class]) {
  color:var(--sj-purple) !important;
  text-decoration-color:rgba(85,23,86,.3);
  transition:var(--sj-transition);
}
a:hover, a:focus-visible { color:var(--sj-purple-dark) !important; }

/* Global surfaces */
.bg-white,.white-bg,.extra-bg,.beb { background-color:var(--sj-cream-2) !important; }
.foot-bg { background-color:var(--sj-purple) !important; }
.bg-dark,.dark-bg { background-color:var(--sj-purple) !important; }
.text-white { color:var(--sj-cream) !important; }
.text-dark,.body-color { color:var(--sj-ink) !important; }
.heading-color { color:var(--sj-purple) !important; }
.dominant-color { color:var(--sj-purple) !important; }

/* Header / navigation */
header, .header, .site-header, .main-header, .header-area,
.navbar, .nav-bar, .navigation, .header-menu {
  background:var(--sj-white) !important;
  color:var(--sj-purple) !important;
}
.top-bar { background:var(--sj-purple) !important; color:var(--sj-cream) !important; }
.top-bar a,.top-bar span,.top-bar button { color:var(--sj-cream) !important; }
.bobo_head, header, .header-area { border-color:var(--sj-border) !important; }
.nav-bar ul li, .nav-bar ul li a,
.navbar-nav .nav-link, .nav-link,
.navigation a, .main-menu a {
  color:var(--sj-purple) !important;
  font-weight:600 !important;
  letter-spacing:.12em !important;
}
.nav-bar ul li:hover, .nav-bar ul li a:hover,
.navbar-nav .nav-link:hover, .nav-link:hover { color:var(--sj-purple-soft) !important; }

/* Preserve logo/image fetching while ensuring brand proportions */
.head_logo, .footer-logo img, .navbar-brand img, .navbar-brand {
  object-fit:contain !important;
  object-position:center !important;
}
.head_logo { max-height:72px; }
.footer-logo img { max-height:75px; width:auto; }

/* Mega menus / dropdowns */
.custom-dropdown,.dropdown-menu,.mega-menu,.mega-content,.mega-contents,
.offcanvas,.search-drawer,.cart-drawer,.quick-view-modal,.modal-content,
.modal-dialog .modal-content {
  background:var(--sj-white) !important;
  color:var(--sj-ink) !important;
  border-color:var(--sj-border) !important;
  box-shadow:var(--sj-shadow) !important;
}
.custom-dropdown div:hover,.dropdown-item:hover,
.mega-contents a:hover,.mega-menu a:hover { background:var(--sj-cream) !important; color:var(--sj-purple) !important; }
.mega-contents h2,.mega-contents h3 { color:var(--sj-purple) !important; }

/* Buttons — every common button pattern */
button,
.btn,
button[type="submit"],button[type="button"],input[type="submit"],input[type="button"],
.btn-style,.erp-btn-primary,.primary-btn,.secondary-btn,
.add-to-cart,.add-cart,.quick-add,.shop-btn,.buy-now,
.view-button a,.action-button {
  background:var(--sj-purple) !important;
  color:var(--sj-cream) !important;
  border:1px solid var(--sj-purple) !important;
  border-radius:2px !important;
  box-shadow:none !important;
  min-height:44px;
  padding:11px 24px !important;
  font-weight:600 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase;
  transition:var(--sj-transition) !important;
}
button:hover,.btn:hover,button:focus-visible,.btn:focus-visible,
.btn-style:hover,.primary-btn:hover,.secondary-btn:hover,
.add-to-cart:hover,.add-cart:hover,.quick-add:hover,.shop-btn:hover,.buy-now:hover {
  background:var(--sj-purple-dark) !important;
  color:var(--sj-cream) !important;
  border-color:var(--sj-purple-dark) !important;
  transform:translateY(-1px);
}
.secondary-btn,
.btn-outline,.outline-btn,.btn-secondary {
  background:transparent !important;
  color:var(--sj-purple) !important;
  border-color:var(--sj-purple) !important;
}
.secondary-btn:hover,.btn-outline:hover,.outline-btn:hover,.btn-secondary:hover {
  background:var(--sj-purple) !important;
  color:var(--sj-cream) !important;
}

/* Inputs / forms */
input,select,textarea,.form-control,.form-select,
.custom-select,.nice-select,.select2-container .select2-selection--single {
  background:var(--sj-white) !important;
  color:var(--sj-ink) !important;
  border:1px solid var(--sj-border-strong) !important;
  border-radius:1px !important;
  box-shadow:none !important;
  min-height:44px;
}
input:focus,select:focus,textarea:focus,.form-control:focus,.form-select:focus {
  border-color:var(--sj-purple) !important;
  box-shadow:0 0 0 3px rgba(85,23,86,.10) !important;
  outline:none !important;
}
input::placeholder,textarea::placeholder { color:#938a94 !important; }
label,.form-label { color:var(--sj-purple) !important; font-weight:600 !important; }

/* Product / collection / blog cards */
.product-card,.product-item,.product-block,.product-grid-item,
.collection-card,.collection-item,.blog-card,.article-card,
.card,.item-product,.single-product,
.product-info,.product-content {
  background:var(--sj-white) !important;
  border-color:var(--sj-border) !important;
}
.product-card:hover,.product-item:hover,.collection-card:hover,.blog-card:hover,
.card:hover { box-shadow:var(--sj-shadow-soft) !important; }
.product-card .product-title,.product-title,.product-name,
.collection-title,.blog-title,.article-title {
  color:var(--sj-purple) !important;
  font-family:"Carena", "Cormorant Garamond", Georgia, serif !important;
}
.product-price,.price,.current-price,.special-price { color:var(--sj-purple) !important; font-weight:700 !important; }
.old-price,.compare-price { color:var(--sj-muted) !important; }
.badge,.product-badge,.sale-badge,.new-badge,.tag {
  background:var(--sj-purple) !important;
  color:var(--sj-cream) !important;
  border-radius:1px !important;
}

/* Hero / banners */
.hero,.hero-section,.banner,.banner-section,.page-banner,
.slideshow,.slider-section,.breadcrumb-area {
  border-color:var(--sj-border) !important;
}
.hero-content,.banner-content { color:var(--sj-cream); }
.hero h1,.hero h2,.hero h3,.banner h1,.banner h2,.banner h3 { color:var(--sj-cream) !important; }
.breadcrumb a,.breadcrumb span { color:var(--sj-purple) !important; }

/* Cards, panels, accordions, tabs */
.accordion-item,.accordion-header,.accordion-body,
.tab-content,.nav-tabs,.nav-tabs .nav-link,
.panel,.panel-body,.info-box,.summary-box,.order-box,
.profile-box,.wishlist-box,.cart-summary,.checkout-box {
  background:var(--sj-white) !important;
  border-color:var(--sj-border) !important;
  color:var(--sj-ink) !important;
}
.accordion-button { color:var(--sj-purple) !important; background:var(--sj-cream-2) !important; }
.accordion-button:not(.collapsed) { color:var(--sj-cream) !important; background:var(--sj-purple) !important; }
.nav-tabs .nav-link.active,.tabs .active { color:var(--sj-cream) !important; background:var(--sj-purple) !important; border-color:var(--sj-purple) !important; }

/* Tables */
table { color:var(--sj-ink) !important; border-color:var(--sj-border) !important; }
thead,th { background:var(--sj-purple) !important; color:var(--sj-cream) !important; }
td { border-color:var(--sj-border) !important; background:var(--sj-white) !important; }
tbody tr:hover td { background:var(--sj-cream-2) !important; }

/* Cart / wishlist / checkout / order */
.cart-drawer,.cart-drawer-content,.quick-cart,
.checkout-summary,.order-summary,.wishlist-drawer {
  background:var(--sj-white) !important;
  border-color:var(--sj-border) !important;
}
.cart-count,.wishlist-count,.number_c_w_ref1,.number_c_w_ref2 { background:var(--sj-purple) !important; color:var(--sj-cream) !important; }
.quantity button,.qty-btn,.quantity-selector button { background:var(--sj-cream) !important; color:var(--sj-purple) !important; border-color:var(--sj-border) !important; }

/* Alerts / statuses */
.alert,.toast,.notification,.status,
.alert-success,.alert-danger,.alert-warning,.alert-info {
  border-radius:1px !important;
  border-color:var(--sj-border) !important;
}
.alert-success { background:#f0f5ed !important; color:#355c3a !important; }
.alert-danger { background:#f8eded !important; color:#7a2e38 !important; }
.alert-warning { background:#faf4e5 !important; color:#765b19 !important; }
.alert-info { background:var(--sj-cream) !important; color:var(--sj-purple) !important; }

/* Pagination / breadcrumbs / links */
.pagination .page-link,.page-link { color:var(--sj-purple) !important; border-color:var(--sj-border) !important; background:var(--sj-white) !important; }
.pagination .active .page-link,.page-item.active .page-link { background:var(--sj-purple) !important; color:var(--sj-cream) !important; border-color:var(--sj-purple) !important; }

/* Footer */
#footer,.footer-area,.footer-top,.copyright { background:var(--sj-purple) !important; color:var(--sj-cream) !important; }
#footer h2,#footer h3,#footer h4,#footer h5,#footer h6,
#footer p,#footer li,#footer span,#footer a,#footer .sub-title,
#footer .section-heading { color:var(--sj-cream) !important; }
#footer a:hover { color:#fff !important; }
#footer input { background:transparent !important; color:var(--sj-cream) !important; border-color:rgba(239,235,225,.5) !important; }
#footer input::placeholder { color:rgba(239,235,225,.75) !important; }
#footer button { background:var(--sj-cream) !important; color:var(--sj-purple) !important; border-color:var(--sj-cream) !important; }
#footer button:hover { background:var(--sj-white) !important; }
#footer .social-icons a { color:var(--sj-cream) !important; }
#footer .footer-column h4 { border-color:rgba(239,235,225,.25) !important; }

/* Floating controls / icons */
#top,.back-to-top,.floating-button,.whatsapp-button,
.quick-view,.wishlist-button,.compare-button,.icon-btn {
  color:var(--sj-purple) !important;
}
#top { background:var(--sj-purple) !important; color:var(--sj-cream) !important; border:1px solid var(--sj-purple) !important; }
#top:hover { background:var(--sj-purple-dark) !important; }
.fa,.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,
[class*="icon-"] { color:inherit; }

/* Selection / focus */
::selection { background:var(--sj-purple) !important; color:var(--sj-cream) !important; }
:focus-visible { outline:2px solid var(--sj-purple) !important; outline-offset:2px; }

/* Dividers / decorative elements */
hr,.divider,.section-divider,.border,.border-top,.border-bottom { border-color:var(--sj-border) !important; }
.section-capture:after,.section-title:after { background:var(--sj-purple) !important; }

/* Remove template teal/green/blue/orange presentation colors where classes are used */
[style*="#3B9B94"],[style*="#3b9b94"],
[style*="#3f9"],[style*="rgb(59, 155, 148)"] { background:var(--sj-purple) !important; }

/* Images: preserve source and dimensions; only presentation */
img { max-width:100%; }
img[src*="logo"] { object-fit:contain; }

/* Mobile */
@media (max-width:992px) {
  body { font-size:14px; }
  h1 { font-size:36px; }
  h2 { font-size:30px; }
  .nav-bar ul li,.navbar-nav .nav-link { letter-spacing:.08em !important; }
  .mobile-menu,.offcanvas { background:var(--sj-white) !important; }
}
@media (max-width:576px) {
  h1 { font-size:31px; }
  h2 { font-size:27px; }
  button,.btn,.btn-style,.primary-btn,.secondary-btn { width:auto; max-width:100%; }
}

/* Theme utility classes for future additions */
.sj-purple { color:var(--sj-purple) !important; }
.sj-purple-bg { background:var(--sj-purple) !important; color:var(--sj-cream) !important; }
.sj-cream { color:var(--sj-cream) !important; }
.sj-cream-bg { background:var(--sj-cream) !important; color:var(--sj-purple) !important; }
