:root{
  --color-page:#FFFFFF;
  --color-offwhite:#F9F9F9;
  --color-text:#1A1A1A;
  --color-heading:#0A2540;
  --color-accent:#B49E67;
  --color-accent-hover:#9C8855;
  --color-border:#EAEAEA;
  --color-secondary:#757575;
  --color-link:#0A2540;
  --nav-bg:#19343A;
  --nav-text:#E7ECEC;
  --nav-muted:#AFC0C4;
}

body{
  font-family:'Jost',sans-serif;
  margin:0;
  background:var(--color-page);
  color:var(--color-text);
  width:100%;
  max-width:100vw;
  overflow-x:hidden;
}

a{ color:var(--color-link); }



/* Footer (site-wide for content pages) */
footer{margin-top:24px;background:var(--color-page);border-top:1px solid var(--color-border)}
footer .foot{max-width:900px;margin:0 auto;padding:20px}
footer small{color:var(--color-secondary)}


/* Dual range controls */
.dual-range{ position:relative; padding:8px 0; }
.dual-range input[type=range]{ width:100%; appearance:none; background:transparent; pointer-events:auto; }
.dual-range .track-fill{ position:absolute; left:0; right:0; top:50%; height:4px; transform:translateY(-50%); background:var(--color-accent); border-radius:2px; pointer-events:none; }
.range-inputs{ display:flex; align-items:center; gap:8px; margin-top:6px; }
.range-inputs input[type=number]{ width:110px; padding:6px 8px; border:1px solid var(--color-border); border-radius:6px; font:inherit; }
.quick-presets{ margin-top:6px; display:flex; flex-wrap:wrap; gap:8px; }
.quick-presets a{ font-size:12px; color:var(--color-link); padding:4px 8px; border:1px solid var(--color-border); border-radius:12px; text-decoration:none; }

/* Carat inputs - labels and unit suffix */
.carat-inputs{ display:flex; gap:16px; align-items:flex-end; margin-bottom:8px; }
.carat-inputs .range-field{ display:flex; flex-direction:column; gap:6px; }
.carat-inputs .with-unit{ position:relative; display:inline-flex; align-items:center; }
.carat-inputs .with-unit input[type=number]{ padding-right:28px; }
.carat-inputs .with-unit .unit{ position:absolute; right:8px; color:var(--color-secondary); font-size:12px; }
.price-inputs{ display:flex; gap:16px; align-items:flex-end; margin-bottom:8px; }
.price-inputs .range-field{ display:flex; flex-direction:column; gap:6px; }
.price-inputs .with-unit{ position:relative; display:inline-flex; align-items:center; }
.price-inputs .with-unit input[type=number]{ padding-right:34px; }
.price-inputs .with-unit .unit{ position:absolute; right:8px; color:var(--color-secondary); font-size:12px; }

/* Remove number input arrows */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
input[type=number]{ -moz-appearance: textfield; }

