/* ============================================================
   Legacy Diamonds — Site Chrome
   ------------------------------------------------------------
   Architecture Consolidation, Phase 2.

   The gold marquee strip, the sticky navigation header, and the
   footer. Every rule below is lifted VERBATIM from the snippet
   function legacy_stage3_css() (the :root token block, the
   .ld-top-strip marquee, the .ld-header* rules, and the
   .ld-footer* rules) so the rendered chrome is byte-identical to
   what production shows today.

   The only structural change vs. the snippet: the generic element
   resets (a / img / button) are SCOPED to the chrome containers
   (.ld-top-strip, .ld-header, .ld-footer) instead of being global,
   so dropping this stylesheet into the live theme cannot alter the
   look of any existing page content. Nothing a customer sees on
   the chrome changes — only where the code lives.
   ============================================================ */

:root {
    --lg-gold: #C9A050;
    --lg-gold-bright: #d8b25c;
    --lg-gold-dim: rgba(201, 160, 80, 0.55);
    --lg-gold-soft: rgba(201, 160, 80, 0.10);
    --lg-black: #0a1520;
    --lg-noir: #0d1c33;
    --lg-noir-2: #122340;
    --lg-cream: rgba(255, 255, 255, 0.94);
    --lg-cream-mid: rgba(255, 255, 255, 0.62);
    --lg-cream-low: rgba(255, 255, 255, 0.34);
    --lg-line: rgba(255, 255, 255, 0.08);
    --lg-line-soft: rgba(255, 255, 255, 0.04);
    --lg-red-warn: #d8746e;
    --lg-red-signal: #e35d52;
    --lg-red-soft-bg: rgba(227, 93, 82, 0.08);
    --lg-red-soft-bd: rgba(227, 93, 82, 0.32);
    --lg-orange-progress: #d68a3a;
    --lg-green-online: #5fce6e;
    --lg-cream-paper: #fbf7ef;
    --lg-cream-paper-2: #f5efe2;
    --lg-serif: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
    --lg-sans: 'Montserrat', 'Helvetica Neue', sans-serif;
    --lg-pad: 16px;
    --lg-pad-md: 32px;
    --lg-pad-lg: 48px;
    --lg-radius: 0;
}

/* ── Chrome-scoped element resets (verbatim values, scoped) ── */
.ld-top-strip *, .ld-header *, .ld-footer * { box-sizing: border-box; }
.ld-top-strip img, .ld-header img, .ld-footer img { max-width: 100%; height: auto; display: block; }
.ld-top-strip a, .ld-header a, .ld-footer a { color: var(--lg-gold); text-decoration: none; transition: color 0.2s; }
.ld-top-strip a:hover, .ld-header a:hover, .ld-footer a:hover { color: var(--lg-gold-bright); }
.ld-header button, .ld-footer button { font-family: inherit; }

.ld-header .ld-only-mobile, .ld-footer .ld-only-mobile { display: block; }
.ld-header .ld-only-desktop, .ld-footer .ld-only-desktop { display: none; }
@media (min-width: 1024px) {
    .ld-header .ld-only-mobile, .ld-footer .ld-only-mobile { display: none; }
    .ld-header .ld-only-desktop, .ld-footer .ld-only-desktop { display: block; }
}

/* ===== TOP STRIP — gold marquee with dark text (matches homepage exactly) ===== */
.ld-top-strip {
    overflow: hidden;
    background: var(--lg-gold);
    border-bottom: 1px solid rgba(0,0,0,0.15);
    padding: 9px 0;
    position: relative;
}
.ld-top-strip-track {
    display: flex;
    width: max-content;
    animation: ld-marquee 36s linear infinite;
    will-change: transform;
}
.ld-top-strip-track:hover { animation-play-state: paused; }
.ld-top-strip-msg {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 0 28px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #0a1520;
    white-space: nowrap;
}
.ld-top-strip-msg::after {
    content: '\25C6';
    font-size: 6px;
    color: rgba(10, 21, 32, 0.55);
    margin-left: 14px;
}
@keyframes ld-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@media (min-width: 768px) {
    .ld-top-strip-msg { font-size: 10.5px; letter-spacing: 0.3em; gap: 18px; padding: 0 36px; }
}

/* ===== STICKY HEADER ===== */
.ld-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(10, 21, 32, 0.97);
    border-bottom: 0.5px solid rgba(201, 160, 80, 0.18);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}
.ld-header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px var(--lg-pad);
    max-width: 1480px;
    margin: 0 auto;
    gap: 12px;
}
@media (min-width: 1024px) { .ld-header-bar { padding: 18px var(--lg-pad-lg); gap: 24px; } }

.ld-header-left { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ld-icon-btn {
    width: 44px; height: 44px;
    background: transparent; border: 1px solid var(--lg-line);
    color: var(--lg-cream); cursor: pointer; padding: 0;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 18px; line-height: 1;
    transition: all 0.2s;
    text-decoration: none;
    flex-shrink: 0;
    position: relative;
}
.ld-icon-btn:hover { border-color: var(--lg-gold); color: var(--lg-gold); }
.ld-icon-btn.solid { background: var(--lg-gold); border-color: var(--lg-gold); color: var(--lg-black); }
.ld-icon-btn.solid:hover { background: var(--lg-gold-bright); }

/* LOGO — Helvetica Neue Bold (700), refined weight matching homepage. */
.ld-header .logo {
    display: flex;
    flex-direction: column;
    line-height: 1;
}
.ld-header .logo a {
    color: #ffffff;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.ld-header .logo-main {
    font-family: 'Helvetica Neue', Helvetica, 'Arial Bold', Arial, sans-serif;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: #ffffff;
    line-height: 1;
}
.ld-header .logo-sub {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    line-height: 1;
    display: block;
}
.ld-header .logo-sub-w { color: rgba(255, 255, 255, 0.88); }
.ld-header .logo-sub-g { color: var(--lg-gold); }
@media (min-width: 600px) { .ld-header .logo-main { font-size: 26px; } .ld-header .logo-sub { font-size: 8.5px; } }
@media (min-width: 1024px) { .ld-header .logo-main { font-size: 30px; } .ld-header .logo-sub { font-size: 9px; letter-spacing: 0.16em; } }

.ld-nav {
    display: none;
    gap: 22px;
    flex-wrap: nowrap;
    justify-content: center;
    flex: 1;
}
.ld-nav a {
    font-size: 10.5px;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--lg-cream);
    white-space: nowrap;
}
.ld-nav a:hover { color: var(--lg-gold); }
@media (min-width: 1200px) { .ld-nav { display: flex; gap: 26px; } .ld-nav a { font-size: 11px; letter-spacing: 0.2em; } }
@media (min-width: 1440px) { .ld-nav { gap: 32px; } }

.ld-header-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
@media (min-width: 1024px) { .ld-header-right { gap: 14px; } }

.ld-header-cta-text {
    display: none;
    padding: 11px 22px;
    background: var(--lg-gold);
    color: var(--lg-black) !important;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    border: 1px solid var(--lg-gold);
    transition: background 0.2s;
    text-decoration: none;
    white-space: nowrap;
}
.ld-header-cta-text:hover { background: var(--lg-gold-bright); color: var(--lg-black) !important; }
@media (min-width: 768px) { .ld-header-cta-text { display: inline-flex; } }

/* HEADER heart counter */
.ld-header-save {
    width: auto;
    min-width: 56px;
    padding: 0 10px 0 12px;
    gap: 6px;
}
.ld-header-save .ld-header-save-icon { font-size: 16px; line-height: 1; }
.ld-icon-btn .ld-icon-counter {
    position: static;
    background: transparent;
    color: var(--lg-cream-mid);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.04em;
    padding: 0;
    line-height: 1;
}
.ld-header-save:hover .ld-icon-counter,
.ld-header-save.is-saved .ld-icon-counter { color: var(--lg-gold); }
.ld-header-save.is-saved .ld-header-save-icon { color: var(--lg-red-signal); }

/* live cart icon with total + count badge */
.ld-header-cart {
    width: auto; min-width: 44px; padding: 0 12px;
    gap: 7px; position: relative;
}
.ld-header-cart .ld-header-cart-icon { font-size: 17px; line-height: 1; }
.ld-header-cart .ld-cart-total {
    font-family: var(--lg-sans); font-size: 11px;
    font-weight: 500; letter-spacing: 0.04em;
    color: var(--lg-cream); white-space: nowrap;
}
.ld-header-cart:hover .ld-cart-total { color: var(--lg-gold); }
.ld-header-cart .ld-cart-badge {
    position: absolute; top: -4px; right: -4px;
    background: var(--lg-gold); color: var(--lg-black);
    font-size: 9px; font-weight: 700;
    min-width: 16px; height: 16px;
    border-radius: 9px; padding: 0 4px;
    display: flex; align-items: center; justify-content: center;
    line-height: 1;
}

/* ===== FOOTER (mobile-collapsing) ===== */
.ld-footer {
    background: var(--lg-noir); padding: 48px var(--lg-pad) 28px;
    border-top: 1px solid var(--lg-gold-soft); margin-top: 56px;
}
@media (min-width: 768px) { .ld-footer { padding: 56px var(--lg-pad-md) 32px; } }
@media (min-width: 1024px) { .ld-footer { padding: 64px var(--lg-pad-lg) 36px; margin-top: 72px; } }
.ld-footer-grid { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 28px; }
@media (min-width: 700px) { .ld-footer-grid { grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr; gap: 32px; } }
.ld-footer-brand h4, .ld-footer-col h4 {
    font-family: var(--lg-sans); font-size: 10px; font-weight: 600;
    letter-spacing: 0.36em; text-transform: uppercase;
    color: var(--lg-gold); margin: 0 0 16px;
}
.ld-footer-col a {
    display: block; font-size: 12px; color: var(--lg-cream-mid);
    margin-bottom: 9px; text-decoration: none;
}
.ld-footer-col a:hover { color: var(--lg-gold); }
.ld-footer-tagline { font-size: 12px; color: var(--lg-cream-mid); line-height: 1.65; margin: 0 0 14px; }

.ld-footer-collapsible-col { display: block; }
.ld-footer-col-toggle {
    display: none; width: 100%; text-align: left;
    background: transparent; border: none; color: var(--lg-gold);
    font-family: var(--lg-sans); font-size: 10px; font-weight: 600;
    letter-spacing: 0.36em; text-transform: uppercase;
    padding: 14px 0; cursor: pointer;
    border-bottom: 1px solid var(--lg-line); position: relative;
}
.ld-footer-col-toggle::after {
    content: '+'; position: absolute; right: 0; top: 50%;
    transform: translateY(-50%); font-size: 16px; font-weight: 300;
    transition: transform 0.2s;
}
.ld-footer-col-toggle.open::after { content: '\2212'; }
.ld-footer-col-body { display: block; }
@media (max-width: 699px) {
    .ld-footer-grid { gap: 0; }
    .ld-footer-collapsible-col h4 { display: none; }
    .ld-footer-col-toggle { display: block; }
    .ld-footer-col-body { display: none; padding: 12px 0 18px; }
    .ld-footer-col-body.open { display: block; }
}

.ld-footer-newsletter {
    margin-top: 28px; padding-top: 24px;
    border-top: 1px solid var(--lg-line);
    max-width: 1280px; margin-left: auto; margin-right: auto;
}
@media (min-width: 700px) { .ld-footer-newsletter { display: flex; align-items: center; gap: 32px; justify-content: space-between; } }
.ld-footer-newsletter-eyebrow { font-size: 10px; font-weight: 600; letter-spacing: 0.36em; text-transform: uppercase; color: var(--lg-gold); margin: 0 0 8px; }
.ld-footer-newsletter h5 { font-family: var(--lg-serif); font-size: 18px; font-weight: 500; color: var(--lg-cream); margin: 0; }
.ld-footer-newsletter-form { display: flex; gap: 8px; margin-top: 14px; }
@media (min-width: 700px) { .ld-footer-newsletter-form { margin-top: 0; flex-shrink: 0; } }
.ld-footer-newsletter-input {
    flex: 1; padding: 12px 14px;
    background: var(--lg-black); border: 1px solid var(--lg-line);
    color: var(--lg-cream); font-family: var(--lg-sans);
    font-size: 12.5px; outline: none; min-width: 200px;
}
.ld-footer-newsletter-input:focus { border-color: var(--lg-gold); }
.ld-footer-newsletter-input::placeholder { color: var(--lg-cream-low); }
.ld-footer-newsletter-btn {
    width: 44px; height: 44px;
    background: transparent; border: 1px solid var(--lg-cream);
    color: var(--lg-cream); cursor: pointer; font-size: 18px;
    transition: all 0.2s; flex-shrink: 0;
}
.ld-footer-newsletter-btn:hover { background: var(--lg-gold); border-color: var(--lg-gold); color: var(--lg-black); }

.ld-footer-bottom {
    max-width: 1280px; margin: 32px auto 0; padding-top: 22px;
    border-top: 1px solid var(--lg-line);
    display: flex; flex-direction: column; gap: 12px; align-items: center;
    font-size: 9.5px; letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--lg-cream-low); text-align: center;
}
@media (min-width: 700px) { .ld-footer-bottom { flex-direction: row; justify-content: space-between; } }
.ld-footer-region {
    display: flex; align-items: center; gap: 10px;
    font-size: 10px; letter-spacing: 0.18em;
    text-transform: uppercase; color: var(--lg-cream-mid);
}
.ld-footer-region .globe { font-size: 14px; opacity: 0.8; }
.ld-footer-region .sep { color: var(--lg-cream-low); margin: 0 4px; }

/* ── Mobile slide-out menu (.ld-m) — lifted from style.css so the standalone
   collection page (which only loads this file) styles the menu identically.
   Burger hidden >=1200px (desktop shows .ld-nav), shown <=1199px. ── */
.ld-m{display:none}
@media (max-width:1199px){ .ld-header .ld-m{display:inline-flex;align-items:center} }
.ld-m-burger{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.ld-m-burger::-webkit-details-marker{display:none}
.ld-m-burger::marker{content:""}
.ld-m-panel{display:none}
.ld-m[open] .ld-m-panel{display:block;position:fixed;inset:0;z-index:90;background:#0a1520;padding:96px 26px 48px;overflow-y:auto}
.ld-m[open] .ld-m-burger svg{display:none}
.ld-m[open] .ld-m-burger::after{content:"\00d7";font-size:26px;color:#c9a44c;line-height:1}
.ld-m-nav a{display:block;padding:14px 2px;color:#e8dfce;text-decoration:none;font-family:'Jost','Helvetica Neue',Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;font-size:12px;border-bottom:1px solid rgba(201,164,76,.12)}
.ld-m-nav a:hover{color:#c9a44c}
.ld-m-circle{color:#c9a44c !important}
.ld-m-cta{margin-top:16px;background:#c9a44c;color:#10131a !important;text-align:center;border-radius:3px;border-bottom:0 !important;font-weight:600;letter-spacing:.18em !important}

/* ── Chrome layout/icons/footer rules (ported from style.css "v1.9.14 pass")
   so the standalone collection page lays out the header identically to home:
   non-shrinking logo, centred nav, borderless icons, desktop footer cols. ── */
.ld-header .ld-header-left{flex:0 0 auto !important}
.ld-header .ld-header-right{flex:0 0 auto !important}
.ld-header .ld-nav{flex:1 1 auto !important;min-width:0;justify-content:center;position:static !important;margin:0 28px}
.ld-header .logo{position:static !important;float:none !important;width:auto !important}
/* HEADER ICONS: clean, borderless, transparent (kills the empty "box" look) */
.ld-header .ld-icon-btn{background:transparent !important;border:0 !important;box-shadow:none !important;width:auto !important;min-width:38px;padding:0 8px !important}
.ld-header .ld-icon-btn svg{display:block}
.ld-header .ld-icon-counter,.ld-header .ld-cart-total,.ld-header .ld-cart-badge{color:var(--lg-gold,#c9a44c)}

@media (min-width:700px){
  .ld-footer .ld-footer-col-toggle{display:none !important}
  .ld-footer .ld-footer-collapsible-col h4{display:block !important}
  .ld-footer .ld-footer-col-body{display:block !important}
}
.ld-header .ld-header-right{display:flex !important;align-items:center;gap:16px}
.ld-header .ld-header-save{display:inline-flex !important;align-items:center;gap:6px}
.ld-header .ld-header-cart{display:inline-flex !important;align-items:center;gap:7px}
.ld-header .ld-icon-counter{position:static !important;font-size:11px;font-weight:500;line-height:1}
