:root {
  --onyx: #070807;
  --night: #10100e;
  --charcoal: #171713;
  --ink: #211c16;
  --ivory: #f8f3e9;
  --warm: #eee3d0;
  --paper: #fffaf0;
  --muted: #7d715f;
  --muted-dark: #b9aa91;
  --champagne: #d9bd79;
  --gold: #b88d3b;
  --gold-deep: #8c6425;
  --line: rgba(184, 141, 59, 0.24);
  --line-dark: rgba(255, 244, 220, 0.16);
  --shadow: 0 34px 100px rgba(10, 8, 4, 0.22);
  --soft-shadow: 0 18px 50px rgba(43, 31, 12, 0.12);
  --radius: 28px;
}

/* Active-session limit chooser */
.session-limit-body{min-height:100vh;margin:0;display:grid;place-items:center;padding:24px;background:rgba(10,20,34,.72);font-family:Arial,sans-serif;color:#231f20}
.session-limit-shell{width:min(100%,520px);overflow:hidden;border:1px solid #ead9c4;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.session-limit-head{display:flex;align-items:center;gap:12px;padding:20px 22px;background:#fce1df}
.session-limit-head>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d7193f;color:#fff;font-weight:800}
.session-limit-head h1{margin:0;font-size:1.15rem}
.session-limit-content{padding:22px}.session-limit-content>p{margin:0 0 18px;line-height:1.5}
.active-session-list{display:grid;gap:10px}.active-session-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px;border:1px solid #d7d7dc;border-radius:9px;background:#fff}
.active-session-card>div{display:grid;gap:4px}.active-session-card span{display:block;color:#60606a;font-size:.82rem}
.session-text-action{border:0;background:transparent;color:#2563eb;cursor:pointer;padding:0;font:inherit;white-space:nowrap}
.session-limit-actions{display:grid;gap:10px;padding:18px 22px;border-top:1px solid #e3e3e7}.session-limit-actions form{margin:0}.session-limit-actions .button{box-sizing:border-box;width:100%;text-align:center;justify-content:center}.session-logout-all{background:#242238;color:#fff}
@media(max-width:560px){.session-limit-body{padding:12px}.session-limit-head,.session-limit-content,.session-limit-actions{padding:16px}.active-session-card{gap:10px}}

/* Siemme B2B jewellery catalogue */
.jewellery-shell{padding-bottom:72px}.jewellery-title{align-items:end}.jewellery-catalogue-note{display:flex;gap:18px;align-items:center;margin:0 0 24px;padding:16px 20px;border:1px solid rgba(202,157,69,.45);background:#fffaf0;color:#50483d}.jewellery-catalogue-note strong{color:#0d1b2e;white-space:nowrap;text-transform:uppercase;letter-spacing:.1em}.jewellery-filters{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,280px) auto auto;gap:12px;align-items:end;margin-bottom:28px;padding:20px;background:#0d1b2e;color:#fff;border:1px solid #c99d45}.jewellery-filters label{display:grid;gap:7px;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.jewellery-filters input,.jewellery-filters select{width:100%;min-height:44px;border:1px solid rgba(201,157,69,.55);background:#fff;color:#172238;padding:0 13px}.jewellery-filters button{min-height:44px;border:1px solid #c99d45;background:#c99d45;color:#081426;padding:0 24px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.jewellery-filters .text-link{min-height:44px;display:flex;align-items:center;color:#fff}.jewellery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.jewellery-card{overflow:hidden;border:1px solid #d8c49a;background:#fff;box-shadow:0 14px 34px rgba(10,22,38,.08)}.jewellery-card-image{display:block;aspect-ratio:1/1;background:#f3eee5;overflow:hidden}.jewellery-card-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease}.jewellery-card:hover .jewellery-card-image img{transform:scale(1.025)}.jewellery-card-body{padding:18px}.jewellery-card-heading,.jewellery-trade-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.design-number{font-weight:900;letter-spacing:.12em;color:#9b6b13}.availability-dot{font-size:.72rem;color:#4c684e}.jewellery-card h2{font-size:1.45rem;margin:12px 0 7px}.jewellery-card p{min-height:42px;margin:0;color:#675e52}.jewellery-trade-row{margin-top:16px;padding-top:15px;border-top:1px solid #eee2cc}.jewellery-trade-row strong{font-size:.9rem;color:#0d1b2e}.jewellery-trade-row a{color:#8b5d0b;font-weight:800}.jewellery-b2b-footer{margin-top:48px;padding:38px;border:1px solid #c99d45;background:#0d1b2e;color:#fff}.jewellery-b2b-footer h2{color:#fff}.jewellery-b2b-footer p:not(.eyebrow){max-width:780px}.jewellery-b2b-footer .button{margin-top:12px}
@media(max-width:980px){.jewellery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jewellery-filters{grid-template-columns:1fr 1fr}.jewellery-catalogue-note{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.jewellery-grid{grid-template-columns:1fr}.jewellery-filters{grid-template-columns:1fr}.jewellery-card h2{font-size:1.25rem}.jewellery-b2b-footer{padding:26px 20px}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 13% 8%, rgba(217, 189, 121, 0.24), transparent 30%),
    linear-gradient(135deg, #fbf6eb 0%, #efe3cf 45%, #181610 45%, #090907 100%);
  font-family: "Inter", "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;
}

a { color: inherit; text-decoration: none; }
.text-link { color: var(--gold-deep); font-weight: 800; text-decoration: underline; text-underline-offset: 5px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px clamp(20px, 4vw, 68px);
  color: var(--ivory);
  background: rgba(7, 8, 7, 0.86);
  border-bottom: 1px solid var(--line-dark);
  backdrop-filter: blur(20px);
}

.brand { display: flex; gap: 14px; align-items: center; }
.brand-mark {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  color: transparent;
  background: #122033 url("../img/brand/siemme-profile-avatar-navy-gold-v3.png?v=20260629") center/cover no-repeat;
  border: 1px solid rgba(217,189,121,0.42);
  border-radius: 50%;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0;
  font-weight: 700;
  line-height: 0;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(184, 141, 59, 0.28);
}
.brand strong {
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.brand small { display: block; color: var(--muted-dark); font-size: 12px; margin-top: 3px; letter-spacing: 0.08em; }
.auth-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.auth-brand {
  color: var(--ivory);
  text-decoration: none;
}
.auth-brand .brand-mark {
  width: 58px;
  height: 58px;
}
.auth-brand strong {
  font-size: 28px;
}
.auth-brand small {
  color: var(--champagne);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18em;
}

nav { display: flex; gap: 24px; align-items: center; font-size: 13px; color: rgba(248,243,233,0.78); text-transform: uppercase; letter-spacing: 0.1em; }
nav a:hover { color: var(--champagne); }
.mini-locale {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-left: 12px;
}
.mini-locale select,
.mini-locale button {
  min-height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(217,189,121,0.32);
  background: rgba(255,255,255,0.08);
  color: var(--ivory);
  padding: 0 9px;
  font-weight: 800;
}
.mini-locale option { color: #111; }
.mini-locale button { cursor: pointer; color: #111; background: var(--champagne); }
.nav-cta { padding: 11px 16px; color: var(--onyx); background: var(--champagne); border-radius: 999px; font-weight: 800; }

.hero {
  min-height: 88vh;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: clamp(34px, 6vw, 88px);
  align-items: center;
  padding: clamp(66px, 8vw, 128px) clamp(20px, 4vw, 68px);
  color: var(--ivory);
  background:
    linear-gradient(90deg, rgba(7,8,7,0.2), rgba(7,8,7,0.72)),
    radial-gradient(circle at 76% 28%, rgba(217,189,121,0.18), transparent 24%);
}

.hero-copy { max-width: 960px; }
.eyebrow {
  margin: 0 0 18px;
  color: var(--champagne);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 12px;
  font-weight: 900;
}

h1, h2, h3, p { margin-top: 0; }
h1, h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
}
h1 {
  max-width: 1000px;
  font-size: clamp(54px, 8vw, 118px);
  line-height: 0.88;
  letter-spacing: -0.075em;
  margin-bottom: 30px;
}
h2 {
  font-size: clamp(38px, 5.4vw, 78px);
  line-height: 0.95;
  letter-spacing: -0.06em;
  margin-bottom: 20px;
}
h3 { font-size: 22px; margin-bottom: 10px; letter-spacing: -0.02em; }
.lead { max-width: 790px; color: rgba(248,243,233,0.82); font-size: clamp(19px, 2.15vw, 26px); line-height: 1.55; }

.hero-actions, .trust-line { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.hero-actions { margin: 34px 0 30px; }
.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 52px;
  padding: 14px 22px;
  border: 0;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: 0.02em;
  cursor: pointer;
}
.button.primary { color: var(--onyx); background: linear-gradient(135deg, #fff4cd, var(--champagne) 58%, var(--gold)); box-shadow: 0 18px 44px rgba(184,141,59,0.28); }
.button.secondary { color: var(--ivory); background: rgba(255,255,255,0.08); border: 1px solid var(--line-dark); }
.button.ghost { color: var(--champagne); background: transparent; border: 1px solid rgba(217,189,121,0.34); }

.trust-line span, .trust-line a {
  padding: 9px 13px;
  color: rgba(248,243,233,0.78);
  border: 1px solid var(--line-dark);
  border-radius: 999px;
  background: rgba(255,255,255,0.055);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.diamond-showcase {
  position: relative;
  overflow: hidden;
  min-height: 610px;
  display: grid;
  align-content: end;
  padding: 28px;
  border-radius: 38px;
  color: var(--ivory);
  background:
    radial-gradient(circle at 50% 28%, rgba(255,244,205,0.10), transparent 40%),
    linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.02)),
    linear-gradient(145deg, #15140f, #050505 76%);
  border: 1px solid var(--line-dark);
  box-shadow: var(--shadow);
}
.diamond-showcase::before {
  content: "";
  position: absolute;
  inset: 28px 28px auto auto;
  width: 170px;
  height: 170px;
  border: 1px solid rgba(217,189,121,0.35);
  transform: rotate(45deg);
  opacity: 0.62;
}
.diamond-showcase img {
  position: absolute;
  top: clamp(-10px, 2vw, 18px);
  left: 50%;
  width: min(96%, 600px);
  transform: translateX(-50%);
  opacity: .92;
  filter: drop-shadow(0 34px 64px rgba(0,0,0,0.38));
}
.diamond-showcase img.hero-photo {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: none;
  opacity: .84;
  filter: saturate(0.96) contrast(1.05);
}
.diamond-showcase::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7,8,7,0.04), rgba(7,8,7,0.56) 58%, rgba(7,8,7,0.82)),
    linear-gradient(90deg, rgba(7,8,7,0.22), transparent 54%);
}
.showcase-copy {
  position: relative;
  z-index: 2;
  padding: 28px;
  border-radius: 28px;
  background: rgba(7,8,7,0.56);
  border: 1px solid var(--line-dark);
  backdrop-filter: blur(10px);
}
.showcase-copy h2 { margin-bottom: 14px; font-size: clamp(34px, 4.6vw, 58px); }
.showcase-copy p:last-child { color: rgba(248,243,233,0.76); font-size: 18px; line-height: 1.6; margin-bottom: 0; }

.section { padding: clamp(70px, 8vw, 118px) clamp(20px, 4vw, 68px); }
.split { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(34px, 5vw, 76px); align-items: start; background: var(--ivory); }
.split p, .section-heading p { color: var(--muted); font-size: 18px; line-height: 1.7; }

.feature-grid, .cards { display: grid; gap: 18px; }
.feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cards.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
article {
  padding: 28px;
  background: rgba(255,250,240,0.88);
  border: 1px solid rgba(184,141,59,0.18);
  border-radius: var(--radius);
  box-shadow: var(--soft-shadow);
}
article p { color: var(--muted); line-height: 1.65; margin-bottom: 0; }
.icon {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin-bottom: 20px;
  border-radius: 50%;
  background: #17130e;
  color: var(--champagne);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
}

.dark {
  color: var(--ivory);
  background:
    radial-gradient(circle at 18% 20%, rgba(217,189,121,0.13), transparent 30%),
    linear-gradient(145deg, #090907, #1a1812);
}
.dark .section-heading p, .dark article p { color: rgba(248,243,233,0.7); }
.dark article { background: rgba(255,255,255,0.055); border-color: var(--line-dark); box-shadow: none; }

.section-heading { max-width: 980px; margin-bottom: 38px; }
.section-heading.narrow { max-width: 780px; margin-left: auto; margin-right: auto; text-align: center; }
.flow { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 14px; }
.flow div {
  min-height: 178px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--ivory);
  border: 1px solid var(--line-dark);
  border-radius: 24px;
  background: linear-gradient(160deg, #232018, #0d0d0b);
}
.flow strong { font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 500; }
.flow span { color: var(--muted-dark); line-height: 1.5; }

.upload-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.75fr);
  gap: clamp(26px, 5vw, 76px);
  align-items: start;
  background: linear-gradient(135deg, #fbf6eb, #eadbc1);
}
.upload-panel.supplier { background: linear-gradient(135deg, #171510, #080807); color: var(--ivory); }
.upload-panel.supplier .section-heading p { color: var(--muted-dark); }
.format-cards { margin-top: 22px; }
.format-cards article { background: rgba(255,255,255,.05); }
.supplier-actions { margin-top: 22px; }
.upload-form {
  max-width: 900px;
  display: grid;
  gap: 16px;
  padding: 30px;
  border-radius: 32px;
  background: rgba(255,250,240,0.94);
  border: 1px solid rgba(184,141,59,0.24);
  box-shadow: var(--shadow);
}
.supplier .upload-form { background: rgba(255,255,255,0.06); border-color: var(--line-dark); }
label { display: grid; gap: 8px; color: var(--ink); font-weight: 900; }
.supplier label { color: var(--ivory); }
input, textarea {
  width: 100%;
  border: 1px solid rgba(184,141,59,0.22);
  border-radius: 18px;
  padding: 15px 16px;
  font: inherit;
  color: var(--ink);
  background: #fffaf0;
  outline: none;
}
input:focus, textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(217,189,121,0.18); }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 54px; }
.password-visibility-toggle {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #4d4a45;
  background: transparent;
  cursor: pointer;
}
.password-visibility-toggle:hover { background: rgba(184,141,59,.12); color: #18130d; }
.password-visibility-toggle:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.password-visibility-toggle svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.password-visibility-toggle [hidden] { display: none; }
textarea { resize: vertical; }
.file-drop {
  padding: 24px;
  border: 1.5px dashed rgba(184,141,59,0.48);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,244,205,0.76), rgba(255,250,240,0.9));
}
.file-drop input { padding: 0; border: 0; background: transparent; box-shadow: none; }
.file-drop span { color: var(--gold-deep); }

.site-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 36px clamp(20px, 4vw, 68px);
  color: rgba(248,243,233,0.7);
  background: var(--onyx);
  border-top: 1px solid var(--line-dark);
}
.site-footer strong, .site-footer a { color: var(--ivory); }
.site-footer p { margin: 6px 0 0; }
.contact-line { font-size: 14px; }
.footer-links {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 14px;
  font-size: 14px;
}

.register-shell {
  min-height: 100vh;
  padding: clamp(42px, 7vw, 96px) clamp(20px, 4vw, 68px);
  color: var(--ivory);
  background:
    radial-gradient(circle at 80% 18%, rgba(217,189,121,0.16), transparent 28%),
    linear-gradient(145deg, #080807, #1d1a13);
}
.register-card {
  max-width: 900px;
  margin: 0 auto;
  padding: clamp(26px, 5vw, 56px);
  border: 1px solid var(--line-dark);
  border-radius: 38px;
  background: rgba(255,255,255,0.055);
  box-shadow: var(--shadow);
}
.register-card h1 { font-size: clamp(52px, 8vw, 98px); margin-bottom: 22px; }
.register-card .upload-form { margin-top: 28px; max-width: none; }
.login-card { max-width: 760px; }
.register-card .lead { margin-top: 0; }
.auth-locale {
  width: fit-content;
  margin: 0 0 24px;
  background: rgba(255,250,240,0.12);
  border-color: rgba(217,189,121,0.28);
  box-shadow: none;
}
.auth-locale label { color: var(--champagne); }
.auth-locale select {
  background: rgba(255,250,240,0.96);
}
.form-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.consent-line {
  grid-template-columns: auto 1fr;
  align-items: start;
  color: var(--ink);
  font-weight: 800;
  line-height: 1.45;
}
select {
  width: 100%;
  border: 1px solid rgba(184,141,59,0.22);
  border-radius: 18px;
  padding: 15px 16px;
  font: inherit;
  color: var(--ink);
  background: #fffaf0;
  outline: none;
}
.notice {
  margin: 24px 0 0;
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(255,255,255,0.08);
  border: 1px solid var(--line-dark);
}
.notice.ok { border-color: rgba(217,189,121,0.48); }
.notice.error { border-color: rgba(255,130,110,0.5); }
.notice p, .form-note, .contact-mini { color: rgba(248,243,233,0.74); line-height: 1.55; }
.form-note { margin: 0; font-size: 13px; }
.contact-mini { margin-top: 22px; }

.profile-body {
  background: #f6f0e3;
}
.profile-shell {
  width: min(1180px, calc(100% - 34px));
  margin: 0 auto;
  padding: clamp(42px, 6vw, 78px) 0 80px;
}
.profile-hero {
  max-width: 840px;
  margin-bottom: 28px;
}
.profile-hero h1 {
  font-size: clamp(52px, 8vw, 104px);
  line-height: .86;
  letter-spacing: -0.07em;
  margin: 10px 0 20px;
}
.profile-hero p:not(.eyebrow) {
  max-width: 720px;
  color: rgba(33,29,24,.72);
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.55;
}
.profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 20px 0;
}
.profile-card {
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(87,73,53,.16);
  border-radius: 30px;
  background: rgba(255,253,247,.9);
  box-shadow: 0 24px 70px rgba(61,47,25,.08);
}
.profile-card h2 {
  font-family: var(--sans);
  font-size: 22px;
  letter-spacing: -0.03em;
  margin-bottom: 16px;
}
.profile-summary dl {
  display: grid;
  gap: 10px;
}
.profile-summary dl div {
  display: grid;
  grid-template-columns: minmax(120px, 190px) 1fr;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(87,73,53,.1);
}
.profile-summary dt {
  color: rgba(33,29,24,.56);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 900;
}
.profile-summary dd {
  margin: 0;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.profile-note {
  margin-top: 16px;
  color: rgba(33,29,24,.63);
  line-height: 1.55;
}
.profile-form-card {
  margin: 20px 0;
}
.profile-section-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 18px;
}
.profile-section-head h2 {
  font-family: var(--serif);
  font-size: clamp(38px, 5vw, 72px);
  line-height: .9;
  letter-spacing: -0.07em;
}
.profile-section-head p {
  max-width: 430px;
  color: rgba(33,29,24,.62);
  line-height: 1.5;
}
.profile-form,
.compact-form {
  max-width: none;
  margin-top: 0;
}
.profile-form label,
.compact-form label {
  color: var(--ink);
}
.pending-list {
  display: grid;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.pending-list li {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid rgba(184,141,59,.22);
  border-radius: 18px;
  background: #fff8ea;
}
.pending-list span {
  color: rgba(33,29,24,.72);
}
.pending-list small {
  color: rgba(33,29,24,.52);
}
.verify-password-form {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(87,73,53,.12);
}

.quote-shell {
  min-height: 100vh;
  padding: clamp(48px, 6vw, 90px) clamp(20px, 4vw, 68px);
  color: var(--ivory);
  background:
    radial-gradient(circle at 80% 5%, rgba(217,189,121,0.19), transparent 32%),
    linear-gradient(145deg, #080807, #1d1a13);
}
.quote-hero {
  max-width: 1120px;
  margin: 0 auto 28px;
  padding: clamp(28px, 5vw, 52px);
  border: 1px solid var(--line-dark);
  border-radius: 34px;
  background: rgba(255,255,255,0.055);
  box-shadow: var(--shadow);
}
.quote-hero h1 { max-width: 920px; margin-bottom: 18px; font-size: clamp(44px, 6.8vw, 92px); }
.quote-hero .lead { color: rgba(248,243,233,0.78); }
.quote-preview { max-width: 1120px; margin: 0 auto; display: grid; gap: 20px; }
.quote-line {
  color: var(--ink);
  background: linear-gradient(145deg, #fffaf0, #efe1c7);
  border-color: rgba(184,141,59,0.24);
}
.quote-line h3 { font-family: Georgia, "Times New Roman", serif; font-size: 30px; font-weight: 500; }
.quote-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.quote-card {
  display: grid;
  gap: 9px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(184,141,59,0.22);
  background: rgba(255,255,255,0.68);
}
.quote-card em {
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  color: var(--onyx);
  background: linear-gradient(135deg, #fff4cd, var(--champagne));
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.quote-card strong { font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 500; }
.quote-card span, .quote-card small, .quote-note { color: var(--muted); line-height: 1.48; }
.quote-card b { font-family: Georgia, "Times New Roman", serif; font-size: 30px; color: var(--gold-deep); font-weight: 500; }
.quote-note { margin: 18px 0 0; }

@media (max-width: 980px) {
  nav { display: none; }
  .hero, .split, .upload-panel { grid-template-columns: 1fr; }
  .feature-grid, .cards.three, .flow, .quote-grid { grid-template-columns: 1fr; }
  .site-footer { flex-direction: column; }
}

@media (max-width: 640px) {
  .site-header { position: relative; padding: 20px 18px; }
  .brand-mark { width: 56px; height: 56px; font-size: 26px; }
  .brand strong { font-size: 28px; }
  .brand small { font-size: 15px; letter-spacing: 0.08em; }
  .hero { min-height: auto; padding: 78px 18px 56px; }
  .eyebrow { font-size: 12px; line-height: 1.45; }
  h1 { font-size: clamp(46px, 15vw, 70px); line-height: 0.92; letter-spacing: -0.065em; }
  .lead { font-size: 21px; line-height: 1.55; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .button { width: 100%; }
  .trust-line span { font-size: 14px; }
  .diamond-showcase { min-height: 520px; margin-top: 18px; border-radius: 30px; }
  .diamond-showcase img { width: min(108%, 500px); top: -26px; }
  .showcase-copy { padding: 22px; }
  .section { padding-left: 18px; padding-right: 18px; }
  h2 { font-size: clamp(38px, 12vw, 56px); }
}

.provisional-account-notice {
  display: flex;
  align-items: baseline;
  gap: .75rem;
  margin: 1rem 0 1.25rem;
  padding: .9rem 1rem;
  border: 1px solid var(--gold-soft);
  border-left: 4px solid var(--gold);
  background: #fff8e7;
  color: var(--ink);
}

.provisional-account-notice strong {
  flex: 0 0 auto;
}

.selection-alert.provisional {
  border-color: var(--gold-soft);
  background: #fff8e7;
  color: var(--ink);
}

.supplier-price-restricted {
  display: block;
  max-width: 18rem;
  font-size: 1rem;
  line-height: 1.35;
}

@media (max-width: 640px) {
  .provisional-account-notice {
    align-items: flex-start;
    flex-direction: column;
    gap: .35rem;
  }
}

/* SIEMME CONNECTED-JOURNEY NAVIGATION — 2026-07-31 */
.journey-nav {
  position: relative;
  z-index: 24;
  display: flex;
  gap: .8rem;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: .55rem clamp(18px, 4vw, 64px);
  border-bottom: 1px solid #dfc994;
  background: rgba(255, 252, 245, .98);
  color: #17243a;
}

.journey-nav a {
  color: inherit;
  font-size: .78rem;
  font-weight: 750;
  text-decoration: none;
}

.journey-nav a:hover,
.journey-nav a:focus-visible,
.journey-nav a.is-current {
  color: #8f620d;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.journey-back {
  flex: 0 0 auto;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 .8rem;
  border: 1px solid #d9c28f;
  border-radius: 999px;
  background: #fff;
}

.journey-links {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.site-map-shell {
  max-width: 1180px;
}

.site-map-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.2rem 0 3rem;
}

.site-map-grid article {
  display: grid;
  align-content: start;
  gap: .55rem;
  min-height: 250px;
  padding: 1.25rem;
  border: 1px solid #dfd2b6;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(41, 30, 11, .06);
}

.site-map-grid h2 {
  margin: 0 0 .4rem;
}

.site-map-grid a {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: .55rem .7rem;
  border: 1px solid #eadfc9;
  border-radius: 9px;
  color: #17243a;
  font-weight: 750;
  text-decoration: none;
}

.site-map-grid a:hover,
.site-map-grid a:focus-visible {
  border-color: #c99d45;
  background: #fff8e9;
}

@media (max-width: 900px) {
  .journey-nav {
    align-items: stretch;
    flex-direction: column;
  }
  .journey-links {
    justify-content: flex-start;
  }
  .site-map-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .journey-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
  }
  .journey-links a {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: .45rem .6rem;
    border: 1px solid #eadfc9;
    border-radius: 8px;
    background: #fff;
  }
  .site-map-grid {
    grid-template-columns: 1fr;
  }
}

.market-body {
  color: #151515;
  background: #f6f6f4;
  font-family: "Inter", "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;
}
.market-body h1,
.market-body h2,
.market-body h3,
.market-body p {
  margin-top: 0;
}
.market-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px clamp(18px, 4vw, 64px);
  background: rgba(255,255,255,0.92);
  border-bottom: 1px solid #e6e1d8;
  backdrop-filter: blur(18px);
}
.market-header .brand { color: #111; }
.market-header .brand small { color: #8b806f; }
.market-header nav { color: #34302a; }
.market-shell, .supplier-shell {
  max-width: 1320px;
  margin: 0 auto;
  padding: 44px clamp(16px, 3vw, 34px) 90px;
}
.back-link {
  display: inline-flex;
  align-items: center;
  margin: 0 0 18px;
  color: #6f665a;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.market-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 22px;
}
.market-title h1, .supplier-welcome h1 {
  max-width: 850px;
  margin-bottom: 14px;
  color: #141414;
  font-size: clamp(40px, 5vw, 70px);
  line-height: .94;
  letter-spacing: -0.065em;
}
.market-title p, .supplier-welcome p, .bulk-panel p { color: #6f665a; font-size: 18px; line-height: 1.6; }
.market-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.market-actions .button.secondary {
  color: #151515;
  background: #fff;
  border: 1px solid #ded8cc;
}
.ai-search-panel {
  margin: 22px 0 26px;
  padding: 20px;
  border: 1px solid #e4ded4;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,241,226,.88)),
    var(--ivory);
  box-shadow: var(--shadow-soft);
}
.ai-search-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 14px;
}
.ai-search-head h2 {
  margin: 0;
  font-size: 24px;
  letter-spacing: -.02em;
}
.ai-search-head p {
  max-width: 760px;
  margin: 5px 0 0;
  color: #6f665a;
  line-height: 1.5;
}
.ai-search-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 999px;
  color: #151515;
  background: #f2d478;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.ai-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}
.ai-search-form input {
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid #d8c99f;
  border-radius: 14px;
  background: #fffaf0;
  font-weight: 800;
}
.ai-search-form button {
  min-height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: 14px;
  color: #151515;
  background: linear-gradient(135deg, #fff1b8, #ca9630);
  font-weight: 950;
  cursor: pointer;
}
.ai-search-note {
  margin: 12px 0 0;
  color: #5e564d;
  font-size: 13px;
}
.ai-search-note strong { color: #151515; }
.locale-form {
  display: flex;
  gap: 8px;
  align-items: end;
  padding: 8px;
  border: 1px solid #e4ded4;
  border-radius: 16px;
  background: rgba(255,255,255,.82);
}
.locale-form label {
  display: grid;
  gap: 4px;
  color: #6f665a;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.locale-form select {
  min-width: 122px;
  min-height: 36px;
  padding: 7px 10px;
  border-radius: 10px;
  font-size: 12px;
}
.locale-form button {
  min-height: 36px;
  padding: 0 12px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: #151515;
  font-weight: 900;
  cursor: pointer;
}
.support-locale {
  margin-left: 14px;
  align-self: center;
}
.support-locale select {
  min-width: 150px;
}
.market-tabs {
  display: flex;
  gap: 26px;
  align-items: center;
  margin: 10px 0 14px;
  border-bottom: 1px solid #ded8cc;
}
.market-tabs a {
  padding: 14px 0;
  color: #5f574b;
  font-size: 14px;
  font-weight: 850;
  border-bottom: 2px solid transparent;
}
.market-tabs a.active {
  color: #4f2cff;
  border-bottom-color: #4f2cff;
}
.result-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 16px 0 10px;
}
.result-toolbar strong {
  display: block;
  color: #121212;
  font-size: 18px;
}
.result-toolbar span {
  color: #746b5f;
  font-size: 13px;
}
.view-toggle {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid #ded8cc;
  border-radius: 12px;
  background: #fff;
}
.view-toggle a {
  padding: 10px 12px;
  color: #3b362f;
  font-size: 13px;
  font-weight: 850;
  border-right: 1px solid #eee9df;
}
.view-toggle a:last-child { border-right: 0; }
.view-toggle a.active {
  color: #fff;
  background: #151515;
}
.market-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
  padding: 14px;
  margin-bottom: 14px;
  border: 1px solid #e2ddd2;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(35,30,20,0.07);
}
.market-filters > label {
  flex: 1 1 112px;
  min-width: 0;
}
.market-filters > .market-filter-keyword {
  flex: 2 1 250px;
}
.market-filters > .market-filter-location {
  flex: 1.45 1 190px;
}
.market-filters > .all-filters-label {
  flex: 0 0 88px;
}
.market-filters > .market-filter-submit {
  flex: 0 0 168px;
}
.all-filters-label {
  display: grid;
  gap: 8px;
  color: #4c463d;
  font-size: 12px;
  font-weight: 900;
}
.filter-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  color: #4f2cff;
  border: 1px solid #6b50ff;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
}
.filter-toggle { position: fixed; opacity: 0; pointer-events: none; }
.filter-backdrop {
  position: fixed;
  inset: 0;
  z-index: 49;
  display: none;
  background: rgba(0,0,0,.55);
  cursor: pointer;
}
.filter-drawer {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 50;
  width: min(720px, calc(100vw - 28px));
  overflow-y: auto;
  padding: 24px;
  background: #fff;
  border-right: 1px solid #e5e0d8;
  box-shadow: 32px 0 80px rgba(0,0,0,.25);
  transform: translateX(-105%);
  transition: transform .22s ease;
}
.filter-toggle:checked ~ .filter-backdrop { display: block; }
.filter-toggle:checked ~ .filter-drawer { transform: translateX(0); }
.filter-drawer-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
}
.filter-drawer-head strong {
  color: #111;
  font-size: 28px;
  letter-spacing: -0.04em;
}
.filter-drawer-head label {
  width: auto;
  color: #6f665a;
  cursor: pointer;
}
.drawer-form { display: grid; gap: 18px; }
.drawer-form section {
  display: grid;
  gap: 12px;
  padding-bottom: 18px;
  border-bottom: 1px solid #eee9df;
}
.drawer-form h3 {
  margin: 0;
  color: #111;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .09em;
}
.drawer-form a {
  color: #181818;
  font-weight: 800;
}
.checkline {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 10px;
  color: #222;
}
.checkline input { width: auto; }
.pair-filter-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
  border: 1px solid #dcc99e;
  border-radius: 14px;
  background: #fffaf0;
}
.info-tip {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 19px;
  height: 19px;
  min-height: 0;
  padding: 0;
  border: 1px solid #a87925;
  border-radius: 50%;
  color: #7b5617;
  background: #fff;
  font: 800 12px/1 Georgia, serif;
  cursor: help;
  vertical-align: middle;
}
.info-tip::after {
  content: attr(data-tip);
  position: absolute;
  left: 50%;
  bottom: calc(100% + 9px);
  z-index: 80;
  width: min(290px, calc(100vw - 48px));
  padding: 10px 12px;
  border-radius: 9px;
  color: #fff;
  background: #172131;
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
  font: 600 12px/1.4 "Inter", "Segoe UI", sans-serif;
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition: opacity .15s ease, transform .15s ease;
}
.info-tip:hover::after,
.info-tip:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.chip-grid a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 11px;
  color: #2d2922;
  border: 1px solid #ded8cc;
  border-radius: 10px;
  background: #fbf6ea;
  font-size: 12px;
  font-weight: 850;
}
.chip-grid a.active {
  color: #fff;
  border-color: #151515;
  background: #151515;
}
.market-filters label { color: #4c463d; font-size: 12px; }
.shape-strip {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 6px 0 18px;
}
.shape-strip a {
  white-space: nowrap;
  padding: 10px 14px;
  border: 1px solid #ded8cc;
  border-radius: 999px;
  background: #fff;
  color: #38342e;
  font-weight: 800;
}
.shape-strip span { color: #9a7a32; }
.empty-results {
  margin: 20px 0 34px;
  padding: 34px;
  border: 1px solid #e1dcd1;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(24,22,18,0.07);
}
.empty-results h2 {
  margin-bottom: 10px;
  color: #111;
  font-family: "Inter", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.empty-results p { color: #6f665a; margin-bottom: 0; }
.inventory-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}
.diamond-card {
  scroll-margin-top: 92px;
  padding: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #ddd8cf;
  box-shadow: 0 16px 38px rgba(24,22,18,0.08);
}
.diamond-card:target {
  border-color: #c79a3b;
  box-shadow: 0 0 0 3px rgba(214,173,86,.26), 0 18px 46px rgba(24,22,18,0.14);
}
.diamond-card.is-selected {
  border-color: #c79a3b;
  background: linear-gradient(180deg, #fff, #fffaf0);
}
.diamond-card.is-selected .diamond-price {
  background: linear-gradient(180deg, rgba(255,248,229,.72), rgba(255,255,255,.96));
}
.diamond-photo {
  position: relative;
  aspect-ratio: 1 / .82;
  overflow: hidden;
  background: #d8d8d8;
}
.diamond-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.diamond-photo img[src*="shape-diamond.php"] {
  object-fit: contain;
  padding: 18px;
  background: radial-gradient(circle at 50% 42%, #f7f8f8, #c8ccd0);
}
.diamond-photo.fancy-color-photo img[src*="shape-diamond.php"] {
  padding: 14px;
  background: radial-gradient(circle at 48% 38%, rgba(255,255,255,.92), rgba(232,223,208,.34) 48%, rgba(42,38,32,.14));
}
.diamond-photo.fancy-pink { background: linear-gradient(135deg, #fbf9f7, #eadce2 58%, #c98aa4); }
.diamond-photo.fancy-yellow { background: linear-gradient(135deg, #fbf9f1, #ece3b5 58%, #c7aa45); }
.diamond-photo.fancy-blue { background: linear-gradient(135deg, #f7fafc, #d9e6f1 58%, #8db2d0); }
.diamond-photo.fancy-orange { background: linear-gradient(135deg, #fbf7f0, #ebd0a7 58%, #ca8a41); }
.diamond-photo.fancy-green { background: linear-gradient(135deg, #effaf3, #badfc4 52%, #5f9b70); }
.diamond-photo.fancy-purple { background: linear-gradient(135deg, #fbf1ff, #d7bce9 52%, #8a63ae); }
.diamond-photo.fancy-color-photo em {
  color: #17120d;
  background: rgba(255,248,232,.9);
  border: 1px solid rgba(171,126,43,.25);
}
.diamond-photo span {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1;
  display: inline-block;
  margin: 0;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(255,250,240,0.92);
  color: #b78325;
  font-size: 11px;
  font-weight: 900;
}
.diamond-photo span + span { left: 52px; color: #444; }
.diamond-photo em {
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #222;
  background: rgba(255,255,255,.86);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}
.diamond-photo .visual-note {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 1;
  display: block;
  padding: 6px 8px;
  border-radius: 999px;
  color: #241f19;
  background: rgba(255,250,240,.9);
  border: 1px solid rgba(171,126,43,.22);
  font-size: 10px;
  line-height: 1.1;
  text-align: center;
  letter-spacing: .02em;
}
.diamond-photo.fancy-color-photo em { bottom: 42px; }
.diamond-info { padding: 18px 18px 8px; }
.pair-candidate-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #65450e;
  background: #fff0c9;
  border: 1px solid #d6ae55;
  font-size: 11px;
  font-weight: 900;
}
.pair-candidate-badge .info-tip { width: 16px; height: 16px; font-size: 10px; }
.diamond-info small { color: #655c51; }
.diamond-info h2 {
  margin: 10px 0;
  color: #101010;
  font-family: "Inter", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1.25;
}
.diamond-info p { color: #285a4a; font-size: 13px; line-height: 1.45; }
.diamond-info .visual-only-copy {
  display: inline-block;
  margin-top: 7px;
  padding: 5px 8px;
  border-radius: 999px;
  color: #7b4c14;
  background: #fff4dc;
  border: 1px solid rgba(171,126,43,.25);
  font-size: 11px;
  font-weight: 900;
}
.media-links a {
  color: #4f2cff;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 900;
}
.diamond-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0;
  margin: 0;
  border-top: 1px solid #eee9df;
  border-bottom: 1px solid #eee9df;
}
.diamond-specs div { padding: 10px 14px; border-right: 1px solid #eee9df; }
.diamond-specs dt { color: #6f665a; font-size: 11px; }
.diamond-specs dd { margin: 3px 0 0; font-size: 12px; font-weight: 900; }
.diamond-specs .diamond-ref-spec {
  grid-column: 1 / -1;
  border-right: 0;
  border-bottom: 1px solid #eee9df;
  background: #fcfaf5;
}
.diamond-specs .pair-partner-spec {
  grid-column: 1 / -1;
  border-right: 0;
  background: #fffaf0;
}
.pair-partner-spec small { display: block; margin-top: 4px; color: #745f39; font-size: 10px; line-height: 1.35; }
.inventory-grid.pair-results-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.pair-result {
  min-width: 0;
  overflow: hidden;
  border: 2px solid #cda64e;
  border-radius: 20px;
  background: #fffaf0;
  box-shadow: 0 18px 44px rgba(24,22,18,.1);
}
.pair-result-head {
  display: grid;
  grid-template-columns: minmax(120px, .8fr) minmax(180px, 1.4fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid #dec687;
  background: linear-gradient(135deg, #fff7e2, #f6e5b6);
}
.pair-result-head > div:first-child { display: grid; gap: 3px; }
.pair-result-head span,
.pair-result-head small { color: #70582b; font-size: 10px; font-weight: 800; }
.pair-result-head strong { color: #17130d; font-size: 14px; }
.pair-result-summary { display: flex; flex-wrap: wrap; gap: 5px 10px; }
.pair-result-summary span { white-space: nowrap; }
.pair-combined-price { display: grid; gap: 2px; text-align: right; }
.pair-combined-price strong { color: #8b6014; font-size: 18px; }
.pair-stones {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  padding: 2px;
  background: #d8bd7a;
}
.pair-stones .diamond-card {
  position: relative;
  height: 100%;
  border: 0;
  border-radius: 16px;
  box-shadow: none;
}
.pair-stone-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  color: #fff;
  background: #172131;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pair-stone-label span {
  position: absolute;
  z-index: 3;
  top: 7px;
  right: -13px;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  color: #172131;
  background: #f6d887;
  font-size: 18px;
}
.diamond-ref-code {
  max-width: 100%;
  color: #17130e;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 11px !important;
  line-height: 1.25;
  letter-spacing: .035em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.diamond-fulfilment-spec dd {
  overflow-wrap: anywhere;
  line-height: 1.25;
}
.cert-link { color: #4f2cff; text-decoration: underline; text-underline-offset: 3px; }
.selection-media-links { white-space: nowrap; }
.selection-media-links span { color: #8a8173; }
.diamond-supplier {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid #eee9df;
}
.diamond-supplier span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #111;
  background: #d8d2c7;
  font-size: 12px;
  font-weight: 900;
}
.diamond-supplier small { margin-left: auto; color: #6f665a; }
.diamond-price { display: grid; gap: 2px; padding: 14px 18px 18px; }
.diamond-price span { color: #6f665a; font-size: 13px; }
.diamond-price strong { color: #111; font-size: 22px; }
.diamond-price small { color: #6f665a; }
.diamond-price .delivery-note {
  margin-top: 6px;
  color: #8d6526;
  font-weight: 800;
  line-height: 1.35;
}
.selection-card-form {
  margin-top: 12px;
}
.selection-card-form .button,
.selection-hold-panel .button,
.selection-table-head .button {
  width: 100%;
  justify-content: center;
  border: 0;
  cursor: pointer;
}
.selection-card-form .button.cart-remove {
  color: #6d211d;
  background: #fff3ef;
  border: 1px solid #d9a197;
}
.selection-card-form .button.cart-remove:hover,
.selection-card-form .button.cart-remove:focus {
  color: #fff;
  background: #9f3b31;
}
.selection-cart-link {
  position: relative;
  font-weight: 900;
}
.quick-selection-form,
.selection-float form {
  margin: 0;
}
.quick-selection-form .button {
  min-height: 42px;
  border: 0;
  cursor: pointer;
}
.selection-float {
  position: fixed;
  right: 18px;
  bottom: 20px;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(202,150,48,.35);
  border-radius: 999px;
  background: rgba(23,21,16,.92);
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
  backdrop-filter: blur(10px);
}
.selection-float a,
.selection-float button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  color: #fff8e8;
  text-decoration: none;
  font-size: 12px;
  font-weight: 900;
}
.selection-float button {
  border: 0;
  cursor: pointer;
  background: rgba(255,255,255,.08);
  font-family: inherit;
}
.selection-float-main {
  background: linear-gradient(135deg, #fff1b8, #ca9630);
  color: #151515 !important;
}
.selection-float-main strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  min-height: 22px;
  margin-left: 7px;
  border-radius: 50%;
  background: #151515;
  color: #fff8e8;
}
.scroll-anchor {
  display: block;
  scroll-margin-top: 110px;
}
.selection-alert {
  margin: 0 0 18px;
  padding: 14px 18px;
  border-radius: 18px;
  font-weight: 900;
  line-height: 1.4;
}
.selection-alert.success {
  color: #17402e;
  background: #e8f5ee;
  border: 1px solid #b7dec9;
}
.selection-alert.error {
  color: #6d211d;
  background: #fff0ee;
  border: 1px solid #e3aaa4;
}
.disabled-link {
  pointer-events: none;
  opacity: .45;
}
.selection-shell .market-title h1 {
  max-width: 760px;
}
.selection-summary-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 14px;
  margin: 22px 0;
}
.selection-summary-grid article {
  padding: 20px;
  border: 1px solid #e1d8c8;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(24,22,18,0.06);
}
.selection-summary-grid span {
  display: block;
  color: #6f665a;
  font-size: 13px;
}
.selection-summary-grid strong {
  display: block;
  margin-top: 8px;
  color: #111;
  font-size: 28px;
  letter-spacing: -0.04em;
}
.selection-hold-panel {
  display: grid;
  grid-template-columns: minmax(0,1fr) 320px;
  gap: 18px;
  align-items: end;
  margin: 22px 0;
  padding: 26px;
  border-radius: 28px;
  color: var(--ivory);
  background:
    linear-gradient(90deg, rgba(7,8,7,0.92), rgba(7,8,7,0.64)),
    url("../img/siemme-luxury-hero-v1.webp") center / cover;
}
.selection-hold-panel h2 {
  color: var(--ivory);
  margin-bottom: 8px;
}
.selection-hold-panel p {
  color: rgba(248,243,233,0.78);
  margin-bottom: 0;
}
.selection-hold-panel form {
  display: grid;
  gap: 10px;
}
.selection-hold-panel label {
  display: grid;
  gap: 6px;
  color: rgba(248,243,233,0.78);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.selection-hold-panel select {
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(255,255,255,0.94);
  color: #111;
  font: inherit;
  font-weight: 900;
}
.selection-holds {
  margin: 22px 0;
}
.selection-hold-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}
.selection-hold-list article {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid #e1d8c8;
  border-radius: 18px;
  background: #fff;
}
.selection-hold-list span,
.selection-hold-list small {
  color: #6f665a;
}
.selection-table-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 12px;
}
.selection-table-head h2 {
  margin-bottom: 0;
}
.selection-table-head form {
  min-width: 180px;
}
.button.danger {
  color: #6d211d;
  background: #fff0ee;
  border: 1px solid #e3aaa4;
}
.text-button {
  border: 0;
  padding: 0;
  color: #4f2cff;
  background: transparent;
  font: inherit;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.inline-hold-action {
  margin-top: 10px;
}
.danger-text {
  color: #8a251f;
}
.inventory-list {
  grid-template-columns: 1fr;
  gap: 10px;
}
.inventory-list .diamond-card {
  display: grid;
  grid-template-columns: 118px minmax(260px, 1fr) minmax(290px, .8fr) minmax(180px, .45fr);
  align-items: stretch;
}
.inventory-list .diamond-photo { aspect-ratio: auto; min-height: 116px; }
.inventory-list .diamond-info { padding: 18px; }
.inventory-list .diamond-specs {
  grid-template-columns: repeat(4, minmax(0,1fr));
  border-top: 0;
  border-bottom: 0;
  border-left: 1px solid #eee9df;
}
.inventory-list .diamond-supplier { display: none; }
.inventory-list .diamond-price {
  justify-content: center;
  border-left: 1px solid #eee9df;
}
.inventory-large {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.inventory-large .diamond-photo { aspect-ratio: 1 / .95; }
.inventory-large .diamond-info h2 { font-size: 22px; }
.bulk-panel {
  margin-top: 34px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  padding: clamp(24px, 4vw, 42px);
  color: var(--ivory);
  border-radius: 30px;
  background:
    linear-gradient(90deg, rgba(7,8,7,0.82), rgba(7,8,7,0.38)),
    url("../img/siemme-luxury-hero-v1.webp") center / cover;
}
.bulk-panel h2 { max-width: 800px; margin-bottom: 12px; color: var(--ivory); }
.bulk-panel p { color: rgba(248,243,233,0.78); }
.supplier-welcome { margin-bottom: 24px; }
.metric-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 14px;
  margin-bottom: 22px;
}
.metric-row.customer-metrics {
  grid-template-columns: repeat(4, minmax(0,1fr));
}
.metric-row article, .analytics-card, .inventory-table-card {
  padding: 22px;
  border: 1px solid #e1dcd1;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(24,22,18,0.07);
}
.metric-row span, .metric-row small { color: #6f665a; }
.metric-row strong { display: block; margin: 10px 0 4px; font-size: 32px; letter-spacing: -0.04em; }
.analytics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
  margin-bottom: 22px;
}
.analytics-card h2, .inventory-table-card h2 {
  color: #141414;
  font-family: "Inter", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -0.04em;
}
.analytics-card p { color: #6f665a; line-height: 1.55; }
.dark-card {
  color: var(--ivory);
  background:
    linear-gradient(90deg, rgba(7,8,7,0.9), rgba(7,8,7,0.42)),
    url("../img/diamond-card-v1.webp") center / cover;
}
.dark-card h2, .dark-card p { color: var(--ivory); }
.donut {
  width: 140px;
  height: 140px;
  display: grid;
  place-items: center;
  margin: 20px auto;
  border-radius: 50%;
  background: conic-gradient(#6d42ff calc(var(--p) * 1%), #efeae1 0);
}
.donut span {
  width: 88px;
  height: 88px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  font-weight: 900;
}
.shape-bars { display: grid; gap: 11px; list-style: none; padding: 0; margin: 0; }
.shape-bars li { display: grid; grid-template-columns: 80px 1fr 112px; gap: 8px; align-items: center; font-size: 13px; }
.shape-bars b { display: block; height: 8px; border-radius: 999px; background: linear-gradient(90deg, #d9bd79, #6d42ff); }
.shape-bars em { color: #6f665a; font-style: normal; text-align: right; }
.inventory-table-card { overflow-x: auto; }
.table-note {
  color: #6f665a;
  line-height: 1.55;
}
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px 10px; border-bottom: 1px solid #eee9df; text-align: left; font-size: 14px; }
th { color: #6f665a; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }

.supplier-shell {
  color: #171410;
}
.supplier-shell .supplier-welcome,
.supplier-shell .metric-row article,
.supplier-shell .analytics-card,
.supplier-shell .inventory-table-card {
  background-color: #fff;
  color: #171410;
}
.supplier-shell .dark-card {
  background:
    linear-gradient(90deg, rgba(255,255,255,0.94), rgba(255,255,255,0.88)),
    url("../img/diamond-card-v1.webp") center / cover;
}
.supplier-shell .dark-card h2,
.supplier-shell .dark-card p,
.supplier-shell table,
.supplier-shell th,
.supplier-shell td {
  color: #171410;
}

.support-body {
  color: #16130f;
  background:
    radial-gradient(circle at 18% 4%, rgba(217,189,121,0.20), transparent 26%),
    linear-gradient(135deg, #fbf8ef 0%, #f4ead9 52%, #ffffff 52%, #f8f8f6 100%);
}
.support-top {
  color: var(--ink);
  background: rgba(255,255,255,0.92);
  border-color: #e7dcc8;
}
.support-top nav { color: #4f473e; }
.support-top .brand small { color: #7d715f; }
.support-shell {
  width: min(1160px, calc(100vw - 40px));
  margin: 0 auto;
  padding: clamp(38px, 6vw, 86px) 0;
}
.support-hero,
.support-title {
  padding: clamp(34px, 5vw, 62px);
  border: 1px solid #e3d8c5;
  border-radius: 34px;
  background:
    linear-gradient(115deg, rgba(255,255,255,0.94), rgba(255,250,240,0.88)),
    url("../img/diamond-card-v1.webp") right center / auto 120% no-repeat;
  box-shadow: var(--soft-shadow);
}
.support-hero h1,
.support-title h1,
.support-article h1 {
  max-width: 880px;
  color: #16130f;
  font-size: clamp(48px, 7vw, 92px);
}
.support-hero p,
.support-title p,
.support-article p {
  max-width: 820px;
  color: #5e554a;
  font-size: 18px;
  line-height: 1.65;
}
.support-search {
  max-width: 760px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 24px;
}
.support-search input,
.request-form input,
.request-form select,
.request-form textarea {
  width: 100%;
  border: 1px solid #dfcfb4;
  border-radius: 18px;
  background: #fffaf0;
  padding: 15px 16px;
  color: #16130f;
  font: inherit;
}
.support-search button,
.request-form button,
.article-helpful button {
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #fff1ad, #c6942e);
  color: #111;
  padding: 13px 22px;
  font-weight: 900;
  cursor: pointer;
}
.support-tiles,
.support-category-grid,
.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
  margin: 28px 0;
}
.support-tiles a,
.support-category-grid article,
.faq-grid article,
.support-list a,
.support-confirm,
.request-form,
.support-article,
.article-layout aside {
  border: 1px solid #e3d8c5;
  border-radius: 24px;
  background: rgba(255,255,255,0.88);
  box-shadow: 0 14px 34px rgba(24,22,18,0.06);
}
.support-tiles a,
.support-category-grid article,
.faq-grid article {
  padding: 24px;
}
.support-tiles strong {
  display: block;
  font-size: 22px;
  margin-bottom: 8px;
}
.support-tiles span,
.support-category-grid p,
.support-list span,
.faq-grid a,
.article-layout aside a,
.contact-list span {
  color: #62594d;
  line-height: 1.55;
}
.support-section { margin: 42px 0; }
.support-section h2,
.support-category-grid h3,
.faq-grid h2,
.article-layout aside h3 {
  font-family: "Inter", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  font-size: 22px;
  letter-spacing: -0.04em;
}
.support-list {
  display: grid;
  gap: 12px;
}
.support-list.large { margin-top: 28px; }
.support-list a {
  display: grid;
  gap: 8px;
  padding: 20px 22px;
}
.support-list strong { font-size: 18px; }
.faq-grid a,
.article-layout aside a {
  display: block;
  margin: 12px 0;
}
.article-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 22px;
  align-items: start;
}
.article-layout aside,
.support-article,
.request-form,
.support-confirm {
  padding: 26px;
}
.support-mini-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
  margin-top: 18px;
}
.support-mini-metrics span {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid #e8dcc8;
  border-radius: 18px;
  background: #fffaf0;
  color: #62594d;
}
.support-mini-metrics strong {
  color: #16130f;
  font-size: 28px;
}
.support-article .article-summary {
  color: #2e2a23;
  font-size: 22px;
}
.article-helpful {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid #e5d8bf;
}
.article-helpful span { color: #746a5c; }
.request-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}
.request-form label {
  display: grid;
  gap: 7px;
  font-weight: 800;
}
.request-form label:nth-child(7),
.request-form label:nth-child(8),
.request-form label:nth-child(9),
.request-form label:nth-child(10),
.request-form button {
  grid-column: 1 / -1;
}
.form-error {
  padding: 14px 18px;
  color: #792b22;
  border: 1px solid #d99a91;
  border-radius: 16px;
  background: #fff1ef;
}
.contact-list {
  display: grid;
  gap: 14px;
  padding: 0;
  margin: 26px 0;
  list-style: none;
}
.contact-list li {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid #e8dcc8;
}
.contact-list a { color: var(--gold-deep); font-weight: 900; }
.resource-hero {
  color: var(--ivory);
  background:
    linear-gradient(90deg, rgba(7,8,7,0.86), rgba(7,8,7,0.35)),
    url("../img/siemme-luxury-hero-v1.webp") center / cover;
}
.resource-hero h1,
.resource-hero p { color: var(--ivory); }

@media (max-width: 1120px) {
  .inventory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .market-title, .market-filters, .metric-row, .analytics-grid { grid-template-columns: 1fr; }
  .selection-summary-grid,
  .selection-hold-panel,
  .selection-hold-list { grid-template-columns: 1fr; }
  .two-col { grid-template-columns: 1fr; }
  .metric-row.customer-metrics { grid-template-columns: 1fr; }
  .profile-grid { grid-template-columns: 1fr; }
  .profile-section-head { display: grid; }
  .market-actions { justify-content: flex-start; }
  .inventory-list .diamond-card { grid-template-columns: 110px 1fr; }
  .inventory-list .diamond-specs,
  .inventory-list .diamond-price { border-left: 0; }
}

@media (max-width: 640px) {
  .inventory-grid { grid-template-columns: 1fr; }
  .diamond-specs { grid-template-columns: 1fr 1fr; }
  .diamond-ref-code { font-size: 13px !important; letter-spacing: .06em; }
  .pair-filter-group { grid-template-columns: 1fr; padding: 12px; }
  .info-tip::after { position: fixed; left: 24px; right: 24px; bottom: 24px; width: auto; transform: none; }
  .info-tip:hover::after,
  .info-tip:focus-visible::after { transform: none; }
  .bulk-panel { display: grid; }
  .form-grid-2 { grid-template-columns: 1fr; }
  .support-shell { width: min(100vw - 24px, 1160px); }
  .support-search,
  .support-tiles,
  .support-category-grid,
  .faq-grid,
  .article-layout,
  .request-form,
  .support-mini-metrics,
  .contact-list li {
    grid-template-columns: 1fr;
  }
  .support-hero,
  .support-title,
  .support-article,
  .request-form,
  .profile-card {
    padding: 22px;
    border-radius: 22px;
  }
  .profile-summary dl div { grid-template-columns: 1fr; gap: 4px; }
  .profile-shell { width: min(100vw - 24px, 1180px); }
}

/* ============================================================
   SIEMME THEME V2 OVERRIDE — appended 2026-07-03 (Cowork)
   Purpose: flat navy/gold luxury re-skin of all pages, no markup changes.
   Rollback: delete everything below this marker, or restore
   assets/css/styles_backup_pre_v2_20260703.css
   Fonts: Cormorant Garamond loads where the page links it (index.html now;
   Cursor to self-host under assets/fonts/ and add to PHP header emitters).
   Fallback is Georgia — safe either way.
   ============================================================ */
:root{
  --onyx:#0b1422;
  --night:#101b2d;
  --charcoal:#101b2d;
  --ivory:#f4efe5;
  --warm:#efe8da;
  --paper:#faf7f1;
  --muted:#6f6455;
  --champagne:#c49a4a;
  --line:rgba(184,141,59,.28);
  --line-dark:rgba(196,154,74,.30);
  --shadow:0 10px 30px rgba(10,12,20,.16);
  --soft-shadow:0 6px 16px rgba(20,20,30,.08);
  --radius:4px;
}
body{
  background:var(--paper);
  font-family:"Inter","Segoe UI",ui-sans-serif,system-ui,-apple-system,sans-serif;
}
h1,h2{
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:.005em;
}
h1{font-size:clamp(38px,4.6vw,60px);line-height:1.12}
h2{font-size:clamp(28px,3.4vw,42px);line-height:1.15}
.register-card h1,.quote-hero h1{font-size:clamp(34px,4.2vw,54px)}
.eyebrow{font-weight:500;letter-spacing:.2em;font-size:12px}
.lead{font-size:clamp(17px,1.9vw,20px)}

.site-header{background:var(--night);backdrop-filter:none;border-bottom:1px solid var(--line-dark)}
.brand strong{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500}
.brand-mark{box-shadow:none}

.brand-mark{
  background: transparent url("../img/brand/siemme-logo-round-transparent-2048.webp?v=20260704") center / contain no-repeat !important;
  border: 0 !important;
  box-shadow: none !important;
  color: transparent !important;
  text-indent: -9999px;
  overflow: hidden;
}

.button,.nav-cta{border-radius:2px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;font-size:13px}
.button.primary{background:var(--champagne);color:var(--onyx);box-shadow:none}
.button.primary:hover{background:#d3a959}
.button.secondary,.button.ghost{box-shadow:none}
.trust-line span,.trust-line a{border-radius:2px;font-weight:500}
.mini-locale select,.mini-locale button{border-radius:2px;font-weight:500}
.text-link{font-weight:600}

.register-shell,.quote-shell{
  background:var(--night);
}
.register-card,.quote-hero,.showcase-copy{
  border-radius:4px;
  background:rgba(255,255,255,.045);
  backdrop-filter:none;
}
.diamond-showcase{border-radius:4px}
.cards article,.feature-grid article,.upload-form,.file-drop{border-radius:4px}
.file-drop{border-radius:2px}

/* Weight normalization — luxury never shouts */
[class] b,strong{font-weight:600}
.site-footer strong{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:.1em}
/* ===================== END THEME V2 OVERRIDE ===================== */

/* ============================================================
   SIEMME BRAND CONTINUITY V2.1 — appended 2026-07-04 (Codex)
   Purpose: make PHP/search/account/support pages feel like the same
   brand system as the V2 homepage without touching business logic.
   ============================================================ */
body{
  background:
    linear-gradient(180deg, rgba(250,247,241,.96), rgba(250,247,241,1) 280px),
    var(--paper) !important;
}

.site-header{
  min-height:72px;
  padding:14px clamp(22px,4vw,62px) !important;
  background:var(--night) !important;
  color:var(--ivory) !important;
  box-shadow:none !important;
}

.site-header .brand,
.auth-brand{
  gap:16px;
}

.site-header .brand-mark,
.auth-brand .brand-mark{
  width:54px !important;
  height:54px !important;
  flex:0 0 54px;
}

.site-header .brand strong,
.auth-brand strong{
  color:var(--ivory) !important;
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif !important;
  font-size:24px !important;
  line-height:1 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
}

.site-header .brand small,
.auth-brand small{
  color:rgba(244,239,229,.58) !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
  font-weight:500 !important;
}

.site-header .brand small{
  font-size:0 !important;
}

.site-header .brand small::after{
  content:"Two Origins · One Source";
  display:block;
  font-size:10px;
}

.site-header nav{
  gap:24px !important;
  color:rgba(244,239,229,.74) !important;
  font-size:12px !important;
  letter-spacing:.14em !important;
  font-weight:500 !important;
}

.site-header nav a:hover{
  color:var(--champagne) !important;
}

.support-top{
  background:var(--night) !important;
}

.support-body,
.profile-body,
.market-body,
.analytics-body,
.customer-body{
  background:var(--paper) !important;
}

.market-shell,
.selection-shell,
.profile-shell,
.dashboard-shell,
.supplier-shell,
.support-shell,
.article-layout,
.support-hero,
.support-title,
.request-form,
.register-card,
.quote-hero{
  border-radius:4px !important;
}

.market-shell,
.selection-shell,
.profile-shell,
.supplier-shell,
.support-shell{
  width:min(100vw - 40px,1180px) !important;
}

.market-title,
.support-hero,
.support-title,
.supplier-welcome,
.customer-welcome,
.profile-hero,
.selection-hero{
  background:transparent !important;
  box-shadow:none !important;
}

.market-title h1,
.support-hero h1,
.support-title h1,
.supplier-welcome h1,
.customer-welcome h1,
.profile-hero h1,
.selection-hero h1{
  color:var(--ink) !important;
}

.filters,
.market-toolbar,
.metric-row article,
.analytics-card,
.inventory-table-card,
.support-card,
.support-article,
.profile-card,
.selection-summary-grid article,
.diamond-card{
  border:1px solid rgba(196,154,74,.24) !important;
  border-radius:4px !important;
  box-shadow:var(--soft-shadow) !important;
  background:#fffdf8 !important;
}

.diamond-card{
  overflow:hidden;
}

.diamond-card .button,
.quick-selection-form .button,
.selection-float a,
.selection-float button{
  border-radius:2px !important;
}

.register-shell,
.quote-shell{
  background:
    radial-gradient(circle at 76% 18%, rgba(196,154,74,.12), transparent 28%),
    var(--night) !important;
}

.register-card,
.quote-hero{
  border:1px solid rgba(196,154,74,.28) !important;
  background:rgba(255,255,255,.055) !important;
  box-shadow:none !important;
}

.auth-card-head{
  align-items:flex-start;
}

.auth-brand small{
  font-size:0 !important;
}

.auth-brand small::after{
  content:"Two Origins · One Source";
  display:block;
  color:rgba(244,239,229,.62);
  font-size:10px;
  line-height:1.2;
  letter-spacing:.22em;
  text-transform:uppercase;
}

@media(max-width:900px){
  .site-header{
    align-items:flex-start;
    gap:12px;
  }
  .site-header nav{
    width:100%;
    gap:14px !important;
    flex-wrap:wrap;
  }
}
/* ===================== END BRAND CONTINUITY V2.1 ===================== */

/* ============================================================
   SIEMME BRAND CONTINUITY V2.2 — appended 2026-07-04 (Codex)
   Purpose: align inner PHP pages with the newer navy/gold homepage
   lockup instead of leaving search/account/support in an older white
   header system. Business logic untouched.
   ============================================================ */
.market-header,
.site-header.support-top{
  min-height:84px !important;
  padding:14px clamp(26px,4vw,72px) !important;
  background:#101b2d !important;
  color:#f4efe5 !important;
  border-bottom:1px solid rgba(196,154,74,.24) !important;
  box-shadow:none !important;
}

.market-header .brand,
.site-header.support-top .brand{
  position:relative !important;
  display:block !important;
  width:310px !important;
  height:64px !important;
  flex:0 0 310px !important;
  background:transparent url("../img/brand/siemme-lockup-script-transparent-v1.webp?v=20260703") left top / 230px auto no-repeat !important;
}

.market-header .brand > *,
.site-header.support-top .brand > *{
  visibility:hidden !important;
}

.market-header .brand::after,
.site-header.support-top .brand::after{
  content:"Two Origins · One Source";
  position:absolute;
  left:66px;
  top:48px;
  display:block;
  color:rgba(244,239,229,.58);
  font-size:10px;
  line-height:1;
  letter-spacing:.24em;
  text-transform:uppercase;
  white-space:nowrap;
}

.market-header nav,
.site-header.support-top nav{
  margin-left:auto !important;
  color:rgba(244,239,229,.76) !important;
}

.market-header nav a,
.site-header.support-top nav a{
  color:rgba(244,239,229,.76) !important;
}

.market-header nav a:hover,
.site-header.support-top nav a:hover{
  color:#c49a4a !important;
}

.market-shell,
.selection-shell,
.profile-shell,
.supplier-shell,
.support-shell{
  padding-top:clamp(44px,5vw,72px) !important;
}

.market-title{
  border-bottom:0 !important;
}

.market-title h1,
.selection-hero h1,
.profile-hero h1,
.supplier-welcome h1,
.customer-welcome h1,
.support-hero h1,
.support-title h1{
  font-size:clamp(42px,5vw,68px) !important;
  line-height:.98 !important;
}

.ai-search-panel,
.filters,
.selection-summary-grid article,
.metric-row article,
.support-card,
.profile-card,
.analytics-card,
.inventory-table-card{
  background:#fffdf8 !important;
  border-color:rgba(196,154,74,.28) !important;
}

.button.primary,
.filters button[type="submit"],
.ai-search-form button,
.locale-form button{
  background:#c49a4a !important;
  color:#101b2d !important;
  border-color:#c49a4a !important;
  border-radius:2px !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.button.secondary,
.market-actions .button.secondary,
.selection-cart-link{
  border-radius:2px !important;
  border-color:rgba(196,154,74,.42) !important;
  color:#101b2d !important;
}

@media(max-width:900px){
  .market-header,
  .site-header.support-top{
    min-height:auto !important;
    padding:14px 18px !important;
  }
  .market-header .brand,
  .site-header.support-top .brand{
    width:260px !important;
    height:60px !important;
    flex-basis:260px !important;
    background-size:205px auto !important;
  }
  .market-header .brand::after,
  .site-header.support-top .brand::after{
    left:58px;
    top:44px;
    font-size:9px;
    letter-spacing:.18em;
  }
  .market-header nav,
  .site-header.support-top nav{
    margin-left:0 !important;
  }
}
/* ===================== END BRAND CONTINUITY V2.2 ===================== */

/* ============================================================
   SIEMME MOBILE FIT + BRAND CONSISTENCY V2.3 — appended 2026-07-05 (Codex)
   Purpose: stop mobile overflow, align login/auth brand lockups with
   the homepage script logo, and turn wide data tables into readable
   mobile cards. Business logic untouched.
   ============================================================ */
html,
body{
  max-width:100% !important;
  overflow-x:hidden !important;
}

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

.auth-brand{
  position:relative !important;
  display:block !important;
  width:min(330px,100%) !important;
  height:76px !important;
  margin-bottom:18px !important;
  background:transparent url("../img/brand/siemme-lockup-script-transparent-v1.webp?v=20260703") left top / 252px auto no-repeat !important;
}

.auth-brand > *{
  visibility:hidden !important;
}

.auth-brand::after{
  content:"Two Origins · One Source";
  position:absolute;
  left:72px;
  top:54px;
  color:rgba(244,239,229,.62);
  font-size:10px;
  line-height:1;
  letter-spacing:.22em;
  text-transform:uppercase;
  white-space:nowrap;
}

.auth-card-head{
  display:block !important;
}

.register-card,
.quote-hero{
  width:min(100%,620px) !important;
}

.selection-table-card table,
.inventory-table-card table{
  width:100%;
  table-layout:auto;
}

.selection-table-card td,
.selection-table-card th,
.inventory-table-card td,
.inventory-table-card th{
  overflow-wrap:anywhere;
}

@media(max-width:720px){
  .market-header,
  .site-header.support-top{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:10px !important;
    padding:14px 16px !important;
  }

  .market-header .brand,
  .site-header.support-top .brand{
    width:min(330px,calc(100vw - 32px)) !important;
    height:70px !important;
    flex:0 0 auto !important;
    background-size:min(258px,72vw) auto !important;
  }

  .market-header .brand::after,
  .site-header.support-top .brand::after{
    left:min(72px,19vw) !important;
    top:51px !important;
    font-size:9px !important;
    letter-spacing:.16em !important;
  }

  .market-header nav,
  .site-header.support-top nav{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    gap:14px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:4px 0 2px !important;
    white-space:nowrap !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .market-header nav::-webkit-scrollbar,
  .site-header.support-top nav::-webkit-scrollbar{
    display:none;
  }

  .market-shell,
  .selection-shell,
  .profile-shell,
  .supplier-shell,
  .support-shell{
    width:min(100%,calc(100vw - 24px)) !important;
    max-width:calc(100vw - 24px) !important;
    padding-top:30px !important;
  }

  .market-title,
  .selection-hero,
  .profile-hero,
  .supplier-welcome,
  .customer-welcome{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    width:100% !important;
  }

  .market-title h1,
  .selection-hero h1,
  .profile-hero h1,
  .supplier-welcome h1,
  .customer-welcome h1,
  .support-hero h1,
  .support-title h1{
    font-size:clamp(38px,12vw,54px) !important;
    line-height:1.02 !important;
  }

  .market-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    width:100% !important;
  }

  .market-actions a,
  .market-actions button,
  .market-actions form,
  .market-actions .button{
    width:100% !important;
    min-width:0 !important;
  }

  .locale-form{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:12px !important;
  }

  .locale-form label,
  .locale-form select,
  .locale-form button{
    width:100% !important;
    min-width:0 !important;
  }

  .ai-search-panel{
    width:100% !important;
    padding:22px !important;
  }

  .ai-search-panel h2{
    font-size:clamp(30px,9.5vw,42px) !important;
    line-height:1.05 !important;
  }

  .ai-search-form{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .ai-search-form input,
  .ai-search-form button{
    width:100% !important;
    min-width:0 !important;
  }

  .market-tabs{
    width:100% !important;
    display:flex !important;
    gap:22px !important;
    overflow-x:auto !important;
    white-space:nowrap !important;
    -webkit-overflow-scrolling:touch;
  }

  .filters,
  .market-filters{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    padding:16px !important;
    gap:12px !important;
  }

  .filters label,
  .filters input,
  .filters select,
  .filters button,
  .market-filters label,
  .market-filters input,
  .market-filters select,
  .market-filters button,
  .filter-button{
    width:100% !important;
    min-width:0 !important;
  }

  .view-switch{
    max-width:100% !important;
    overflow-x:auto !important;
  }

  .inventory-grid,
  .diamond-grid{
    grid-template-columns:1fr !important;
  }

  .inventory-list .diamond-card,
  .diamond-list .diamond-card{
    grid-template-columns:108px minmax(0,1fr) !important;
  }

  .diamond-card{
    max-width:100% !important;
  }

  .diamond-photo{
    min-width:0 !important;
  }

  .selection-float{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    max-width:calc(100vw - 20px) !important;
    overflow-x:auto !important;
    justify-content:flex-start !important;
    -webkit-overflow-scrolling:touch;
  }

  .selection-float a,
  .selection-float button{
    white-space:nowrap !important;
    flex:0 0 auto !important;
  }

  .selection-summary-grid,
  .metric-row,
  .analytics-grid,
  .profile-grid,
  .support-grid{
    grid-template-columns:1fr !important;
  }

  .selection-hold-panel{
    padding:22px !important;
  }

  .selection-hold-panel form{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .selection-hold-panel select,
  .selection-hold-panel button{
    width:100% !important;
  }

  .selection-table-head{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    align-items:start !important;
  }

  .selection-table-card{
    overflow:visible !important;
    padding:16px !important;
  }

  .selection-table-card table,
  .selection-table-card thead,
  .selection-table-card tbody,
  .selection-table-card tr,
  .selection-table-card th,
  .selection-table-card td{
    display:block !important;
    width:100% !important;
  }

  .selection-table-card thead{
    display:none !important;
  }

  .selection-table-card tr{
    padding:14px 0 !important;
    border-bottom:1px solid rgba(196,154,74,.18) !important;
  }

  .selection-table-card tr:last-child{
    border-bottom:0 !important;
  }

  .selection-table-card td{
    display:grid !important;
    grid-template-columns:96px minmax(0,1fr) !important;
    gap:12px !important;
    padding:7px 0 !important;
    white-space:normal !important;
    text-align:left !important;
  }

  .selection-table-card td::before{
    color:var(--muted,#6f6455);
    font-size:11px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  .selection-table-card td:nth-child(1)::before{content:"Ref";}
  .selection-table-card td:nth-child(2)::before{content:"Stone";}
  .selection-table-card td:nth-child(3)::before{content:"Cert";}
  .selection-table-card td:nth-child(4)::before{content:"Media";}
  .selection-table-card td:nth-child(5)::before{content:"Location";}
  .selection-table-card td:nth-child(6)::before{content:"Price/ct";}
  .selection-table-card td:nth-child(7)::before{content:"Total";}
  .selection-table-card td:nth-child(8)::before{content:"Action";}

  .supplier-shell .inventory-table-card{
    overflow:visible !important;
    padding:14px !important;
  }

  .supplier-shell .inventory-table-card table,
  .supplier-shell .inventory-table-card thead,
  .supplier-shell .inventory-table-card tbody,
  .supplier-shell .inventory-table-card tr,
  .supplier-shell .inventory-table-card th,
  .supplier-shell .inventory-table-card td{
    display:block !important;
    width:100% !important;
  }

  .supplier-shell .inventory-table-card thead{
    display:none !important;
  }

  .supplier-shell .inventory-table-card tr{
    padding:12px 0 !important;
    border-bottom:1px solid rgba(196,154,74,.18) !important;
  }

  .supplier-shell .inventory-table-card td{
    display:grid !important;
    grid-template-columns:102px minmax(0,1fr) !important;
    gap:10px !important;
    padding:6px 0 !important;
    white-space:normal !important;
    text-align:left !important;
  }

  .supplier-shell .inventory-table-card td::before{
    color:var(--muted,#6f6455);
    font-size:10px;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
  }

  .supplier-shell .inventory-table-card td:nth-child(1)::before{content:"Ref";}
  .supplier-shell .inventory-table-card td:nth-child(2)::before{content:"Stone";}
  .supplier-shell .inventory-table-card td:nth-child(3)::before{content:"Cert";}
  .supplier-shell .inventory-table-card td:nth-child(4)::before{content:"Measure";}
  .supplier-shell .inventory-table-card td:nth-child(5)::before{content:"Price/ct";}
  .supplier-shell .inventory-table-card td:nth-child(6)::before{content:"Total";}
  .supplier-shell .inventory-table-card td:nth-child(7)::before{content:"Location";}
  .supplier-shell .inventory-table-card td:nth-child(8)::before{content:"Media";}
  .supplier-shell .inventory-table-card td:nth-child(9)::before{content:"Status";}

  .register-shell{
    padding:22px 14px !important;
  }

  .register-card{
    padding:26px 20px !important;
  }

  .register-card form,
  .profile-card form,
  .upload-form{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .register-card input,
  .register-card select,
  .register-card textarea,
  .profile-card input,
  .profile-card select,
  .profile-card textarea,
  .upload-form input,
  .upload-form select,
  .upload-form textarea{
    width:100% !important;
    min-width:0 !important;
  }
}

/* Register compact V1.1 — remove wasted desktop rows and stop mobile overflow. */
@media(min-width:980px){
  .register-shell .register-card:not(.login-card) .register-form .form-grid-2{
    grid-column:1 / -1 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form > label:has(input[name="email"]),
  .register-shell .register-card:not(.login-card) .register-form > label:has(input[name="whatsapp"]),
  .register-shell .register-card:not(.login-card) .register-form > label:has(input[name="telegram"]){
    grid-column:auto !important;
  }

  .register-shell .register-card:not(.login-card) .register-form input,
  .register-shell .register-card:not(.login-card) .register-form select,
  .register-shell .register-card:not(.login-card) .register-form textarea{
    min-height:38px !important;
    padding:8px 11px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form{
    gap:10px 12px !important;
    padding:20px !important;
  }
}

@media(max-width:720px){
  html,
  body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .register-shell .register-card:not(.login-card),
  .register-shell .register-card:not(.login-card) *,
  .register-shell .register-card:not(.login-card)::before,
  .register-shell .register-card:not(.login-card)::after{
    box-sizing:border-box !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:end !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale label{
    min-width:0 !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale select{
    min-width:0 !important;
    width:100% !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale button{
    width:auto !important;
    min-width:72px !important;
    padding:0 12px !important;
  }
}

@media(max-width:520px){
  .market-actions{
    grid-template-columns:1fr !important;
  }

  body.view-list .inventory-grid,
  body.view-list .diamond-grid{
    gap:14px !important;
  }

  .inventory-list .diamond-card,
  .diamond-list .diamond-card{
    grid-template-columns:1fr !important;
    display:grid !important;
    overflow:hidden !important;
  }

  body.view-list .inventory-list .diamond-photo,
  body.view-list .diamond-list .diamond-photo{
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:1.15 / .82 !important;
    border-radius:18px 18px 0 0 !important;
  }

  body.view-list .inventory-list .diamond-photo img,
  body.view-list .diamond-list .diamond-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  body.view-list .inventory-list .diamond-info,
  body.view-list .diamond-list .diamond-info{
    padding:18px 18px 12px !important;
    min-width:0 !important;
  }

  body.view-list .inventory-list .diamond-info h2,
  body.view-list .diamond-list .diamond-info h2{
    font-size:23px !important;
    line-height:1.08 !important;
    overflow-wrap:anywhere !important;
  }

  body.view-list .inventory-list .diamond-specs,
  body.view-list .diamond-list .diamond-specs{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;
    border-left:0 !important;
    border-top:1px solid rgba(196,154,74,.22) !important;
    border-bottom:1px solid rgba(196,154,74,.22) !important;
  }

  body.view-list .inventory-list .diamond-specs div,
  body.view-list .diamond-list .diamond-specs div{
    min-width:0 !important;
    padding:12px 14px !important;
    border-right:1px solid rgba(196,154,74,.16) !important;
    border-bottom:1px solid rgba(196,154,74,.16) !important;
  }

  body.view-list .inventory-list .diamond-specs dt,
  body.view-list .diamond-list .diamond-specs dt{
    white-space:normal !important;
    font-size:10px !important;
    line-height:1.15 !important;
  }

  body.view-list .inventory-list .diamond-specs dd,
  body.view-list .diamond-list .diamond-specs dd{
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    font-size:13px !important;
    line-height:1.18 !important;
  }

  body.view-list .inventory-list .diamond-price,
  body.view-list .diamond-list .diamond-price{
    border-left:0 !important;
    padding:18px !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
  }

  body.view-list .inventory-list .diamond-price strong,
  body.view-list .diamond-list .diamond-price strong{
    font-size:30px !important;
    line-height:1 !important;
  }

  body.view-list .selection-card-form .button,
  body.view-list .diamond-price .button{
    width:100% !important;
    min-height:52px !important;
    white-space:normal !important;
  }

  body:not(.view-list) .diamond-photo{
    min-height:220px !important;
  }

  .auth-brand{
    width:min(300px,100%) !important;
    height:72px !important;
    background-size:min(238px,76vw) auto !important;
  }

  .auth-brand::after{
    left:min(68px,20vw) !important;
    top:51px !important;
    font-size:9px !important;
    letter-spacing:.16em !important;
  }
}
/* ===================== END MOBILE FIT + BRAND CONTINUITY V2.3 ===================== */

/* ============================================================
   SIEMME MOBILE NAVIGATION V2.4 — appended 2026-07-06 (Codex)
   Purpose: phone headers use a real hamburger/dropdown menu instead
   of horizontal nav scrolling. Desktop layout remains unchanged.
   ============================================================ */
.mobile-menu-toggle{
  display:none;
  width:46px;
  height:42px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  border:1px solid rgba(196,154,74,.36);
  border-radius:2px;
  background:rgba(255,255,255,.03);
  color:inherit;
  cursor:pointer;
}

.mobile-menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:currentColor;
  border-radius:99px;
  transition:transform .18s ease, opacity .18s ease;
}

@media(max-width:720px){
  .market-header,
  .site-header.support-top{
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  .market-header .brand,
  .site-header.support-top .brand{
    width:min(282px,calc(100vw - 92px)) !important;
    height:64px !important;
    flex:1 1 auto !important;
    background-size:min(226px,62vw) auto !important;
  }

  .market-header .brand::after,
  .site-header.support-top .brand::after{
    left:min(64px,17vw) !important;
    top:48px !important;
    letter-spacing:.16em !important;
  }

  .market-header .mobile-menu-toggle,
  .site-header.support-top .mobile-menu-toggle{
    display:inline-flex !important;
    flex:0 0 46px !important;
    color:#f4efe5 !important;
  }

  .market-header.mobile-menu-open .mobile-menu-toggle span:nth-child(1),
  .site-header.support-top.mobile-menu-open .mobile-menu-toggle span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }

  .market-header.mobile-menu-open .mobile-menu-toggle span:nth-child(2),
  .site-header.support-top.mobile-menu-open .mobile-menu-toggle span:nth-child(2){
    opacity:0;
  }

  .market-header.mobile-menu-open .mobile-menu-toggle span:nth-child(3),
  .site-header.support-top.mobile-menu-open .mobile-menu-toggle span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }

  .market-header nav,
  .site-header.support-top nav{
    display:none !important;
    width:100% !important;
    margin:8px 0 0 !important;
    padding:18px 0 4px !important;
    border-top:1px solid rgba(196,154,74,.22) !important;
    overflow:visible !important;
    white-space:normal !important;
  }

  .market-header.mobile-menu-open nav,
  .site-header.support-top.mobile-menu-open nav{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  .market-header nav a,
  .site-header.support-top nav a{
    display:flex !important;
    min-height:44px !important;
    align-items:center !important;
    padding:10px 2px !important;
    border-bottom:1px solid rgba(244,239,229,.08) !important;
    white-space:normal !important;
  }
}
/* ===================== END MOBILE NAVIGATION V2.4 ===================== */

/* ============================================================
   SIEMME MOBILE NAVIGATION V2.5 — appended 2026-07-06 (Codex)
   Purpose: correct the open-phone menu. V2.3 previously made the
   nav horizontally scroll; V2.4 added a toggle but still allowed a
   cramped side-by-side brand/menu composition. This layer forces a
   proper full-width drawer.
   ============================================================ */
@media(max-width:720px){
  .market-header,
  .site-header.support-top{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    width:100% !important;
    min-height:74px !important;
    padding:10px 14px !important;
    background:#101b2d !important;
    overflow:visible !important;
  }

  .market-header .brand,
  .site-header.support-top .brand{
    order:1 !important;
    width:min(252px,calc(100vw - 82px)) !important;
    max-width:calc(100vw - 82px) !important;
    height:54px !important;
    flex:0 1 auto !important;
    background-size:min(206px,56vw) auto !important;
    background-position:left top !important;
    overflow:hidden !important;
  }

  .market-header .brand::after,
  .site-header.support-top .brand::after{
    left:min(58px,16vw) !important;
    top:39px !important;
    font-size:8px !important;
    letter-spacing:.15em !important;
    max-width:calc(100vw - 92px) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .market-header .mobile-menu-toggle,
  .site-header.support-top .mobile-menu-toggle{
    order:2 !important;
    display:inline-flex !important;
    flex:0 0 46px !important;
    width:46px !important;
    height:46px !important;
    margin-left:auto !important;
    color:#f4efe5 !important;
    background:rgba(255,255,255,.04) !important;
    border-color:rgba(196,154,74,.45) !important;
  }

  .market-header nav,
  .site-header.support-top nav{
    order:3 !important;
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    display:none !important;
    grid-template-columns:1fr !important;
    margin:8px 0 0 !important;
    padding:8px 0 0 !important;
    border-top:1px solid rgba(196,154,74,.28) !important;
    overflow:visible !important;
    white-space:normal !important;
    background:transparent !important;
  }

  .market-header.mobile-menu-open nav,
  .site-header.support-top.mobile-menu-open nav{
    display:grid !important;
  }

  .market-header nav a,
  .site-header.support-top nav a{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:48px !important;
    padding:12px 4px !important;
    color:rgba(244,239,229,.82) !important;
    border-bottom:1px solid rgba(244,239,229,.10) !important;
    font-size:13px !important;
    letter-spacing:.14em !important;
    line-height:1.25 !important;
    text-align:left !important;
    white-space:normal !important;
  }

  .market-header nav a:last-child,
  .site-header.support-top nav a:last-child{
    border-bottom:0 !important;
  }
}

@media(max-width:430px){
  .market-header .brand,
  .site-header.support-top .brand{
    width:min(232px,calc(100vw - 78px)) !important;
    height:52px !important;
    background-size:min(190px,53vw) auto !important;
  }

  .market-header .brand::after,
  .site-header.support-top .brand::after{
    left:min(54px,15vw) !important;
    top:37px !important;
    font-size:7.5px !important;
    letter-spacing:.14em !important;
  }
}
/* ===================== END MOBILE NAVIGATION V2.5 ===================== */

/* ===================== SIEMME REGISTER COMPACT V1 — 2026-07-07 =====================
   Trade access is not a login form. Keep it wide and calm on desktop, compact on phone,
   and keep consent checkboxes readable without giant centered wrapping.
   ================================================================================ */
.register-shell .register-card:not(.login-card){
  width:min(1120px, calc(100vw - 48px)) !important;
  max-width:1120px !important;
  padding:clamp(28px,3.2vw,42px) !important;
}

.register-shell .register-card:not(.login-card) .auth-card-head{
  margin-bottom:14px !important;
}

.register-shell .register-card:not(.login-card) .auth-brand{
  min-height:54px !important;
}

.register-shell .register-card:not(.login-card) h1{
  margin:10px 0 10px !important;
  font-size:clamp(42px,4.2vw,62px) !important;
  line-height:.92 !important;
}

.register-shell .register-card:not(.login-card) .lead{
  max-width:780px !important;
  margin:0 0 18px !important;
  font-size:clamp(16px,1.35vw,19px) !important;
  line-height:1.45 !important;
}

.register-shell .register-card:not(.login-card) .auth-locale{
  margin:0 0 14px !important;
  padding:8px !important;
}

.register-shell .register-card:not(.login-card) .register-form{
  margin-top:18px !important;
  padding:22px !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px 14px !important;
  box-shadow:0 20px 60px rgba(0,0,0,.20) !important;
}

.register-shell .register-card:not(.login-card) .register-form > label,
.register-shell .register-card:not(.login-card) .register-form .form-grid-2{
  margin:0 !important;
}

.register-shell .register-card:not(.login-card) .register-form > label,
.register-shell .register-card:not(.login-card) .register-form .form-grid-2 label{
  gap:6px !important;
  font-size:12px !important;
  line-height:1.25 !important;
}

.register-shell .register-card:not(.login-card) .register-form > label:first-child,
.register-shell .register-card:not(.login-card) .register-form > label:has(input[name="company"]),
.register-shell .register-card:not(.login-card) .register-form > label:has(input[name="company_street"]),
.register-shell .register-card:not(.login-card) .register-form > label:has(input[name="email"]),
.register-shell .register-card:not(.login-card) .register-form > label:has(input[name="whatsapp"]),
.register-shell .register-card:not(.login-card) .register-form > label:has(input[name="telegram"]),
.register-shell .register-card:not(.login-card) .register-form > label:has(select[name="verification_method"]),
.register-shell .register-card:not(.login-card) .register-form .consent-line,
.register-shell .register-card:not(.login-card) .register-form .button,
.register-shell .register-card:not(.login-card) .register-form .form-note{
  grid-column:1 / -1 !important;
}

.register-shell .register-card:not(.login-card) .register-form .form-grid-2{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}

.register-shell .register-card:not(.login-card) .register-form input,
.register-shell .register-card:not(.login-card) .register-form select,
.register-shell .register-card:not(.login-card) .register-form textarea{
  min-height:42px !important;
  padding:10px 12px !important;
  border-radius:12px !important;
  font-size:13px !important;
  line-height:1.2 !important;
}

.register-shell .register-card:not(.login-card) .register-form .consent-line{
  display:grid !important;
  grid-template-columns:20px minmax(0,1fr) !important;
  gap:10px !important;
  align-items:start !important;
  text-align:left !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

.register-shell .register-card:not(.login-card) .register-form .consent-line input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  min-height:18px !important;
  margin:1px 0 0 !important;
  padding:0 !important;
  justify-self:start !important;
  border-radius:4px !important;
}

.register-shell .register-card:not(.login-card) .register-form .button{
  min-height:44px !important;
  margin-top:2px !important;
}

.register-shell .register-card:not(.login-card) .register-form .form-note{
  margin:0 !important;
  font-size:11px !important;
  line-height:1.35 !important;
}

.register-shell .register-card:not(.login-card) .register-form .field-wide{
  grid-column:1 / -1 !important;
}

.register-shell .register-card:not(.login-card) .register-form .field-half{
  grid-column:auto !important;
}

@media(min-width:980px){
  .register-shell .register-card:not(.login-card){
    display:grid !important;
    grid-template-columns:minmax(260px,.72fr) minmax(620px,1.28fr) !important;
    gap:28px 34px !important;
    align-items:start !important;
  }

  .register-shell .register-card:not(.login-card) .auth-card-head,
  .register-shell .register-card:not(.login-card) .auth-locale,
  .register-shell .register-card:not(.login-card) h1,
  .register-shell .register-card:not(.login-card) .lead,
  .register-shell .register-card:not(.login-card) .notice,
  .register-shell .register-card:not(.login-card) > p:not(.lead){
    grid-column:1 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form{
    grid-column:2 !important;
    grid-row:1 / span 10 !important;
    margin-top:0 !important;
  }
}

@media(max-width:720px){
  .register-shell{
    padding:0 !important;
  }

  .register-shell .register-card:not(.login-card){
    width:100% !important;
    max-width:none !important;
    min-height:100vh !important;
    margin:0 !important;
    padding:20px 18px 28px !important;
    border-left:0 !important;
    border-right:0 !important;
  }

  .register-shell .register-card:not(.login-card) .auth-card-head{
    margin-bottom:10px !important;
  }

  .register-shell .register-card:not(.login-card) .auth-brand{
    width:min(260px,78vw) !important;
    min-height:58px !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale{
    width:100% !important;
    grid-template-columns:1fr auto !important;
    gap:8px !important;
    margin-bottom:12px !important;
  }

  .register-shell .register-card:not(.login-card) h1{
    font-size:clamp(38px,11vw,52px) !important;
    margin:8px 0 !important;
  }

  .register-shell .register-card:not(.login-card) .lead{
    font-size:15px !important;
    line-height:1.42 !important;
    margin-bottom:14px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form{
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:16px !important;
    border-radius:18px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .field-half,
  .register-shell .register-card:not(.login-card) .register-form .field-wide{
    grid-column:1 / -1 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .form-grid-2,
  .register-shell .register-card:not(.login-card) .register-form .phone-grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form > label,
  .register-shell .register-card:not(.login-card) .register-form .form-grid-2 label{
    font-size:13px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form input,
  .register-shell .register-card:not(.login-card) .register-form select,
  .register-shell .register-card:not(.login-card) .register-form textarea{
    min-height:48px !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    font-size:16px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line{
    grid-template-columns:22px minmax(0,1fr) !important;
    gap:12px !important;
    font-size:13px !important;
    line-height:1.35 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line input[type="checkbox"]{
    width:20px !important;
    height:20px !important;
    min-height:20px !important;
    margin-top:2px !important;
  }
}

/* ===================== SIEMME REGISTER COMPACT V1.2 — cascade lock =====================
   Purpose: registration must feel like a smart trade-access desk, not a long form.
   Keep desktop two-panel/compact, mobile single-column/no horizontal drift, and checkbox
   consent rows aligned. This block intentionally sits last for this page. */

@media(min-width:980px){
  .register-shell .register-card:not(.login-card){
    width:min(1120px,calc(100vw - 72px)) !important;
    max-width:1120px !important;
    padding:30px !important;
    gap:24px 32px !important;
    grid-template-columns:minmax(250px,.68fr) minmax(660px,1.32fr) !important;
  }

  .register-shell .register-card:not(.login-card) .auth-brand{
    width:min(260px,100%) !important;
    min-height:58px !important;
  }

  .register-shell .register-card:not(.login-card) h1{
    font-size:clamp(42px,4vw,58px) !important;
    margin:10px 0 8px !important;
  }

  .register-shell .register-card:not(.login-card) .lead{
    font-size:14px !important;
    line-height:1.38 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px 10px !important;
    padding:16px !important;
    border-radius:18px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form > label,
  .register-shell .register-card:not(.login-card) .register-form .form-grid-2 label{
    gap:4px !important;
    font-size:11px !important;
    line-height:1.2 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form input,
  .register-shell .register-card:not(.login-card) .register-form select,
  .register-shell .register-card:not(.login-card) .register-form textarea{
    min-height:34px !important;
    padding:7px 10px !important;
    border-radius:11px !important;
    font-size:12px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form textarea{
    min-height:54px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form > label.field-half,
  .register-shell .register-card:not(.login-card) .register-form > label.field-half:has(input[name="company_zip"]),
  .register-shell .register-card:not(.login-card) .register-form > label.field-half:has(input[name="email"]),
  .register-shell .register-card:not(.login-card) .register-form > label.field-half:has(input[name="whatsapp"]),
  .register-shell .register-card:not(.login-card) .register-form > label.field-half:has(input[name="telegram"]){
    grid-column:auto / span 1 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form > label.field-wide,
  .register-shell .register-card:not(.login-card) .register-form > label.field-wide:has(select[name="role"]),
  .register-shell .register-card:not(.login-card) .register-form > label.field-wide:has(input[name="company"]),
  .register-shell .register-card:not(.login-card) .register-form > label.field-wide:has(input[name="company_street"]),
  .register-shell .register-card:not(.login-card) .register-form > label.field-wide:has(select[name="verification_method"]),
  .register-shell .register-card:not(.login-card) .register-form .form-grid-2,
  .register-shell .register-card:not(.login-card) .register-form .phone-grid,
  .register-shell .register-card:not(.login-card) .register-form .consent-line,
  .register-shell .register-card:not(.login-card) .register-form .button,
  .register-shell .register-card:not(.login-card) .register-form .form-note{
    grid-column:1 / -1 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .form-grid-2,
  .register-shell .register-card:not(.login-card) .register-form .phone-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px 10px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line{
    grid-template-columns:18px minmax(0,1fr) !important;
    gap:8px !important;
    font-size:11px !important;
    line-height:1.25 !important;
    align-items:start !important;
    text-align:left !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line input[type="checkbox"]{
    width:16px !important;
    height:16px !important;
    min-height:16px !important;
    margin:0 !important;
    align-self:start !important;
    justify-self:start !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .button{
    min-height:36px !important;
    padding:8px 14px !important;
  }
}

@media(max-width:720px){
  html,
  body{
    overflow-x:hidden !important;
  }

  .register-shell .register-card:not(.login-card),
  .register-shell .register-card:not(.login-card) *{
    box-sizing:border-box !important;
    max-width:100% !important;
  }

  .register-shell .register-card:not(.login-card){
    padding:16px 14px 24px !important;
  }

  .register-shell .register-card:not(.login-card) .auth-brand{
    width:min(245px,82vw) !important;
    min-height:52px !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 82px !important;
    gap:8px !important;
    width:100% !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale button{
    width:100% !important;
    min-width:0 !important;
  }

  .register-shell .register-card:not(.login-card) h1{
    font-size:clamp(36px,10vw,48px) !important;
  }

  .register-shell .register-card:not(.login-card) .lead{
    font-size:14px !important;
    line-height:1.36 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form{
    gap:9px !important;
    padding:14px !important;
    border-radius:16px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form > label,
  .register-shell .register-card:not(.login-card) .register-form .form-grid-2 label{
    gap:5px !important;
    font-size:12px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form input,
  .register-shell .register-card:not(.login-card) .register-form select,
  .register-shell .register-card:not(.login-card) .register-form textarea{
    min-height:42px !important;
    padding:10px 12px !important;
    border-radius:14px !important;
    font-size:15px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line{
    display:grid !important;
    grid-template-columns:22px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:start !important;
    justify-content:start !important;
    text-align:left !important;
    font-size:12px !important;
    line-height:1.32 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line input[type="checkbox"]{
    width:18px !important;
    height:18px !important;
    min-height:18px !important;
    margin:1px 0 0 !important;
    align-self:start !important;
    justify-self:start !important;
    flex:0 0 18px !important;
  }
}

/* ===================== SIEMME REGISTER MOBILE FIT V1.3 =====================
   Hard stop for horizontal overflow on phone browsers. */
@media(max-width:720px){
  .register-shell{
    width:100vw !important;
    max-width:100vw !important;
    overflow-x:hidden !important;
  }

  .register-shell .register-card:not(.login-card){
    width:100vw !important;
    max-width:100vw !important;
    overflow:hidden !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale{
    grid-template-columns:minmax(0,1fr) 74px !important;
    align-items:end !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale label,
  .register-shell .register-card:not(.login-card) .auth-locale select,
  .register-shell .register-card:not(.login-card) .auth-locale button{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale select{
    font-size:14px !important;
    padding-left:10px !important;
    padding-right:28px !important;
  }

  .register-shell .register-card:not(.login-card) .lead{
    width:100% !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }

  .register-shell .register-card:not(.login-card) .register-form{
    width:100% !important;
    max-width:100% !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:20px minmax(0,1fr) !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line span,
  .register-shell .register-card:not(.login-card) .register-form .consent-line{
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
}

/* ===================== SIEMME REGISTER MOBILE FIT V1.4 =====================
   Phone rule: no compact row is allowed to create sideways scroll. */
@media(max-width:720px){
  .register-shell .register-card:not(.login-card) .auth-locale{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale label,
  .register-shell .register-card:not(.login-card) .auth-locale select,
  .register-shell .register-card:not(.login-card) .auth-locale button{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale button{
    margin-top:8px !important;
    min-height:40px !important;
  }

  .register-shell .register-card:not(.login-card) .lead,
  .register-shell .register-card:not(.login-card) > p,
  .register-shell .register-card:not(.login-card) .register-form,
  .register-shell .register-card:not(.login-card) .register-form > label{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .register-shell .register-card:not(.login-card) .lead,
  .register-shell .register-card:not(.login-card) .register-form > label,
  .register-shell .register-card:not(.login-card) .register-form .consent-line{
    white-space:normal !important;
    overflow-wrap:break-word !important;
  }
}

/* ===================== SIEMME REGISTER MOBILE TEXT V1.5 =====================
   Keep no horizontal scroll, but never chop public copy or consent text. */
@media(max-width:720px){
  .register-shell{
    overflow-x:hidden !important;
    overflow-y:visible !important;
  }

  .register-shell .register-card:not(.login-card){
    overflow-x:hidden !important;
    overflow-y:visible !important;
  }

  .register-shell .register-card:not(.login-card) .lead,
  .register-shell .register-card:not(.login-card) > p,
  .register-shell .register-card:not(.login-card) .register-form,
  .register-shell .register-card:not(.login-card) .register-form > label,
  .register-shell .register-card:not(.login-card) .register-form .consent-line{
    overflow:visible !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line{
    align-items:start !important;
  }
}

/* ===================== SIEMME REGISTER MOBILE GUTTER V1.6 =====================
   Passing a width test is not enough; phone layouts need visible breathing room. */
@media(max-width:720px){
  .register-shell .register-card:not(.login-card){
    width:calc(100vw - 28px) !important;
    max-width:calc(100vw - 28px) !important;
    margin:0 auto !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .register-shell .register-card:not(.login-card) .lead{
    max-width:calc(100vw - 56px) !important;
  }

  .register-shell .register-card:not(.login-card) .register-form{
    width:100% !important;
  }
}

/* ===================== SIEMME REGISTER MOBILE FINISH V1.7 =====================
   Consent copy is an explicit span now: wrap it cleanly, tighten phone rhythm,
   and keep the registration card inside the viewport without clipping. */
@media(max-width:720px){
  .register-shell{
    align-items:start !important;
    padding:12px 0 28px !important;
  }

  .register-shell .register-card:not(.login-card){
    width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important;
    padding:14px 12px 18px !important;
    gap:12px !important;
    overflow:visible !important;
  }

  .register-shell .register-card:not(.login-card) .auth-brand{
    width:min(260px,100%) !important;
    min-height:48px !important;
    margin-bottom:2px !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale{
    padding:8px !important;
    border-radius:14px !important;
    margin:0 !important;
  }

  .register-shell .register-card:not(.login-card) .auth-locale select,
  .register-shell .register-card:not(.login-card) .auth-locale button{
    min-height:38px !important;
    border-radius:10px !important;
  }

  .register-shell .register-card:not(.login-card) h1{
    font-size:38px !important;
    line-height:.95 !important;
    margin:4px 0 0 !important;
  }

  .register-shell .register-card:not(.login-card) .lead{
    width:100% !important;
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.35 !important;
    margin:0 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form{
    width:100% !important;
    max-width:100% !important;
    padding:12px !important;
    gap:7px !important;
    border-radius:16px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .form-grid-2,
  .register-shell .register-card:not(.login-card) .register-form .phone-grid{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form > label,
  .register-shell .register-card:not(.login-card) .register-form .form-grid-2 label{
    font-size:11px !important;
    line-height:1.15 !important;
    gap:4px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form input,
  .register-shell .register-card:not(.login-card) .register-form select,
  .register-shell .register-card:not(.login-card) .register-form textarea{
    min-height:38px !important;
    padding:8px 12px !important;
    border-radius:13px !important;
    font-size:14px !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line{
    display:grid !important;
    grid-template-columns:18px minmax(0,1fr) !important;
    gap:8px !important;
    align-items:start !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:2px !important;
    color:#17120b !important;
    text-align:left !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line input[type="checkbox"]{
    width:16px !important;
    height:16px !important;
    min-height:16px !important;
    margin:2px 0 0 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .consent-line span{
    display:block !important;
    min-width:0 !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    font-size:11px !important;
    line-height:1.28 !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .button{
    min-height:38px !important;
    padding:8px 12px !important;
    font-size:12px !important;
    letter-spacing:.12em !important;
  }

  .register-shell .register-card:not(.login-card) .register-form .form-note{
    font-size:10px !important;
    line-height:1.25 !important;
  }

  .register-shell .register-card:not(.login-card) .contact-mini{
    width:100% !important;
    max-width:100% !important;
    font-size:12px !important;
    line-height:1.45 !important;
    overflow-wrap:anywhere !important;
  }
}

/* ===================== SIEMME REGISTER HELP COPY V1.8 =====================
   Registration helper links should read as clear support/account actions,
   not as a loose string of unrelated links. */
.register-help{
  display:grid;
  gap:8px;
  margin-top:24px;
  color:rgba(255,255,255,.86);
  font-size:15px;
  line-height:1.45;
}

.register-help p{
  margin:0;
}

.register-help strong{
  color:var(--champagne);
  font-weight:900;
}

.register-help a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media(max-width:720px){
  .register-help{
    margin-top:16px !important;
    gap:6px !important;
    font-size:12px !important;
    line-height:1.38 !important;
  }
}

/* ===================== SIEMME CHANNEL VERIFICATION UX V1 =====================
   Public-facing verification must be explicit: adding Email/Telegram/WhatsApp
   is not the same as verifying each channel. Keep this visually clear. */
.channel-verification-note{
  display:grid;
  gap:6px;
  padding:12px 14px;
  border:1px solid rgba(199,154,66,.35);
  border-radius:16px;
  background:rgba(255,247,225,.78);
  color:#17120b;
  line-height:1.35;
}

.channel-verification-note strong{
  color:#7a4b08;
  font-size:13px;
  letter-spacing:.02em;
}

.channel-verification-note span{
  font-size:13px;
}

.verification-summary-card{
  display:grid;
  gap:10px;
  margin:18px 0;
  padding:16px 18px;
  border:1px solid rgba(199,154,66,.38);
  border-radius:20px;
  background:rgba(255,247,225,.08);
  color:#fff;
}

.verification-summary-card h2{
  margin:0;
  font-size:18px;
  line-height:1.15;
  color:var(--champagne);
  letter-spacing:.05em;
  text-transform:uppercase;
}

.verification-summary-card ul{
  display:grid;
  gap:8px;
  margin:0;
  padding-left:19px;
}

.verification-summary-card li,
.verification-summary-card p{
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:14px;
  line-height:1.45;
}

.verification-summary-card strong{
  color:#fff;
}

.verification-summary-card a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

.verification-panel{
  margin:18px 0 20px;
  padding:18px;
  border:1px solid rgba(199,154,66,.35);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,249,237,.96),rgba(245,232,203,.9));
  color:#17120b;
}

.verification-panel h2{
  margin:2px 0 8px;
  font-size:30px;
  line-height:1;
}

.verification-panel p{
  margin:6px 0;
  line-height:1.45;
}

.verification-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.verification-step-card{
  display:grid;
  gap:8px;
  align-content:start;
  padding:14px;
  border:1px solid rgba(33,28,20,.13);
  border-radius:16px;
  background:rgba(255,255,255,.68);
}

.verification-step-card strong{
  color:#17120b;
}

.verification-step-card p{
  margin:0;
  font-size:13px;
}

.verification-step-card.muted{
  opacity:.72;
}

.verification-step-card .text-link{
  color:#5332ff;
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:900;
}

.inline-verify-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  margin-top:4px;
}

.inline-verify-form input{
  width:100%;
  min-height:40px;
  border:1px solid rgba(199,154,66,.32);
  border-radius:12px;
  padding:8px 10px;
  background:#fffaf0;
}

.inline-verify-form button{
  min-height:40px;
  border:0;
  border-radius:12px;
  padding:8px 12px;
  background:linear-gradient(135deg,#fff2ba,#c99b3c);
  color:#15100a;
  font-weight:900;
  cursor:pointer;
}

.verification-footnote{
  margin-top:12px !important;
  font-size:13px;
}

@media(max-width:900px){
  .verification-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .verification-panel{
    padding:14px !important;
    border-radius:18px !important;
  }

  .verification-panel h2{
    font-size:25px !important;
  }

  .verification-panel p{
    font-size:13px !important;
  }

  .inline-verify-form{
    grid-template-columns:1fr;
  }

  .channel-verification-note{
    padding:10px 12px !important;
    border-radius:14px !important;
  }

  .channel-verification-note strong,
  .channel-verification-note span{
    font-size:12px !important;
  }

  .verification-summary-card{
    margin:14px 0 !important;
    padding:13px 14px !important;
    border-radius:16px !important;
  }

  .verification-summary-card h2{
    font-size:14px !important;
  }

  .verification-summary-card li,
  .verification-summary-card p{
    font-size:12px !important;
  }
}

/* Siemme verification clarity layer — channel cards and language strip */
.language-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:flex-end;
  padding:12px;
  margin:0 0 22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(215,184,105,.28);
  border-radius:14px;
}

.language-strip label{
  flex:1 1 180px;
  margin:0;
}

.language-strip select{
  width:100%;
}

.verification-channel-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}

.verification-channel-card{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(215,184,105,.26);
  border-radius:16px;
  padding:16px;
}

.verification-channel-card h2{
  margin:0 0 8px;
  font-family:var(--font-sans, Arial, sans-serif);
  font-size:15px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold,#d8b45d);
}

.verification-channel-card p{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:rgba(255,255,255,.86);
}

.verification-resend{
  margin-top:14px;
  background:transparent;
  border-style:dashed;
}

@media(max-width:760px){
  .verification-channel-grid{
    grid-template-columns:1fr;
  }

  .language-strip{
    display:grid;
    grid-template-columns:1fr auto;
  }

  .language-strip label{
    min-width:0;
  }

  .language-strip .button{
    height:100%;
  }
}

@media(max-width:420px){
  .language-strip{
    grid-template-columns:1fr;
  }
}

/* Siemme supplier upload + support article clarity layer */
.article-direct-cta{
  margin:24px 0;
  padding:24px;
  border:1px solid rgba(201,158,75,.34);
  border-radius:20px;
  background:linear-gradient(135deg,#fffaf0,#f7eddc);
  box-shadow:0 18px 45px rgba(20,15,8,.08);
}

.article-direct-cta h2{
  margin:0 0 8px;
  font-size:26px;
}

.article-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
}

.article-step-card{
  margin:14px 0;
  padding:18px 20px;
  border:1px solid rgba(36,29,21,.12);
  border-radius:18px;
  background:#fffdf8;
}

.article-step-card h3{
  margin:0 0 8px;
  font-size:17px;
  letter-spacing:.08em;
  text-transform:none;
}

.article-step-card p{
  margin:0;
  line-height:1.65;
}

.upload-intake-body{
  min-height:100vh;
  background:#101c2b;
  color:#f7f0e4;
}

.upload-intake-shell{
  width:min(1180px,calc(100% - 48px));
  margin:0 auto;
  padding:88px 0;
}

.upload-intake-hero,
.upload-form-shell{
  border:1px solid rgba(201,158,75,.35);
  border-radius:24px;
  background:rgba(255,255,255,.06);
  box-shadow:0 22px 70px rgba(0,0,0,.24);
}

.upload-intake-hero{
  padding:36px;
  margin-bottom:24px;
}

.upload-intake-hero h1{
  margin:8px 0 10px;
  font-size:clamp(42px,6vw,74px);
}

.upload-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.upload-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:24px;
}

.upload-choice-card{
  padding:22px;
  border:1px solid rgba(201,158,75,.3);
  border-radius:20px;
  background:#172435;
}

.upload-choice-card.recommended{
  background:linear-gradient(135deg,#1b2b40,#2a2417);
}

.upload-choice-card h2{
  margin:6px 0 8px;
  font-size:23px;
}

.upload-choice-card p{
  margin:0;
  line-height:1.55;
}

.upload-choice-card a,
.upload-form-shell a{
  color:#f6d98d;
  text-underline-offset:3px;
}

.upload-form-shell{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:28px;
  padding:30px;
}

.upload-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.upload-form-grid .span-2{
  grid-column:1 / -1;
}

.file-input{
  border:1px dashed rgba(201,158,75,.45);
  border-radius:16px;
  padding:16px;
  background:#f8f1e4;
}

.upload-ops-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:24px 0;
}

.upload-ops-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px;
  border:1px solid rgba(201,158,75,.34);
  border-radius:18px;
  background:rgba(255,248,236,.07);
  color:inherit;
  text-decoration:none;
}

.upload-ops-card strong{
  color:#fff8ea;
  font-size:1rem;
}

.upload-ops-card span{
  color:rgba(255,255,255,.72);
  font-size:.92rem;
  line-height:1.45;
}

.upload-history-card{
  margin-top:26px;
  padding:24px;
  border:1px solid rgba(201,158,75,.34);
  border-radius:22px;
  background:#172435;
}

.upload-section-head{
  margin-bottom:16px;
}

.upload-history-table-wrap{
  overflow-x:auto;
}

.upload-history-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
}

.upload-history-table th,
.upload-history-table td{
  padding:12px 10px;
  border-bottom:1px solid rgba(201,158,75,.22);
  text-align:left;
  vertical-align:top;
}

.upload-history-table th{
  font-size:.75rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#f6d98d;
}

.upload-history-table a{
  color:#f6d98d;
  text-underline-offset:3px;
}

@media(max-width:780px){
  .upload-intake-shell{
    width:min(100% - 28px,560px);
    padding:36px 0;
  }

  .upload-intake-hero,
  .upload-form-shell{
    padding:22px;
    border-radius:20px;
  }

  .upload-choice-grid,
  .upload-ops-grid,
  .upload-form-shell,
  .upload-form-grid{
    grid-template-columns:1fr;
  }

  .upload-history-card{
    padding:16px;
  }

  .upload-history-table{
    min-width:680px;
  }

  .article-direct-cta,
  .article-step-card{
    padding:18px;
    border-radius:16px;
  }

  .article-direct-cta h2{
    font-size:22px;
  }
}
/* Shared locale control appears only on pages whose native header omits a selector. */
.siemme-global-locale{position:fixed;right:12px;top:84px;z-index:1200;display:flex;gap:6px;align-items:end;padding:7px;background:#f8f3e9;border:1px solid #d9bd79;border-radius:8px;box-shadow:0 6px 20px rgba(8,24,43,.14);font-size:10px;text-transform:uppercase}
.siemme-global-locale label{display:grid;gap:2px;font-weight:700}.siemme-global-locale select,.siemme-global-locale button{min-height:30px;border:1px solid #d9bd79;background:#fff;padding:4px 7px}.siemme-global-locale button{background:#c89b43;font-weight:800;cursor:pointer}
@media(max-width:720px){.siemme-global-locale{position:static;margin:8px;justify-content:center;flex-wrap:wrap}}

@media (max-width: 1120px) {
  .inventory-grid.pair-results-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .pair-result-head { grid-template-columns: 1fr; gap: 8px; }
  .pair-combined-price { text-align: left; }
  .pair-stones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pair-stones .diamond-info { padding: 12px 10px 6px; }
  .pair-stones .diamond-info h2 { font-size: 14px; }
  .pair-stones .diamond-specs { grid-template-columns: 1fr; }
  .pair-stones .diamond-specs div { border-right: 0; }
  .pair-stones .diamond-price { padding: 12px 10px; }
  .pair-stones .button { padding-inline: 8px; font-size: 10px; }
}

@media (max-width: 430px) {
  .pair-stones { grid-template-columns: 1fr; }
  .pair-stone-label span { top: auto; right: 50%; bottom: -14px; transform: translateX(50%); }
}

/* Inventory truth + persistent result navigation, 2026-07-23. */
.inventory-status,
.price-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.inventory-status .status-dot,
.price-status .status-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  min-width: 10px;
  min-height: 10px;
  flex: 0 0 10px;
  border-radius: 999px;
  background-color: #756b5d;
  box-shadow: 0 0 0 2px rgba(117, 107, 93, 0.18);
}
.inventory-status.success { color: #18743a; }
.inventory-status.danger,
.price-status.pending { color: #a8241b; }
.inventory-status.neutral { color: #756b5d; }
.inventory-status.success .status-dot {
  background-color: #18743a;
  box-shadow: 0 0 0 2px rgba(24, 116, 58, 0.18);
}
.inventory-status.danger .status-dot,
.price-status.pending .status-dot {
  background-color: #c52b20;
  box-shadow: 0 0 0 2px rgba(197, 43, 32, 0.18);
}
.inventory-list .diamond-specs div {
  padding-inline: 10px;
}
.inventory-list .inventory-status {
  gap: 4px;
  white-space: nowrap;
  font-size: 11px;
}
.inventory-list .inventory-status .status-dot {
  width: 9px;
  height: 9px;
  min-width: 9px;
  min-height: 9px;
  flex-basis: 9px;
}
.diamond-price .price-status.pending {
  color: #a8241b;
  font: inherit;
}
.result-toolbar .result-range {
  display: block;
  margin-top: 3px;
  color: #6f665a;
  font-size: 12px;
}
.market-shell.has-floating-pagination {
  padding-bottom: 158px;
}
.floating-pagination {
  position: fixed;
  z-index: 900;
  left: 50%;
  bottom: max(18px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: minmax(94px, auto) auto minmax(94px, auto);
  align-items: center;
  min-width: 366px;
  overflow: hidden;
  border: 1px solid rgba(201, 157, 69, .75);
  border-radius: 12px;
  background: rgba(13, 27, 46, .97);
  box-shadow: 0 16px 42px rgba(8, 20, 36, .26);
  color: #fff8ea;
}
.floating-pagination a,
.floating-pagination .pagination-disabled,
.floating-pagination .pagination-position {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  white-space: nowrap;
}
.floating-pagination a {
  color: #fff8ea;
  font-weight: 850;
  text-decoration: none;
  transition: background-color .16s ease, color .16s ease;
}
.floating-pagination a:hover,
.floating-pagination a:focus-visible {
  background: #c99d45;
  color: #0d1b2e;
  outline: none;
}
.floating-pagination .pagination-position {
  border-inline: 1px solid rgba(201, 157, 69, .42);
  color: #e8c981;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}
.floating-pagination .pagination-disabled {
  color: rgba(255, 248, 234, .45);
}
@media (min-width: 901px) {
  .floating-pagination {
    right: 24px;
    left: auto;
    min-width: 330px;
    transform: none;
  }
}
@media (max-width: 520px) {
  .result-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }
  .result-toolbar .view-toggle {
    width: 100%;
  }
  .result-toolbar .view-toggle a {
    flex: 1 1 0;
    text-align: center;
  }
  .market-shell.has-floating-pagination {
    padding-bottom: 142px !important;
  }
  .floating-pagination {
    bottom: max(10px, env(safe-area-inset-bottom));
    width: calc(100vw - 24px);
    min-width: 0;
    grid-template-columns: minmax(72px, 1fr) auto minmax(72px, 1fr);
  }
  .floating-pagination a,
  .floating-pagination .pagination-disabled,
  .floating-pagination .pagination-position {
    min-height: 46px;
    padding-inline: 10px;
    font-size: 12px;
  }
}

/* ============================================================
   SIEMME SECONDARY BRAND DESCRIPTOR V2.4 — 2026-07-30
   VMS-approved wording from the supplied banner reference.
   The primary tagline remains "Two Origins · One Source".
   ============================================================ */
.market-header,
.site-header.support-top{
  min-height:98px !important;
}

.market-header .brand,
.site-header.support-top .brand{
  height:78px !important;
  flex-basis:310px !important;
}

.market-header .brand::before,
.site-header.support-top .brand::before{
  content:"A Diamond Product Group";
  position:absolute;
  left:77px;
  top:63px;
  display:block;
  color:rgba(196,154,74,.78);
  font-size:8px;
  line-height:1;
  letter-spacing:.28em;
  text-transform:uppercase;
  white-space:nowrap;
}

.auth-brand{
  height:92px !important;
}

.auth-brand::before{
  content:"A Diamond Product Group";
  position:absolute;
  left:84px;
  top:70px;
  color:rgba(196,154,74,.8);
  font-size:8px;
  line-height:1;
  letter-spacing:.28em;
  text-transform:uppercase;
  white-space:nowrap;
}

@media(max-width:720px){
  .market-header,
  .site-header.support-top{
    min-height:92px !important;
  }

  .market-header .brand,
  .site-header.support-top .brand{
    height:72px !important;
  }

  .market-header .brand::before,
  .site-header.support-top .brand::before{
    left:66px;
    top:57px;
    font-size:7px;
    letter-spacing:.2em;
  }

  .auth-brand::before{
    left:72px;
    font-size:7px;
    letter-spacing:.2em;
  }
}
/* ===================== END SECONDARY BRAND DESCRIPTOR V2.4 ===================== */
.account-menu {
  position: relative;
  align-self: center;
  color: inherit;
}

.account-menu summary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .55rem .75rem;
  border: 1px solid rgba(205, 160, 70, .42);
  border-radius: 999px;
  color: #f7ead1;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  cursor: pointer;
  list-style: none;
  white-space: nowrap;
}

.account-menu summary::-webkit-details-marker {
  display: none;
}

.account-menu summary::after {
  content: "⌄";
  margin-left: .45rem;
  font-size: .9rem;
}

.account-menu[open] summary {
  background: rgba(205, 160, 70, .16);
}

.account-menu-panel {
  position: absolute;
  z-index: 80;
  top: calc(100% + .55rem);
  right: 0;
  display: grid;
  width: min(300px, 86vw);
  padding: 1rem;
  border: 1px solid #d6bd86;
  border-radius: 14px;
  background: #fffaf1;
  box-shadow: 0 18px 44px rgba(10, 22, 38, .26);
  color: #14243a;
}

.account-menu-panel strong,
.account-menu-panel span,
.account-menu-panel small {
  display: block;
  overflow-wrap: anywhere;
}

.account-menu-panel strong {
  font-size: 1rem;
}

.account-menu-panel span {
  margin-top: .18rem;
  color: #435267;
  font-size: .82rem;
}

.account-menu-panel small {
  margin: .25rem 0 .7rem;
  color: #806126;
  font-weight: 700;
}

.account-menu-panel a {
  display: block;
  min-height: 44px;
  padding: .72rem .2rem;
  border-top: 1px solid #eadfc8;
  color: #14243a !important;
  font-size: .78rem !important;
  letter-spacing: .02em !important;
  text-decoration: none;
}

.account-menu-panel .account-logout {
  color: #a32828 !important;
  font-weight: 800;
}

.selection-enquiry-panel button:disabled,
.selection-hold-panel button:disabled,
.selection-table-head button:disabled {
  opacity: .45;
  cursor: not-allowed;
  filter: grayscale(.28);
}

.saved-searches-panel {
  margin: 1.15rem 0;
  padding: 1.2rem;
  border: 1px solid #dfc994;
  border-radius: 18px;
  background: linear-gradient(135deg, #fffdf8, #f8f0df);
  box-shadow: 0 12px 34px rgba(65, 46, 13, .07);
}

.saved-searches-head {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  align-items: end;
}

.saved-searches-head h2,
.selection-enquiry-panel h2,
.holds-heading h2 {
  margin: .12rem 0 .35rem;
}

.saved-searches-head p,
.selection-enquiry-panel p {
  margin: 0;
}

.current-filter-review {
  grid-column: 1 / -1;
  padding: 1rem;
  border: 1px solid #ddc998;
  border-radius: 14px;
  background: #fffaf0;
}

.current-filter-review > p {
  margin-top: .5rem;
}

.saved-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .65rem;
}

.saved-filter-chips span {
  display: inline-flex;
  gap: .25rem;
  padding: .45rem .6rem;
  border: 1px solid #e5d7b9;
  border-radius: 999px;
  background: #fff;
  color: #4f473c;
  font-size: .72rem;
  line-height: 1.3;
}

.saved-filter-chips.compact {
  margin: .45rem 0;
}

.save-search-form {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
  align-items: end;
  padding: 1rem;
  border: 1px solid #ddc998;
  border-radius: 14px;
  background: #fffaf0;
}

.save-search-form label,
.selection-enquiry-panel label {
  display: grid;
  gap: .32rem;
  color: #2b2b2b;
  font-size: .74rem;
  font-weight: 800;
}

.save-search-form input,
.save-search-form select,
.selection-enquiry-panel select,
.selection-enquiry-panel textarea {
  width: 100%;
  min-height: 44px;
  padding: .72rem .78rem;
  border: 1px solid #d7c59f;
  border-radius: 9px;
  background: #fff;
  color: #111;
  font: inherit;
}

.saved-search-name {
  grid-column: span 2;
}

.saved-search-pair-fields {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  min-width: 0;
  margin: .1rem 0 0;
  padding: .85rem;
  border: 1px solid #e2d2ae;
  border-radius: 10px;
}

.saved-search-pair-fields[hidden] {
  display: none;
}

.pair-filter-group[hidden] {
  display: none;
}

.saved-search-pair-fields legend {
  padding: 0 .35rem;
  color: #6f5a2a;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.saved-search-submit {
  display: flex;
  grid-column: 1 / -1;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding-top: .2rem;
}

.saved-search-submit p {
  max-width: 720px;
  color: #62583f;
  font-size: .78rem;
}

.saved-search-editing {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding: .75rem 1rem;
  border: 1px solid #c99a35;
  border-radius: 10px;
  background: #fff4d7;
}

.saved-search-editing a,
.saved-search-actions a.icon-action {
  text-decoration: none;
}

.saved-search-empty {
  margin: 1rem 0 0;
  padding: .8rem 1rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, .65);
  color: #62583f;
}

.saved-search-list {
  display: grid;
  gap: .7rem;
  margin-top: 1rem;
}

.saved-search-list article {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  padding: .85rem 1rem;
  border: 1px solid #e5d8bb;
  border-radius: 12px;
  background: #fff;
}

.saved-search-update {
  flex: 1 0 100%;
  padding-top: .65rem;
  border-top: 1px solid #eadfc9;
}

.saved-search-update summary {
  cursor: pointer;
  font-weight: 800;
}

.saved-search-update form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: .65rem;
  align-items: end;
  margin-top: .65rem;
}

.saved-search-update label {
  display: grid;
  gap: .3rem;
  font-size: .74rem;
  font-weight: 800;
}

.saved-search-update input {
  width: 100%;
  min-height: 44px;
  padding: .7rem .75rem;
  border: 1px solid #d7c59f;
  border-radius: 9px;
  background: #fff;
  color: #111;
  font: inherit;
}

.saved-search-list article.is-pinned {
  border-color: #c99a35;
  box-shadow: inset 4px 0 0 #c99a35;
}

.saved-search-list article > div:first-child {
  display: grid;
  gap: .2rem;
}

.saved-search-list small,
.saved-search-list span {
  color: #6f6758;
  font-size: .72rem;
}

.saved-search-actions {
  display: flex;
  gap: .35rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.saved-search-actions form {
  margin: 0;
}

.icon-action {
  min-height: 40px;
  padding: .55rem .65rem;
  border: 1px solid #d8caa9;
  border-radius: 8px;
  background: #fffaf1;
  color: #17243a;
  cursor: pointer;
}

.item-actions {
  display: grid;
  gap: .5rem;
  margin-top: .65rem;
}

.item-actions .button,
.item-actions form,
.item-actions form .button {
  width: 100%;
}

.contact-required {
  border-color: #b3262e !important;
  background: #b3262e !important;
  color: #fff !important;
}

.contact-required-note {
  color: #9e252c !important;
  font-size: .7rem;
  line-height: 1.35;
}

.selection-enquiry-panel {
  display: grid;
  grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr);
  gap: 1.25rem;
  margin: 1rem 0;
  padding: 1.25rem;
  border: 1px solid #d7bf88;
  border-radius: 18px;
  background: #fffaf1;
}

.selection-enquiry-panel > form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  align-items: end;
}

.selection-enquiry-panel .enquiry-message {
  grid-column: 1 / -1;
}

.selection-enquiry-panel textarea {
  min-height: 82px;
  resize: vertical;
}

.selection-enquiry-panel > form > .button {
  grid-column: 1 / -1;
}

.recent-enquiries {
  grid-column: 1 / -1;
  display: grid;
  gap: .35rem;
  padding-top: .85rem;
  border-top: 1px solid #e6d8bb;
}

.recent-enquiries h3 {
  margin: 0;
}

.recent-enquiries span {
  color: #5f5747;
  font-size: .78rem;
}

.holds-heading {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}

.hold-counts {
  display: flex;
  gap: .45rem;
  flex-wrap: wrap;
}

.hold-counts span {
  padding: .48rem .7rem;
  border: 1px solid #ddcfb0;
  border-radius: 999px;
  background: #fffaf1;
  font-size: .74rem;
}

.hold-groups {
  display: grid;
  gap: .65rem;
  margin-top: .75rem;
}

.hold-group {
  border: 1px solid #e0d5bd;
  border-radius: 12px;
  background: #fff;
}

.hold-group summary {
  display: flex;
  min-height: 48px;
  padding: .8rem 1rem;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  font-weight: 800;
}

.hold-group > p,
.hold-group .selection-hold-list {
  margin: 0 .75rem .75rem;
}

.selection-row-actions {
  display: grid;
  gap: .25rem;
  min-width: 90px;
}

.selection-row-actions form {
  margin: 0;
}

@media (max-width: 900px) {
  .saved-searches-head,
  .selection-enquiry-panel {
    grid-template-columns: 1fr;
  }

  .saved-search-update form {
    grid-template-columns: 1fr;
  }

  .save-search-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-menu {
    width: 100%;
  }

  .account-menu summary {
    width: 100%;
    justify-content: space-between;
  }

  .account-menu-panel {
    position: static;
    width: 100%;
    margin-top: .5rem;
    box-shadow: none;
  }
}

@media (max-width: 640px) {
  .saved-searches-panel,
  .selection-enquiry-panel {
    padding: 1rem;
    border-radius: 14px;
  }

  .save-search-form,
  .selection-enquiry-panel > form {
    grid-template-columns: 1fr;
  }

  .saved-search-name,
  .saved-search-pair-fields,
  .saved-search-submit {
    grid-column: 1;
  }

  .saved-search-pair-fields {
    grid-template-columns: 1fr;
  }

  .saved-search-submit {
    align-items: stretch;
    flex-direction: column;
  }

  .saved-search-list article,
  .holds-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .saved-search-actions {
    justify-content: flex-start;
  }

  .saved-search-actions .button,
  .saved-search-actions .icon-action {
    min-height: 44px;
  }
}
