/* =========================================================
   JewelryCalculator.online - base.css
   Global foundation: tokens, reset, typography, GeneratePress base.
   ========================================================= */

:root {
  --jc-bg: #0e0e0e;
  --jc-bg-2: #14110f;
  --jc-surface: #171412;
  --jc-surface-2: #1f1915;
  --jc-surface-3: #2a2118;
  --jc-border: #2f2823;
  --jc-border-soft: rgba(232, 224, 213, 0.08);
  --jc-text: #e8e0d5;
  --jc-text-strong: #fff7ef;
  --jc-muted: #9a8b7d;
  --jc-muted-2: #6f6258;
  --jc-copper: #c4704a;
  --jc-copper-2: #e08a5f;
  --jc-copper-dark: #8f4d32;
  --jc-cream: #f3efe8;
  --jc-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  --jc-radius-sm: 6px;
  --jc-radius: 14px;
  --jc-radius-lg: 24px;
  --jc-container: 1180px;
  --jc-content: 760px;
  --jc-font-body: 'Outfit', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --jc-font-display: 'Cormorant Garamond', Georgia, serif;
  --jc-transition: 180ms ease;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--jc-bg) !important;
  color: var(--jc-text);
  font-family: var(--jc-font-body);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body,
.site,
#page,
.site-content,
.content-area,
#primary,
.entry-content,
.inside-article {
  background: transparent !important;
}

img,
svg,
video {
  max-width: 100%;
  height: auto;
}

a {
  color: var(--jc-copper);
  text-decoration: none;
  transition: color var(--jc-transition), border-color var(--jc-transition), background var(--jc-transition);
}

a:hover {
  color: var(--jc-copper-2);
}

p {
  color: var(--jc-muted);
  margin: 0 0 1rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--jc-text-strong);
  font-family: var(--jc-font-display);
  font-weight: 400;
  line-height: 1.08;
  margin: 0 0 1rem;
}

h1 { font-size: clamp(2.45rem, 6vw, 4.7rem); }
h2 { font-size: clamp(1.9rem, 4vw, 3rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.55rem); }

ul,
ol {
  color: var(--jc-muted);
}

::selection {
  background: rgba(196, 112, 74, 0.35);
  color: var(--jc-text-strong);
}

/* GeneratePress page cleanup */
.entry-title,
.page-title,
h1.wp-block-post-title {
  display: none !important;
}

.separate-containers .site-main {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.page .inside-article,
.single .inside-article {
  padding: 0 !important;
}

.page .entry-content,
.single .entry-content {
  margin: 0 !important;
  padding: 0 !important;
}

.grid-container,
.inside-header.grid-container,
.inside-footer-widgets,
.site-info {
  max-width: var(--jc-container);
}

/* Header */
.site-header,
#masthead {
  background: rgba(14, 14, 14, 0.96) !important;
  border-bottom: 1px solid var(--jc-border) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  backdrop-filter: blur(10px);
}

.admin-bar .site-header,
.admin-bar #masthead {
  top: 32px !important;
}

.inside-header.grid-container,
.site-header .inside-header {
  min-height: 68px;
  padding: 0 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 24px;
}

.site-branding,
.site-logo {
  flex: 0 0 auto;
}

.site-title,
.site-title a,
.main-title,
.main-title a {
  color: var(--jc-text-strong) !important;
  font-family: var(--jc-font-body) !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}

.main-navigation,
.nav-primary {
  margin-left: auto !important;
  background: transparent !important;
}

.main-navigation .main-nav ul li a,
.main-navigation a,
.nav-primary a {
  color: var(--jc-muted) !important;
  font-family: var(--jc-font-body) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  transition: color var(--jc-transition) !important;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current_page_item > a,
.main-navigation a:hover,
.nav-primary a:hover {
  color: var(--jc-copper) !important;
}

#primary-menu.main-nav,
.main-navigation #primary-menu,
.main-nav {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  width: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

.menu-toggle,
button.menu-toggle {
  background: transparent !important;
  border: 1px solid var(--jc-border) !important;
  color: var(--jc-copper) !important;
  box-shadow: none !important;
}

/* CSS logo fallback injected into header */
.inside-header.grid-container::before {
  content: '';
  display: block;
  width: 250px;
  height: 62px;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyODAgNzAiIHdpZHRoPSIyODAiIGhlaWdodD0iNzAiIHJvbGU9ImltZyI+CiAgPHRpdGxlPkpld2VscnkgQ2FsY3VsYXRvcjwvdGl0bGU+CiAgPGRlc2M+SmV3ZWxyeSBDYWxjdWxhdG9yIGxvZ28gd2l0aCBnZW9tZXRyaWMgZGlhbW9uZCBpY29uPC9kZXNjPgoKICA8IS0tIERpYW1vbmQgaWNvbiBhdCB4PTM1LCB5PTM1IC0tPgogIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM1LCAzNSkiPgogICAgPHJlY3QgeD0iLTIwIiB5PSItMjAiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcng9IjMiCiAgICAgIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2M0NzA0YSIgc3Ryb2tlLXdpZHRoPSIyIgogICAgICB0cmFuc2Zvcm09InJvdGF0ZSg0NSkiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMCwtMjggLTIwLDAgMCwtNSAyMCwwIgogICAgICBmaWxsPSIjYzQ3MDRhIiBvcGFjaXR5PSIwLjE4Ii8+CiAgICA8bGluZSB4MT0iLTIwIiB5MT0iMCIgeDI9IjIwIiB5Mj0iMCIKICAgICAgc3Ryb2tlPSIjYzQ3MDRhIiBzdHJva2Utd2lkdGg9IjEiIG9wYWNpdHk9IjAuNTUiLz4KICAgIDxsaW5lIHgxPSIwIiB5MT0iLTI4IiB4Mj0iLTIwIiB5Mj0iMCIKICAgICAgc3Ryb2tlPSIjYzQ3MDRhIiBzdHJva2Utd2lkdGg9IjAuOCIgb3BhY2l0eT0iMC40NSIvPgogICAgPGxpbmUgeDE9IjAiIHkxPSItMjgiIHgyPSIyMCIgeTI9IjAiCiAgICAgIHN0cm9rZT0iI2M0NzA0YSIgc3Ryb2tlLXdpZHRoPSIwLjgiIG9wYWNpdHk9IjAuNDUiLz4KICAgIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIyLjUiIGZpbGw9IiNjNDcwNGEiLz4KICA8L2c+CgogIDwhLS0gSkVXRUxSWSAtLT4KICA8dGV4dCB4PSI2OCIgeT0iMjgiCiAgICBmb250LWZhbWlseT0iJ091dGZpdCcsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBzYW5zLXNlcmlmIgogICAgZm9udC1zaXplPSIyMCIgZm9udC13ZWlnaHQ9IjUwMCIKICAgIGxldHRlci1zcGFjaW5nPSI1IgogICAgZmlsbD0iI2M0NzA0YSI+SkVXRUxSWTwvdGV4dD4KCiAgPCEtLSBDQUxDVUxBVE9SIC0tPgogIDx0ZXh0IHg9IjY4IiB5PSI1MiIKICAgIGZvbnQtZmFtaWx5PSInT3V0Zml0JywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIHNhbnMtc2VyaWYiCiAgICBmb250LXNpemU9IjIwIiBmb250LXdlaWdodD0iMzAwIgogICAgbGV0dGVyLXNwYWNpbmc9IjUiCiAgICBmaWxsPSIjZThlMGQ1Ij5DQUxDVUxBVE9SPC90ZXh0PgoKICA8IS0tIHRoaW4gcnVsZSAtLT4KICA8bGluZSB4MT0iNjgiIHkxPSI1OCIgeDI9IjI3NiIgeTI9IjU4IgogICAgc3Ryb2tlPSIjYzQ3MDRhIiBzdHJva2Utd2lkdGg9IjAuNiIgb3BhY2l0eT0iMC4zNSIvPgo8L3N2Zz4K');
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
  order: -1;
}

/* Footer */
.site-footer,
#colophon {
  background: #090909 !important;
  border-top: 1px solid var(--jc-border) !important;
  color: var(--jc-muted-2) !important;
}

.site-info {
  color: var(--jc-muted-2) !important;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
}

/* Admin bar */
#wpadminbar {
  background: #0e0e0e !important;
  border-bottom: 1px solid var(--jc-border) !important;
}

@media (max-width: 782px) {
  .admin-bar .site-header,
  .admin-bar #masthead {
    top: 46px !important;
  }
}

@media (max-width: 768px) {
  .inside-header.grid-container,
  .site-header .inside-header {
    min-height: 62px;
    padding: 0 16px !important;
  }

  .inside-header.grid-container::before {
    width: 190px;
    height: 48px;
  }

  .main-navigation .main-nav ul li a,
  .main-navigation a,
  .nav-primary a {
    padding: 10px 16px !important;
  }
}



/* ============================================
   FULL WIDTH + REMOVE WHITE AREAS
   ============================================ */

html,
body,
#page,
.site,
.site-content,
.content-area,
#primary,
.site-main,
.inside-article,
.entry-content {
  background: #141414 !important;
}

/* Remove GeneratePress spacing */
.site-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

#primary {
  margin-top: 0 !important;
}

.inside-article {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Remove white wrapper */
.separate-containers .inside-article,
.separate-containers .site-main {
  background: transparent !important;
}

/* Hero flush against header */
.jc-hero {
  margin-top: 0 !important;
  padding-top: 5rem !important;
}

/* Remove hidden GP spacing block */
.generate-back-to-top,
.page-header,
.site-main > *:first-child {
  margin-top: 0 !important;
}

/* Full width layout */
.site.grid-container,
.inside-header.grid-container,
.site-main,
.site-content {
  max-width: 100% !important;
  width: 100% !important;
}

/* Remove GP content padding */
.one-container .site-content,
.separate-containers .site-content {
  padding: 0 !important;
}