﻿/* Every rule is scoped to .lg-page, so the master page, header, menus and footer are unaffected. */
.lg-page { --ink:#12291F; --forest:#1F4332; --forest-link:#2A5A44; --mist:#EEF2EC; --line:#CDD8CF; --muted:#55625A; --accent:#806436; --accent-dark:#D6C294; color:var(--ink); }
.lg-page a { color:var(--forest-link); text-decoration:underline; text-underline-offset:3px; }
.lg-page a:hover { color:var(--ink); }
.lg-page :focus-visible { outline:2px solid var(--forest); outline-offset:3px; }
.lg-page h1, .lg-page h2, .lg-page h3, .lg-page .lg-display { font-family:Arapey,Georgia,"Times New Roman",serif; font-weight:400; margin:0; color:inherit; text-transform:none; }
.lg-page h2 { font-size:40px; line-height:1.12; }
.lg-page h3 { font-size:23px; line-height:1.22; }
.lg-page p { margin:0; color:inherit; font-size:inherit; font-weight:400; line-height:1.6; }
.lg-page .nb { white-space:nowrap; }
.lg-page .lg-section { padding:80px 0; }

/* Hero: the final image becomes a real picture element here. All words and buttons stay live HTML. */
.lg-hero { position:relative; display:flex; align-items:center; min-height:620px; color:#fff; overflow:hidden; isolation:isolate; background:var(--ink); }
.lg-hero-bg { position:absolute; inset:0; z-index:-2; background:radial-gradient(ellipse 46% 62% at 74% 46%,#5E8A71 0%,#2E5A45 42%,transparent 76%),linear-gradient(120deg,#10261C 0%,#1B3B2C 55%,#254C39 100%); }
.lg-hero-bg .foliage { position:absolute; inset:0; width:100%; height:100%; color:#0C2017; opacity:.62; }
.lg-hero-bg .mark { position:absolute; right:13%; top:50%; transform:translateY(-50%); width:min(30vw,380px); height:auto; color:#F4F8F3; stroke-width:.35; filter:drop-shadow(0 0 26px rgba(255,255,255,.55)); }
.lg-hero-scrim { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(9,24,17,.88) 0%,rgba(9,24,17,.66) 38%,rgba(9,24,17,0) 68%); }
.lg-hero > .container { flex:0 1 auto; margin-left:auto; margin-right:auto; padding-top:48px; padding-bottom:56px; }
.lg-hero h1 { font:400 16px/1.3 Roboto,Arial,sans-serif; letter-spacing:.02em; color:var(--accent-dark); margin-bottom:14px; }
.lg-page .lg-display { font-size:clamp(46px,5.4vw,76px); line-height:1.03; letter-spacing:-.01em; max-width:9.4em; }
.lg-page .lg-hero .lg-sub { font-size:18px; font-weight:300; line-height:1.6; max-width:29em; margin-top:22px; color:#F0F4F1; }
.lg-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; align-items:center; }
.lg-page a.lg-btn, .lg-page button.lg-btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 26px; border:1px solid var(--forest); border-radius:2px; font:500 15px/1.2 Roboto,Arial,sans-serif; text-decoration:none; cursor:pointer; }
.lg-page .lg-btn-primary { background:var(--forest); color:#fff; }
.lg-page .lg-btn-primary:hover { background:var(--ink); color:#fff; }
.lg-page .lg-btn-ghost { background:transparent; color:var(--forest); }
.lg-page .lg-btn-ghost:hover { background:var(--mist); color:var(--ink); }
.lg-page a.lg-btn-white { background:#fff; color:var(--ink); border-color:#fff; }
.lg-page a.lg-btn-white:hover { background:var(--mist); color:var(--ink); }
.lg-page a.lg-btn-outline { background:rgba(9,24,17,.28); color:#fff; border-color:#fff; }
.lg-page a.lg-btn-outline:hover { background:#fff; color:var(--ink); }
.lg-hero :focus-visible, .lg-ring :focus-visible, .lg-final :focus-visible { outline-color:#fff; }

/* Discovery */
.lg-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 24px; }
.lg-count { color:var(--muted); font-size:14px; }
.lg-shapes { display:flex; margin-top:28px; overflow-x:auto; scrollbar-width:none; border-block:1px solid var(--line); }
.lg-shapes::-webkit-scrollbar { display:none; }
.lg-shape { flex:1 1 0; min-width:0; background:none; border:0; border-right:1px solid var(--line); padding:16px 6px 12px; color:var(--ink); font:400 14px/1.2 Roboto,Arial,sans-serif; display:flex; flex-direction:column; align-items:center; gap:9px; cursor:pointer; }
.lg-shape:last-child { border-right:0; }
.lg-shape svg { width:40px; height:40px; stroke-width:1; }
.lg-shape:hover { background:var(--mist); }
.lg-shape[aria-pressed="true"] { background:var(--forest); color:#fff; }
.lg-filters { display:flex; flex-wrap:wrap; gap:12px; margin-top:18px; }
.lg-filters label { font-size:13px; font-weight:400; color:var(--muted); display:grid; gap:4px; flex:0 1 190px; margin:0; }
.lg-page select.form-control, .lg-page input.form-control, .lg-page textarea.form-control { font-size:16px; height:auto; padding:10px 12px; border-color:var(--line); border-radius:2px; color:var(--ink); box-shadow:none; }

/* Existing product cards: same markup and columns as the current page, recoloured here only. */
.page-catalogue .lg-page .catalogue-main { padding-top:24px; }
.page-catalogue .lg-page .catalogue-main > .row { display:flex; flex-wrap:wrap; }
.page-catalogue .lg-page .catalogue-main > .row::before, .page-catalogue .lg-page .catalogue-main > .row::after { display:none; }
.page-catalogue .lg-page .catalogue-container .catalogue-main .catalogue-item .item-thumb { position:relative; border-color:var(--line); }
.lg-tag { position:absolute; left:8px; top:8px; z-index:2; font:500 10px/1 Roboto,Arial,sans-serif; letter-spacing:.12em; color:var(--accent); background:rgba(255,255,255,.92); padding:5px 7px; }
.page-catalogue .lg-page .catalogue-container .catalogue-main .catalogue-item .item-details-container .item-name, .page-catalogue .lg-page .catalogue-container .catalogue-main .catalogue-item .item-details-container .item-name > a { font-size:14px; line-height:1.35; font-weight:400; color:var(--ink); text-decoration:none; }
.page-catalogue .lg-page .catalogue-container .catalogue-main .catalogue-item .item-details-container .item-price { color:var(--ink); }
.lg-specs { display:block; font-size:12px; line-height:1.4; color:var(--muted); padding-bottom:5px; }
.page-catalogue .lg-page .catalogue-container .catalogue-main .catalogue-item:hover .item-thumb { border-color:var(--forest); }
.page-catalogue .lg-page .catalogue-container .catalogue-main .catalogue-item:hover .item-details-container { background-color:var(--forest); }
.page-catalogue .lg-page .catalogue-container .catalogue-main .catalogue-item:hover .item-details-container .item-name, .page-catalogue .lg-page .catalogue-container .catalogue-main .catalogue-item:hover .item-details-container .item-name > a, .page-catalogue .lg-page .catalogue-container .catalogue-main .catalogue-item:hover .item-details-container .item-price, .page-catalogue .lg-page .catalogue-item:hover .lg-specs, .page-catalogue .lg-page .catalogue-item:hover .item-sku { color:#fff; }
.lg-more { display:flex; justify-content:center; margin-top:8px; }

/* Why */
.lg-mist { background:var(--mist); }
.lg-page .lg-split::before, .lg-page .lg-split::after { display:none; }
.lg-split { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:64px; }
.lg-page .lg-lede { font-size:18px; font-weight:300; line-height:1.6; margin-top:18px; max-width:26em; }
.lg-points { display:grid; gap:26px; }
.lg-page .lg-points p { margin-top:8px; font-size:15px; line-height:1.65; }
.lg-compare { width:100%; border-collapse:collapse; margin-top:32px; font-size:15px; background:#fff; line-height:1.5; }
.lg-compare th, .lg-compare td { text-align:left; vertical-align:top; padding:12px 16px; border-bottom:1px solid var(--line); }
.lg-compare thead th { font:400 18px/1.2 Arapey,Georgia,serif; border-bottom:1px solid var(--ink); }
.lg-compare tbody th { font-weight:500; width:24%; }
.lg-page .lg-after { margin-top:16px; font-size:15px; }

/* Choose */
.lg-cs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:32px; border-top:1px solid var(--ink); }
.lg-c { padding:20px 22px 8px 0; font-size:15px; line-height:1.6; }
.lg-c + .lg-c { padding-left:22px; border-left:1px solid var(--line); }
.lg-c p { margin-top:8px; }
.lg-c a { display:inline-block; margin-top:10px; font-size:14px; }
.lg-reports { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:64px; margin-top:64px; }
.lg-pair { display:grid; grid-template-columns:1fr 1fr; gap:32px; font-size:15px; line-height:1.6; }
.lg-pair p { margin-top:8px; }
.lg-page .lg-fine { margin-top:16px; font-size:14px; line-height:1.55; color:var(--muted); }

/* Ring */
.lg-ring { background:var(--forest); color:#fff; }
.lg-page .lg-ring .lg-lede { color:#E3ECE6; max-width:38em; }
.lg-steps { list-style:none; padding:0; margin:40px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); counter-reset:s; border-top:1px solid rgba(255,255,255,.35); }
.lg-steps li { counter-increment:s; padding:20px 26px 0 0; color:#fff; }
.lg-steps li + li { padding-left:26px; border-left:1px solid rgba(255,255,255,.35); }
.lg-steps li::before { content:counter(s); font:400 54px/1 Arapey,Georgia,serif; color:var(--accent-dark); display:block; margin-bottom:12px; }
.lg-page .lg-steps p { margin-top:8px; color:#E3ECE6; font-size:15px; line-height:1.6; max-width:26em; }
.lg-page .lg-ring a.lg-plain { color:#fff; margin-left:12px; font-size:15px; }

/* Service */
.lg-service { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:32px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.lg-service > div { padding:22px 24px 26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.lg-page .lg-service p { margin-top:8px; font-size:15px; line-height:1.55; color:var(--muted); }

/* FAQ */
.lg-faq { border-top:1px solid var(--ink); }
.lg-faq details { border-bottom:1px solid var(--line); }
.lg-faq summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:24px; padding:16px 0; font:400 21px/1.25 Arapey,Georgia,serif; }
.lg-faq summary::-webkit-details-marker { display:none; }
.lg-faq summary::after { content:"+"; font:300 24px/1 Roboto,Arial,sans-serif; color:var(--forest); }
.lg-faq details[open] summary::after { content:"\2212"; }
.lg-faq details p { padding:0 40px 18px 0; font-size:15px; line-height:1.65; max-width:44em; }

/* Final CTA: compact and centred, so it leads into the existing footer */
.lg-final { background:var(--forest); color:#fff; text-align:center; padding:48px 0 52px; }
.lg-final-rule { display:block; width:56px; height:1px; margin:0 auto 20px; background:var(--accent-dark); }
.lg-page .lg-final h2 { font-size:36px; line-height:1.15; color:#fff; }
.lg-page .lg-final .lg-final-sub { margin:12px auto 0; max-width:34em; font-size:17px; font-weight:300; color:#DCE6DF; }
.lg-final-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:24px; }
.lg-page a.lg-btn-gold { background:var(--accent-dark); color:var(--ink); border-color:var(--accent-dark); }
.lg-page a.lg-btn-gold:hover { background:#E4D5B0; border-color:#E4D5B0; color:var(--ink); }
.lg-page a.lg-btn-outline-gold { background:transparent; color:#F4ECD8; border-color:var(--accent-dark); }
.lg-page a.lg-btn-outline-gold:hover { background:var(--accent-dark); color:var(--ink); }
.lg-empty { padding:32px; background:var(--mist); margin-top:24px; }

@media (max-width:991px) {
    .lg-page .lg-section { padding:60px 0; }
    .lg-split, .lg-reports { grid-template-columns:1fr; gap:32px; }
    .lg-reports { margin-top:48px; }
    .lg-cs { grid-template-columns:1fr 1fr; }
    .lg-c:nth-child(3) { padding-left:0; border-left:0; }
    .lg-c:nth-child(n+3) { border-top:1px solid var(--line); }
    .lg-service { grid-template-columns:1fr 1fr; }
    .lg-hero-bg .mark { right:3%; width:190px; opacity:.45; }
}
@media (max-width:767px) {
    .lg-page h2 { font-size:32px; }
    .lg-hero { align-items:flex-end; min-height:600px; }
    .lg-hero-bg { background:radial-gradient(ellipse 80% 34% at 58% 24%,#5E8A71 0%,#2E5A45 48%,transparent 78%),linear-gradient(170deg,#1B3B2C 0%,#10261C 100%); }
    .lg-hero-bg .foliage { opacity:.4; }
    .lg-hero-bg .mark { right:50%; top:22%; transform:translate(50%,-50%); width:170px; }
    .lg-hero-scrim { background:linear-gradient(0deg,rgba(9,24,17,.94) 0%,rgba(9,24,17,.78) 46%,rgba(9,24,17,0) 72%); }
    .lg-hero > .container { width:100%; padding-top:190px; padding-bottom:26px; }
    .lg-page .lg-display { font-size:clamp(40px,11.4vw,52px); max-width:none; }
    .lg-hero h1 { font-size:15px; margin-bottom:8px; }
    .lg-page .lg-hero .lg-sub { font-size:16px; margin-top:12px; }
    .lg-actions { margin-top:18px; }
    .lg-page .lg-actions a.lg-btn, .lg-more .lg-btn { width:100%; }
    .lg-shape { flex:0 0 82px; min-width:82px; padding:13px 5px 11px; }
    .lg-filters label { flex:1 1 100%; }
    .lg-filters label:nth-child(-n+2) { flex:1 1 calc(50% - 6px); }
    .page-catalogue .lg-page .catalogue-container .catalogue-main .catalogue-item .item-details-container .item-name { padding-bottom:8px; }
    .page-catalogue .lg-page .catalogue-container .catalogue-main .catalogue-item .item-details-container .item-sku { padding-bottom:8px; word-break:break-all; }
    .lg-compare, .lg-compare tbody, .lg-compare tr, .lg-compare th, .lg-compare td { display:block; width:auto; }
    .lg-compare thead { display:none; }
    .lg-compare tr { padding:14px 16px; border-bottom:1px solid var(--line); }
    .lg-compare tbody th, .lg-compare td { border:0; padding:0; width:auto; }
    .lg-compare tbody th { margin-bottom:6px; }
    .lg-compare td { margin-top:6px; }
    .lg-compare td::before { content:attr(data-h) ": "; color:var(--muted); }
    .lg-cs { grid-template-columns:1fr; }
    .lg-c, .lg-c + .lg-c { padding:16px 0; border-left:0; }
    .lg-c + .lg-c { border-top:1px solid var(--line); }
    .lg-pair { grid-template-columns:1fr; gap:20px; }
    .lg-steps { grid-template-columns:1fr; }
    .lg-steps li, .lg-steps li + li { padding:18px 0; border-left:0; display:grid; grid-template-columns:52px 1fr; column-gap:8px; }
    .lg-steps li + li { border-top:1px solid rgba(255,255,255,.35); }
    .lg-steps li::before { grid-row:1 / span 2; font-size:44px; margin:0; }
    .lg-page .lg-ring a.lg-plain { margin:8px 0 0; }
    .lg-service { grid-template-columns:1fr; }
    .lg-final { padding:36px 0 40px; }
    .lg-page .lg-final h2 { font-size:30px; }
    .lg-page .lg-final .lg-final-sub { font-size:16px; }
    .lg-page .lg-final-actions a.lg-btn { width:100%; }
    .lg-faq summary { font-size:19px; }
    .lg-faq details p { padding-right:0; }
}
@media (max-width:359px) { .lg-hero { min-height:0; } .lg-hero > .container { padding-top:124px; } .lg-hero-bg .mark { top:62px; width:104px; } .lg-page .lg-display { font-size:36px; } }

/* Search preview. Every rule stays under .lg-page. */
.lg-page .lg-jump { border-bottom:1px solid var(--line); background:#fff; }
.lg-page .lg-jump .container { display:flex; flex-wrap:nowrap; gap:28px; overflow-x:auto; scrollbar-width:none; padding-top:13px; padding-bottom:13px; }
.lg-page .lg-jump .container::before, .lg-page .lg-jump .container::after { display:none; }
.lg-page .lg-jump a { white-space:nowrap; font-size:14px; color:var(--forest-link); text-decoration:none; }
.lg-page .lg-jump a:hover { text-decoration:underline; }
.lg-page #lab-diamonds { padding-top:56px; }
.lg-page section[id] { scroll-margin-top:106px; }
.lg-page select.form-control { -webkit-appearance:menulist; appearance:auto; }

.lg-filter-open { display:none; }
.lg-panel-head, .lg-panel-foot { display:none; }
.lg-filters-wrap { margin-top:18px; padding:18px 0 4px; border-bottom:1px solid var(--line); }
.lg-filters-wrap:focus { outline:none; }
.lg-ranges { display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.lg-range-label { font-weight:500; font-size:14px; margin-bottom:12px; }
.lg-page .lg-slider { height:6px; margin:0 8px 14px; background:var(--line); border:0; border-radius:3px; box-shadow:none; }
.lg-page .lg-slider .noUi-background, .lg-page .lg-slider .noUi-base { background:transparent; box-shadow:none; }
.lg-page .lg-slider .noUi-connect { background:var(--forest); box-shadow:none; }
.lg-page .lg-slider .noUi-handle { width:20px; height:20px; top:-7px; left:-10px; border-radius:50%; background:#fff; border:2px solid var(--forest); box-shadow:none; cursor:grab; }
.lg-page .lg-slider .noUi-handle::before, .lg-page .lg-slider .noUi-handle::after { display:none; }
.lg-range-inputs { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.lg-range-inputs label { font-size:12px; font-weight:400; color:var(--muted); margin:0; display:grid; gap:3px; }
.lg-page .lg-range-inputs input.form-control { padding:6px 10px; font-size:15px; }
.lg-chipgroups { display:grid; grid-template-columns:1fr 1fr; gap:18px 36px; margin-top:20px; }
.lg-chipgroup-head { display:flex; align-items:baseline; gap:12px; margin-bottom:8px; }
.lg-chipgroup-head strong { font-weight:500; font-size:14px; }
.lg-page .lg-link-btn { background:none; border:0; padding:2px 0; color:var(--forest-link); font-size:13px; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
.lg-chips { display:flex; flex-wrap:wrap; gap:6px; }
.lg-chip { margin:0; font-weight:400; cursor:pointer; }
.lg-chip input { position:absolute; opacity:0; width:1px; height:1px; }
.lg-chip span { display:inline-flex; align-items:center; justify-content:center; min-width:42px; min-height:34px; padding:4px 9px; border:1px solid var(--line); border-radius:2px; font-size:13px; color:var(--ink); background:#fff; }
.lg-chip input:checked + span { background:var(--forest); border-color:var(--forest); color:#fff; }
.lg-chip input:focus-visible + span { outline:2px solid var(--forest); outline-offset:2px; }
.lg-filter-actions { margin:12px 0 10px; }

.lg-toolbar { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 16px; margin-top:18px; }
.lg-sort { font-size:12px; font-weight:400; color:var(--muted); margin:0; display:grid; gap:3px; flex:0 1 220px; }
.lg-page button.lg-compare-btn { min-height:44px; padding:8px 14px; background:#fff; border:1px solid var(--forest); color:var(--forest); font-size:14px; border-radius:2px; cursor:pointer; margin-left:auto; }
.lg-page button.lg-compare-btn[aria-expanded="true"] { background:var(--forest); color:#fff; }
.lg-view { display:inline-flex; }
.lg-page .lg-view button { min-height:44px; padding:8px 16px; background:#fff; border:1px solid var(--line); color:var(--ink); font-size:14px; cursor:pointer; }
.lg-page .lg-view button + button { border-left:0; }
.lg-page .lg-view button[aria-pressed="true"] { background:var(--forest); border-color:var(--forest); color:#fff; }

.lg-message:empty { display:none; }
.lg-message { margin-top:12px; padding:10px 12px; background:var(--mist); font-size:14px; }

.lg-results-table { width:100%; border-collapse:collapse; margin-top:16px; font-size:14px; }
.lg-results-table th { text-align:left; font-weight:500; font-size:13px; padding:9px 8px; border-bottom:1px solid var(--ink); white-space:nowrap; }
.lg-page .lg-results-table th button { background:none; border:0; padding:0; font-weight:500; color:var(--ink); cursor:pointer; }
.lg-results-table th button:hover { text-decoration:underline; }
.lg-results-table td { padding:7px 8px; border-bottom:1px solid var(--line); vertical-align:middle; }
.lg-results-table tbody tr:hover { background:var(--mist); }
.lg-frame { position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio:1 / 1; background:radial-gradient(circle at 50% 42%,#fff 0%,var(--mist) 80%); color:#5F7A6B; }
.lg-frame svg { width:68%; height:68%; stroke-width:.5; }
.lg-results-table .lg-frame { width:52px; }
.lg-results-table .lg-frame svg { stroke-width:1.1; }
.lg-page .lg-price-cell { font:400 18px/1.2 Arapey,Georgia,serif; white-space:nowrap; }
.lg-cmp { display:inline-flex; align-items:center; justify-content:center; min-width:30px; min-height:30px; margin:0; cursor:pointer; }
.lg-cmp input { width:18px; height:18px; margin:0; accent-color:var(--forest); }

/* Grid: existing card classes, with one fixed square frame */
.lg-page .lg-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:16px; padding-top:0; }
.page-catalogue .lg-page .lg-grid .catalogue-item { margin:0; display:flex; flex-direction:column; height:100%; }
.page-catalogue .lg-page .catalogue-container .lg-grid .catalogue-item .item-thumb { float:none; width:100%; height:auto; padding:0; }
.page-catalogue .lg-page .catalogue-container .lg-grid .catalogue-item .item-details-container { float:none; width:100%; height:auto; flex:1; text-align:center; padding:10px 8px 12px; }
.page-catalogue .lg-page .catalogue-container .lg-grid .catalogue-item .item-details-container .item-name { min-height:2.7em; padding-bottom:4px; }
.lg-grid .lg-tag { font-size:9px; left:6px; top:6px; }
.lg-grid .lg-card-foot { display:flex; justify-content:center; align-items:center; gap:10px; margin-top:8px; flex-wrap:wrap; font-size:13px; }
.lg-grid .lg-cmp { gap:5px; font-weight:400; font-size:13px; }

.lg-pager { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; }
.lg-perpage { font-size:13px; font-weight:400; color:var(--muted); margin:0; display:inline-flex; align-items:center; gap:8px; }
.lg-perpage select.form-control { width:auto; padding:6px 8px; }
.lg-pages { display:flex; flex-wrap:wrap; gap:4px; }
.lg-page .lg-pages button { min-width:40px; min-height:40px; background:#fff; border:1px solid var(--line); color:var(--ink); font-size:14px; border-radius:2px; cursor:pointer; }
.lg-page .lg-pages button[aria-current="page"] { background:var(--forest); border-color:var(--forest); color:#fff; }
.lg-page .lg-pages button[disabled] { opacity:.45; cursor:default; }
.lg-showmore { width:100%; }

.lg-compare { margin-top:14px; padding:16px; background:var(--mist); }
.lg-compare[hidden] { display:none; }
.lg-compare-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:12px; }
.lg-compare-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.lg-compare-card { background:#fff; padding:10px; font-size:13px; line-height:1.5; }
.lg-compare-card .lg-frame { width:96px; margin:0 auto 8px; }
.lg-compare-card dl { display:grid; grid-template-columns:auto 1fr; gap:1px 10px; margin:6px 0 8px; }
.lg-compare-card dt { font-weight:400; color:var(--muted); }
.lg-compare-card dd { margin:0; text-align:right; }

@media (max-width:991px) {
    .lg-ranges { gap:24px; }
    .page-catalogue .lg-page .lg-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .lg-compare-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
    .lg-page #lab-diamonds { padding-top:36px; }
    .lg-page section[id] { scroll-margin-top:50px; }
    .lg-page button.lg-filter-open { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; min-height:48px; margin-top:14px; background:#fff; border:1px solid var(--forest); color:var(--forest); font-size:15px; font-weight:500; border-radius:2px; cursor:pointer; }
    .lg-filters-wrap { display:none; }
    .lg-filters-wrap.is-open { display:block; position:fixed; inset:0; z-index:100000; margin:0; padding:0 16px 96px; background:#fff; overflow-y:auto; -webkit-overflow-scrolling:touch; border:0; }
    .lg-filters-wrap.is-open .lg-panel-head { display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; z-index:2; background:#fff; padding:14px 0; border-bottom:1px solid var(--line); margin-bottom:16px; }
    .lg-filters-wrap.is-open .lg-panel-foot { display:block; position:fixed; left:0; right:0; bottom:0; z-index:3; padding:12px 16px; background:#fff; border-top:1px solid var(--line); }
    .lg-page .lg-filters-wrap.is-open .lg-panel-foot .lg-btn { width:100%; }
    .lg-ranges, .lg-chipgroups { grid-template-columns:1fr; }
    .lg-chip span { min-height:44px; min-width:48px; }
    .lg-page .lg-link-btn { min-height:32px; }
    .lg-toolbar { display:grid; grid-template-columns:1fr 1fr; align-items:end; }
    .lg-sort { grid-column:1 / -1; flex:none; }
    .lg-page button.lg-compare-btn { margin:0; width:100%; }
    .lg-view { width:100%; }
    .lg-page .lg-view button { flex:1; }
    .lg-rows { margin-top:12px; border-top:1px solid var(--line); }
    .lg-row { display:grid; grid-template-columns:72px 1fr auto; gap:0 12px; align-items:start; padding:10px 0; border-bottom:1px solid var(--line); }
    .lg-row .lg-frame { width:72px; grid-row:1 / span 2; }
    .lg-row-title { font:400 19px/1.2 Arapey,Georgia,serif; }
    .lg-row-spec { font-size:13px; line-height:1.4; color:var(--muted); margin-top:3px; }
    .lg-row-side { display:flex; justify-content:flex-end; }
    .lg-row-foot { grid-column:2 / -1; display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:6px; }
    .lg-compare-grid { grid-template-columns:1fr; }
    .lg-compare-card { display:grid; grid-template-columns:72px 1fr; gap:0 12px; }
    .lg-compare-card .lg-frame { width:72px; margin:0; }
    .lg-pager { justify-content:center; }
    .lg-page .lg-showmore { width:100%; }
}
@media (max-width:359px) {
    .page-catalogue .lg-page .lg-grid { grid-template-columns:1fr; }
    .lg-row { grid-template-columns:64px 1fr auto; gap:0 8px; }
    .lg-row .lg-frame { width:64px; }
}

/* Live search additions */
.lg-page a.lg-view-btn { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:4px 10px; background:#fff; border:1px solid var(--forest); color:var(--forest); font-size:13px; line-height:1.2; border-radius:2px; white-space:nowrap; text-decoration:none; }
.lg-page a.lg-view-btn:hover { background:var(--forest); color:#fff; }
.lg-frame img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#fff; }
.lg-frame .lg-tag { z-index:3; }
.lg-chipgroup { border:0; padding:0; margin:0; min-width:0; }
.lg-page button.lg-more-toggle { display:block; margin-top:18px; min-height:44px; padding:8px 14px; background:#fff; border:1px solid var(--forest); color:var(--forest); font-size:14px; border-radius:2px; cursor:pointer; }
.lg-chipgroups { display:none; }
.lg-chipgroups.is-open { display:grid; }
#lg-results[aria-busy="true"] { opacity:.55; transition:opacity .15s; }
.lg-message.lg-none { margin-top:16px; } #lab-diamonds.lg-no-stock .lg-shapes, #lab-diamonds.lg-no-stock button.lg-filter-open, #lab-diamonds.lg-no-stock .lg-filters-wrap, #lab-diamonds.lg-no-stock .lg-toolbar { display:none; }
.lg-pages span { align-self:center; padding:0 4px; color:var(--muted); }
.lg-first-results th, .lg-first-results td { white-space:nowrap; }
@media (max-width:767px) {
    .lg-page button.lg-more-toggle { display:none; }
    .lg-filters-wrap.is-open .lg-chipgroups { display:grid; }
    .lg-first-results th:nth-child(5), .lg-first-results td:nth-child(5), .lg-first-results th:nth-child(6), .lg-first-results td:nth-child(6) { display:none; }
    .lg-first-results th, .lg-first-results td { padding:7px 4px; }
}
@media (prefers-reduced-motion:reduce) { #lg-results[aria-busy="true"] { transition:none; } }
