@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap");

:root {
    --charcoal: #1A1A1A;
    --charcoal-soft: #34312D;
    --gold: #C5A059;
    --gold-dark: #A8833F;
    --gold-light: #D4AF37;
    --cream: #FDFBF7;
    --beige: #F7F1E7;
    --white: #ffffff;
    --text: #1A1A1A;
    --muted: #6F685E;
    --border: #E7DDC8;
    --success: #2f7d4d;
    --danger: #9b4d43;
    --warning: #9a6b15;
    --info: #315f78;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--cream);
}

body {
    min-height: 100%;
    margin: 0;
    background: var(--cream);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
}

a {
    color: inherit;
}

button,
input,
select,
textarea {
    font: inherit;
}

img {
    max-width: 100%;
}

.tt-container {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.public-auction-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--charcoal);
    color: var(--white);
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.public-auction-header-inner {
    width: min(1120px, calc(100% - 32px));
    min-height: 68px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.public-auction-logo {
    display: inline-flex;
    flex-direction: column;
    text-decoration: none;
    line-height: 1;
}

.public-auction-logo strong {
    font-size: 15px;
    letter-spacing: 0.8px;
}

.public-auction-logo span {
    margin-top: 4px;
    color: var(--gold-light);
    font-size: 9px;
    letter-spacing: 2px;
}

.public-auction-nav {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.public-auction-nav a,
.public-auction-nav button {
    padding: 8px 0;
    border: 0;
    background: transparent;
    color: #f3eee7;
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.4px;
    cursor: pointer;
}

.public-auction-nav a:hover,
.public-auction-nav a.active {
    color: var(--gold-light);
}

.public-nav-register {
    padding: 9px 13px !important;
    border: 1px solid var(--gold) !important;
    border-radius: 4px;
}

.public-auction-footer {
    padding: 34px 0;
    background: var(--charcoal);
    color: var(--beige);
}

.public-auction-footer strong {
    color: var(--white);
}

.public-auction-footer p {
    margin: 8px 0 0;
    font-size: 12px;
}

.hero {
    padding: 64px 0;
    background: var(--charcoal);
    color: var(--white);
}

.hero-eyebrow {
    margin-bottom: 10px;
    color: var(--gold-light);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.hero h1 {
    max-width: 820px;
    margin: 0 0 14px;
    font-size: clamp(36px, 6vw, 58px);
    line-height: 1.03;
}

.hero p {
    max-width: 720px;
    margin: 0;
    color: var(--beige);
    font-size: 15px;
    line-height: 1.65;
}

.hero-actions,
.page-actions,
.inline-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.hero-actions {
    margin-top: 26px;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 10px 15px;
    border: 1px solid transparent;
    border-radius: 4px;
    text-decoration: none;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.3px;
    cursor: pointer;
}

.btn-primary {
    background: var(--gold);
    color: var(--charcoal);
}

.btn-primary:hover {
    background: var(--gold-light);
}

.btn-dark {
    background: var(--charcoal);
    color: var(--white);
}

.btn-dark:hover {
    background: var(--charcoal-soft);
}

.btn-light {
    background: var(--white);
    color: var(--charcoal);
    border-color: var(--border);
}

.btn-danger {
    background: var(--danger);
    color: var(--white);
}

.btn-success {
    background: var(--success);
    color: var(--white);
}

.btn-outline {
    background: transparent;
    color: inherit;
    border-color: currentColor;
}

.section {
    padding: 48px 0;
}

.section-white {
    background: var(--white);
}

.section-cream {
    background: var(--cream);
}

.section-heading {
    margin-bottom: 26px;
}

.section-heading small {
    display: block;
    margin-bottom: 7px;
    color: var(--gold-dark);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.section-heading h2,
.page-title {
    margin: 0 0 8px;
    color: var(--charcoal);
    font-size: 30px;
}

.section-heading p,
.page-subtitle {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;
}

.grid {
    display: grid;
    gap: 20px;
}

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

.grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 7px;
    overflow: hidden;
    box-shadow: 0 2px 9px rgba(24, 22, 19, 0.05);
}

.card-body {
    padding: 20px;
}

.card h2,
.card h3 {
    margin-top: 0;
}

.muted {
    color: var(--muted);
}

.small {
    font-size: 11px;
}

.alert {
    margin: 16px 0;
    padding: 13px 15px;
    border-left: 4px solid var(--info);
    background: #e9f1f5;
    border-radius: 3px;
    font-size: 12px;
    line-height: 1.5;
}

.alert-success {
    border-left-color: var(--success);
    background: #eaf5ee;
}

.alert-warning {
    border-left-color: var(--warning);
    background: #f7eedc;
}

.alert-danger {
    border-left-color: var(--danger);
    background: #f5e7e4;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.status-live,
.status-paid,
.status-sold,
.status-accepted {
    background: #dff0e6;
    color: #205f39;
}

.status-scheduled,
.status-unpaid,
.status-pending {
    background: #f3e5c7;
    color: #715013;
}

.status-partially_paid,
.status-reserve_not_met {
    background: #f7eedc;
    color: #795312;
}

.status-closed,
.status-unsold,
.status-cancelled,
.status-declined,
.status-withdrawn {
    background: #ece8e2;
    color: #5b554e;
}

.auction-tabs {
    display: flex;
    gap: 9px;
    margin-top: 24px;
    flex-wrap: wrap;
}

.auction-tab {
    padding: 10px 15px;
    border: 1px solid #5b554e;
    border-radius: 4px;
    color: var(--white);
    text-decoration: none;
    font-size: 10px;
    font-weight: 900;
}

.auction-tab.active {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--charcoal);
}

.auction-card-image,
.public-lot-image {
    position: relative;
    height: 220px;
    background: #ece8e2;
    overflow: hidden;
}

.auction-card-image img,
.public-lot-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.auction-card-status,
.public-lot-number {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 7px 9px;
    background: var(--charcoal);
    color: var(--white);
    border-radius: 3px;
    font-size: 9px;
    font-weight: 900;
}

.public-lot-number {
    left: 12px;
    right: auto;
}

.auction-card-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 14px 0;
    background: #f4f1ed;
    border-radius: 4px;
}

.auction-card-meta div {
    padding: 10px 6px;
    text-align: center;
    border-right: 1px solid var(--border);
}

.auction-card-meta div:last-child {
    border-right: 0;
}

.auction-card-meta small {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 7px;
    font-weight: 900;
    text-transform: uppercase;
}

.auction-card-meta strong {
    font-size: 12px;
}

.public-catalogue-hero {
    padding: 40px 0;
    background: var(--charcoal);
    color: var(--white);
}

.public-catalogue-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

.public-catalogue-heading h1 {
    margin: 6px 0;
    font-size: clamp(30px, 5vw, 46px);
}

.public-auction-code {
    color: var(--gold-light);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
}

.public-catalogue-status {
    padding: 9px 12px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}

.public-catalogue-status-live {
    background: var(--success);
}

.public-catalogue-status-scheduled {
    background: var(--gold);
    color: var(--charcoal);
}

.public-catalogue-status-closed {
    background: #544d44;
}

.public-catalogue-info {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.13);
}

.public-catalogue-info small {
    display: block;
    margin-bottom: 5px;
    color: #cfc4b7;
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.public-catalogue-info strong {
    font-size: 13px;
}

.public-lot-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.public-lot-body {
    padding: 18px;
}

.public-lot-meta {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 9px;
}

.public-lot-meta span {
    padding: 4px 7px;
    background: #f1ece6;
    border-radius: 999px;
    color: #6d655c;
    font-size: 8px;
    font-weight: 800;
}

.public-lot-body h3 {
    margin: 0 0 9px;
    font-size: 18px;
}

.public-lot-description {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
}

.public-lot-price-area {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin: 13px 0;
}

.public-lot-price-area div {
    padding: 11px;
    background: #f5f2ee;
    border-radius: 4px;
}

.public-lot-price-area small {
    display: block;
    color: var(--muted);
    font-size: 7px;
    font-weight: 900;
    text-transform: uppercase;
}

.public-lot-price-area strong {
    display: block;
    margin-top: 5px;
    font-size: 15px;
}

.public-lot-countdown {
    margin: 10px 0;
    padding: 9px 11px;
    background: var(--charcoal);
    color: var(--white);
    border-radius: 4px;
    font-size: 11px;
    font-weight: 900;
}

.public-lot-reserve {
    margin-top: 9px;
    color: var(--muted);
    font-size: 10px;
}

.lot-bid-status {
    margin: 11px 0;
    padding: 11px 12px;
    border-left: 4px solid var(--info);
    border-radius: 3px;
    background: #e9f1f5;
    font-size: 10px;
    font-weight: 900;
}

.lot-bid-status span {
    display: block;
    margin-top: 5px;
    font-weight: 500;
    line-height: 1.45;
}

.lot-bid-winning {
    border-left-color: var(--success);
    background: #eaf5ee;
}

.lot-bid-outbid {
    border-left-color: var(--danger);
    background: #f5e7e4;
}

.lot-bid-reserve {
    border-left-color: var(--warning);
    background: #f7eedc;
}

.form-card {
    max-width: 760px;
    margin: 34px auto;
    padding: 26px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 7px;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 6px;
    color: var(--charcoal);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.form-control {
    width: 100%;
    padding: 11px 12px;
    border: 1px solid #cfc5ba;
    border-radius: 4px;
    background: var(--white);
    color: var(--text);
}

textarea.form-control {
    min-height: 100px;
    resize: vertical;
}

.checkbox-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0;
    font-size: 12px;
}

.table-wrap {
    overflow-x: auto;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 7px;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th {
    padding: 11px 12px;
    background: var(--charcoal);
    color: var(--white);
    text-align: left;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

td {
    padding: 11px 12px;
    border-bottom: 1px solid #ece5dd;
    vertical-align: top;
    font-size: 11px;
}

tr:last-child td {
    border-bottom: 0;
}

.admin-layout {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    background: #f4f0eb;
}

.admin-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    padding: 24px 16px;
    background: var(--charcoal);
    color: var(--white);
}

.admin-brand {
    display: block;
    padding: 4px 8px 22px;
    color: var(--white);
    text-decoration: none;
    font-weight: 900;
    letter-spacing: 0.5px;
}

.admin-brand span {
    display: block;
    margin-top: 4px;
    color: var(--gold-light);
    font-size: 9px;
    letter-spacing: 1.5px;
}

.admin-nav {
    display: grid;
    gap: 5px;
}

.admin-nav-link {
    display: block;
    padding: 10px 11px;
    border-radius: 4px;
    color: #eee7de;
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
}

.admin-nav-link:hover,
.admin-nav-link.active {
    background: var(--charcoal-soft);
    color: var(--gold-light);
}

.admin-main {
    min-width: 0;
    padding: 28px;
}

.admin-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}

.admin-page-header h1 {
    margin: 0 0 7px;
    font-size: 30px;
}

.admin-page-header p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
}

.stat-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 24px;
}

.stat-card {
    padding: 17px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 6px;
}

.stat-card small {
    display: block;
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.stat-card strong {
    display: block;
    margin-top: 7px;
    font-size: 25px;
}

.inventory-thumb,
.table-thumb {
    width: 70px;
    height: 58px;
    object-fit: cover;
    border-radius: 4px;
    background: #eee;
}

.inventory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.inventory-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 6px;
    overflow: hidden;
}

.inventory-card img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    background: #eee;
}

.inventory-card-body {
    padding: 14px;
}

.inventory-card-body h3 {
    margin: 6px 0;
    font-size: 15px;
}

.filter-bar {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: end;
    margin-bottom: 18px;
    padding: 14px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 6px;
}

.filter-bar .form-group {
    margin: 0;
    min-width: 150px;
    flex: 1;
}

.invoice-summary,
.statement-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.summary-box {
    padding: 14px;
    background: #f5f1ec;
    border-radius: 5px;
}

.summary-box small {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.summary-box strong {
    font-size: 17px;
}

.catalogue-sheet {
    width: 210mm;
    min-height: 297mm;
    margin: 18px auto;
    padding: 15mm;
    background: var(--white);
    box-shadow: 0 3px 18px rgba(0,0,0,0.08);
    page-break-after: always;
}

.catalogue-cover {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: hidden;
}

.catalogue-cover img {
    width: 100%;
    height: 297mm;
    object-fit: cover;
}

.catalogue-lot-image {
    display: block;
    max-width: 100%;
    max-height: 155mm;
    margin: 18px auto;
    object-fit: contain;
}

.print-only {
    display: none;
}

@media print {
    .no-print,
    .admin-sidebar,
    .public-auction-header,
    .public-auction-footer {
        display: none !important;
    }

    .admin-layout {
        display: block;
    }

    .admin-main {
        padding: 0;
    }

    .catalogue-sheet {
        margin: 0;
        box-shadow: none;
    }

    .print-only {
        display: block;
    }
}

@media (max-width: 1000px) {
    .stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .inventory-grid,
    .public-lot-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

@media (max-width: 760px) {
    .public-auction-header-inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 14px 0;
    }

    .public-auction-nav {
        width: 100%;
        gap: 12px;
    }

    .grid-2,
    .grid-3,
    .grid-4,
    .form-grid,
    .invoice-summary,
    .statement-summary {
        grid-template-columns: 1fr;
    }

    .public-lot-grid,
    .inventory-grid {
        grid-template-columns: 1fr;
    }

    .admin-layout {
        display: block;
    }

    .admin-sidebar {
        position: static;
        height: auto;
    }

    .admin-main {
        padding: 18px;
    }

    .admin-page-header,
    .public-catalogue-heading {
        flex-direction: column;
    }

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


/* ============================================================
   V2.3 BRIGHT LUXURY THEME
   White + warm ivory backgrounds, charcoal text and antique gold.
   ============================================================ */

:root {
    --surface: var(--white);
    --surface-warm: var(--cream);
    --surface-soft: var(--beige);
    --ink: var(--charcoal);
    --ink-soft: var(--charcoal-soft);
    --antique-gold: var(--gold);
    --antique-gold-dark: var(--gold-dark);
    --luxury-shadow: 0 10px 28px rgba(67, 53, 31, 0.07);
    --luxury-shadow-soft: 0 4px 16px rgba(67, 53, 31, 0.05);
}

html,
body {
    background: var(--cream);
    color: var(--text);
}

/* PUBLIC HEADER */
.public-auction-header {
    background: rgba(255, 255, 255, 0.97);
    color: var(--charcoal);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 3px 18px rgba(67, 53, 31, 0.05);
    backdrop-filter: blur(10px);
}

.public-auction-logo {
    color: var(--charcoal);
}

.public-auction-logo strong {
    color: var(--charcoal);
}

.public-auction-logo span {
    color: var(--gold-dark);
}

.public-auction-nav a,
.public-auction-nav button {
    color: var(--charcoal-soft);
}

.public-auction-nav a:hover,
.public-auction-nav a.active,
.public-auction-nav button:hover {
    color: var(--gold-dark);
}

.public-auction-nav a.active {
    box-shadow: inset 0 -2px 0 var(--gold);
}

.public-nav-register {
    background: var(--gold) !important;
    border-color: var(--gold) !important;
    color: var(--charcoal) !important;
    box-shadow: none !important;
}

.public-nav-register:hover {
    background: var(--gold-light) !important;
    color: var(--charcoal) !important;
}

/* PUBLIC FOOTER */
.public-auction-footer {
    background: var(--cream);
    color: var(--muted);
    border-top: 1px solid var(--border);
}

.public-auction-footer strong {
    color: var(--charcoal);
}

/* HEROES */
.hero,
.public-catalogue-hero {
    background:
        linear-gradient(
            135deg,
            #FFFFFF 0%,
            var(--cream) 64%,
            var(--beige) 100%
        );
    color: var(--charcoal);
    border-bottom: 1px solid var(--border);
}

.hero {
    position: relative;
    overflow: hidden;
}

.hero::after {
    content: "";
    position: absolute;
    top: 0;
    right: 7%;
    width: 180px;
    height: 2px;
    background: var(--gold);
}

.hero-eyebrow,
.public-auction-code {
    color: var(--gold-dark);
}

.hero h1,
.public-catalogue-heading h1 {
    color: var(--charcoal);
}

.hero p {
    color: var(--muted);
}

.public-catalogue-info {
    border-top-color: var(--border);
}

.public-catalogue-info small {
    color: var(--muted);
}

/* BUTTONS */
.btn {
    border-radius: 5px;
    transition:
        background 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}

.btn:hover {
    transform: translateY(-1px);
}

.btn-primary {
    background: var(--gold);
    color: var(--charcoal);
    border-color: var(--gold);
}

.btn-primary:hover {
    background: var(--gold-light);
    border-color: var(--gold-light);
    color: var(--charcoal);
}

.btn-dark {
    background: var(--white);
    color: var(--charcoal);
    border-color: var(--charcoal);
}

.btn-dark:hover {
    background: var(--charcoal);
    color: var(--white);
}

.btn-light {
    background: var(--white);
    color: var(--charcoal);
    border-color: var(--border);
}

.btn-light:hover {
    border-color: var(--gold);
    color: var(--gold-dark);
}

.btn-outline {
    color: var(--charcoal);
    border-color: var(--gold);
}

.btn-outline:hover {
    background: rgba(197, 160, 89, 0.10);
    color: var(--charcoal);
}

/* SECTIONS / CARDS */
.section {
    background: var(--cream);
}

.section-white {
    background: var(--white);
}

.section-cream {
    background: var(--cream);
}

.section-heading small,
.section-heading h2,
.page-title,
.admin-page-header h1 {
    color: var(--charcoal);
}

.section-heading small {
    color: var(--gold-dark);
}

.card,
.form-card,
.table-wrap,
.stat-card,
.inventory-card,
.filter-bar {
    background: var(--white);
    border-color: var(--border);
    box-shadow: var(--luxury-shadow-soft);
}

.card,
.form-card,
.stat-card,
.inventory-card,
.filter-bar,
.table-wrap {
    border-radius: 8px;
}

.card:hover,
.inventory-card:hover {
    border-color: var(--gold);
}

/* AUCTION NAV TABS */
.auction-tab {
    background: var(--white);
    border-color: var(--border);
    color: var(--charcoal);
}

.auction-tab:hover {
    border-color: var(--gold);
    color: var(--gold-dark);
}

.auction-tab.active {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--charcoal);
}

/* AUCTION / LOT CARDS */
.auction-card-image,
.public-lot-image {
    background: var(--beige);
}

.auction-card-status,
.public-lot-number {
    background: rgba(255, 255, 255, 0.95);
    color: var(--charcoal);
    border: 1px solid var(--gold);
    box-shadow: 0 4px 12px rgba(67, 53, 31, 0.10);
}

.auction-card-meta,
.public-lot-price-area div,
.summary-box {
    background: var(--cream);
}

.public-lot-meta span {
    background: var(--beige);
    color: var(--charcoal-soft);
}

.public-lot-countdown {
    background: #FFF9ED;
    color: var(--charcoal);
    border: 1px solid var(--border);
    border-left: 4px solid var(--gold);
}

.public-catalogue-status {
    border: 1px solid transparent;
}

.public-catalogue-status-scheduled {
    background: var(--gold);
    color: var(--charcoal);
}

.public-catalogue-status-closed {
    background: var(--beige);
    color: var(--charcoal-soft);
    border-color: var(--border);
}

/* FORMS */
.form-group label {
    color: var(--charcoal);
}

.form-control {
    background: var(--white);
    color: var(--text);
    border-color: var(--border);
    outline: none;
}

.form-control:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(197, 160, 89, 0.13);
}

/* TABLES */
th {
    background: var(--beige);
    color: var(--charcoal);
    border-bottom: 2px solid var(--gold);
}

td {
    border-bottom-color: var(--border);
}

tbody tr:hover td {
    background: #FFFDF9;
}

/* ADMIN */
.admin-layout {
    background: var(--cream);
}

.admin-sidebar {
    background: var(--white);
    color: var(--charcoal);
    border-right: 1px solid var(--border);
    box-shadow: 5px 0 22px rgba(67, 53, 31, 0.045);
}

.admin-brand {
    color: var(--charcoal);
    border-bottom: 1px solid var(--border);
    margin-bottom: 14px;
}

.admin-brand span {
    color: var(--gold-dark);
}

.admin-nav-link {
    color: var(--charcoal-soft);
    border-left: 3px solid transparent;
}

.admin-nav-link:hover {
    background: var(--cream);
    color: var(--charcoal);
    border-left-color: var(--border);
}

.admin-nav-link.active {
    background: rgba(197, 160, 89, 0.12);
    color: var(--charcoal);
    border-left-color: var(--gold);
}

.admin-main {
    background: var(--cream);
}

.admin-page-header {
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border);
}

.stat-card {
    border-top: 3px solid var(--gold);
}

.stat-card strong {
    color: var(--charcoal);
}

/* LUXURY DETAILS */
hr {
    border-color: var(--border);
}

::selection {
    background: rgba(197, 160, 89, 0.28);
    color: var(--charcoal);
}

@media (max-width: 760px) {
    .public-auction-header {
        position: relative;
    }

    .admin-sidebar {
        border-right: 0;
        border-bottom: 1px solid var(--border);
        box-shadow: none;
    }
}

/* ============================================================
   V2.4 OPEN & AIRY STRUCTURAL LAYOUT
   Generous whitespace, warm containers, ultra-thin borders,
   8-12px radii and very soft ambient depth.
   ============================================================ */

:root {
    --gold-wash: color-mix(in srgb, var(--gold) 7%, var(--white));
    --cream-wash: color-mix(in srgb, var(--cream) 88%, var(--white));
    --border-soft: color-mix(in srgb, var(--border) 72%, var(--white));
    --ambient-shadow: 0 8px 28px rgba(67, 53, 31, 0.045);
    --ambient-shadow-small: 0 4px 16px rgba(67, 53, 31, 0.035);
    --radius-sm: 8px;
    --radius-md: 10px;
    --radius-lg: 12px;
}

body {
    line-height: 1.55;
}

/* Wider, calmer page rhythm */
.tt-container,
.public-auction-header-inner {
    width: min(1180px, calc(100% - 64px));
}

.public-auction-header-inner {
    min-height: 76px;
    gap: 32px;
}

.public-auction-nav {
    gap: 22px;
}

.public-auction-nav a,
.public-auction-nav button {
    padding: 10px 0;
}

.public-nav-register {
    padding: 10px 16px !important;
    border-radius: var(--radius-sm);
}

/* Hero areas: more breathing room, less visual weight */
.hero {
    padding: 86px 0 90px;
}

.public-catalogue-hero {
    padding: 58px 0 54px;
}

.hero::after {
    right: 8%;
    width: 220px;
    height: 1px;
}

.hero h1 {
    max-width: 860px;
    margin-bottom: 20px;
    letter-spacing: -0.02em;
}

.hero p {
    max-width: 760px;
    font-size: 16px;
    line-height: 1.75;
}

.hero-actions {
    margin-top: 34px;
}

/* Main content sections become soft framed surfaces */
.section {
    padding: 72px 0;
    background: var(--cream);
}

.section + .section {
    padding-top: 18px;
}

.section > .tt-container {
    padding: 40px 42px;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    background: var(--white);
    box-shadow: var(--ambient-shadow-small);
}

.section-cream > .tt-container {
    background: var(--gold-wash, #FFF9EE);
}

.section-white > .tt-container {
    background: var(--white);
}

.section-heading {
    max-width: 760px;
    margin-bottom: 34px;
}

.section-heading small {
    margin-bottom: 10px;
}

.section-heading h2,
.page-title {
    margin-bottom: 12px;
    letter-spacing: -0.015em;
}

.section-heading p,
.page-subtitle {
    line-height: 1.7;
}

/* Grids */
.grid {
    gap: 26px;
}

.public-lot-grid {
    gap: 28px;
}

.inventory-grid {
    gap: 22px;
}

/* Cards */
.card,
.inventory-card,
.stat-card,
.form-card,
.filter-bar,
.table-wrap,
.summary-box {
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-lg);
    box-shadow: var(--ambient-shadow-small);
}

.card,
.inventory-card,
.stat-card {
    transition:
        border-color 0.18s ease,
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

.card:hover,
.inventory-card:hover,
.stat-card:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--gold) 45%, var(--border));
    box-shadow: var(--ambient-shadow);
}

.card-body {
    padding: 28px;
}

.card-body h2,
.card-body h3 {
    margin-bottom: 12px;
}

.card-body p {
    line-height: 1.68;
}

/* Alternate very subtle warmth in repeated cards */
.grid > .card:nth-child(even),
.inventory-grid > .inventory-card:nth-child(even) {
    background: var(--cream-wash, #FFFEFC);
}

/* Buttons: soft professional edges */
.btn {
    min-height: 44px;
    padding: 11px 18px;
    border-radius: var(--radius-sm);
    box-shadow: none;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(67, 53, 31, 0.04);
}

/* Forms */
.form-card {
    max-width: 820px;
    margin: 46px auto;
    padding: 34px 36px;
}

.form-grid {
    gap: 20px 22px;
}

.form-group {
    margin-bottom: 19px;
}

.form-group label {
    margin-bottom: 8px;
}

.form-control {
    min-height: 44px;
    padding: 12px 14px;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
}

textarea.form-control {
    min-height: 120px;
}

.checkbox-row {
    gap: 10px;
    margin: 14px 0;
}

/* Filters */
.filter-bar {
    gap: 16px;
    margin-bottom: 26px;
    padding: 20px 22px;
    background: var(--gold-wash, #FFF9EE);
}

/* Tables */
.table-wrap {
    overflow: hidden;
    background: var(--white);
}

.table-wrap table {
    min-width: 100%;
}

th {
    padding: 14px 15px;
    background: var(--gold-wash, #FFF9EE);
    border-bottom: 1px solid color-mix(in srgb, var(--gold) 45%, var(--border));
}

td {
    padding: 14px 15px;
    border-bottom: 1px solid var(--border-soft);
    line-height: 1.5;
}

tbody tr:hover td {
    background: color-mix(in srgb, var(--gold) 3%, var(--white));
}

/* Tabs */
.auction-tabs {
    gap: 10px;
    margin-top: 30px;
}

.auction-tab {
    padding: 11px 17px;
    border-radius: var(--radius-sm);
}

/* Auction cards and lot details */
.auction-card-image,
.public-lot-image {
    height: 230px;
}

.auction-card-status,
.public-lot-number {
    top: 14px;
    right: 14px;
    padding: 7px 10px;
    border-radius: var(--radius-sm);
    box-shadow: var(--ambient-shadow-small);
}

.public-lot-number {
    left: 14px;
    right: auto;
}

.auction-card-meta {
    margin: 18px 0;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    background: var(--cream-wash, #FFFEFC);
    overflow: hidden;
}

.auction-card-meta div {
    padding: 13px 8px;
}

.public-catalogue-heading {
    gap: 28px;
}

.public-catalogue-info {
    gap: 34px;
    margin-top: 28px;
    padding-top: 24px;
}

.public-lot-body {
    padding: 24px;
}

.public-lot-meta {
    gap: 8px;
    margin-bottom: 13px;
}

.public-lot-meta span {
    padding: 5px 8px;
}

.public-lot-body h3 {
    margin-bottom: 12px;
}

.public-lot-description {
    line-height: 1.68;
}

.public-lot-price-area {
    gap: 10px;
    margin: 18px 0;
}

.public-lot-price-area div {
    padding: 14px;
    border: 1px solid var(--border-soft);
    border-radius: var(--radius-sm);
    background: var(--gold-wash, #FFF9EE);
}

.public-lot-countdown,
.lot-bid-status,
.alert {
    border-radius: var(--radius-sm);
}

.public-lot-countdown {
    margin: 14px 0;
    padding: 12px 14px;
}

.public-lot-closed-summary {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.public-lot-closed-summary strong {
    color: var(--charcoal);
    font-size: 12px;
    letter-spacing: .04em;
}

.public-lot-closed-summary span:last-child {
    color: var(--gold-dark, #8A6B2E);
    font-size: 13px;
    font-weight: 900;
}

.lot-bid-status {
    margin: 14px 0;
    padding: 14px 15px;
}

/* Admin structure */
.admin-layout {
    grid-template-columns: 255px minmax(0, 1fr);
    background: var(--cream);
}

.admin-sidebar {
    padding: 30px 18px;
    box-shadow: none;
}

.admin-brand {
    padding: 4px 10px 26px;
    margin-bottom: 18px;
}

.admin-nav {
    gap: 7px;
}

.admin-nav-link {
    padding: 12px 13px;
    border-radius: var(--radius-sm);
}

.admin-main {
    padding: 42px 46px 56px;
}

.admin-page-header {
    margin-bottom: 32px;
    padding: 0 0 24px;
    border-bottom: 1px solid var(--border-soft);
}

.admin-page-header h1 {
    margin-bottom: 9px;
    letter-spacing: -0.015em;
}

.admin-page-header p {
    line-height: 1.65;
}

/* Admin stat cards */
.stat-grid {
    gap: 18px;
    margin-bottom: 30px;
}

.stat-card {
    min-height: 108px;
    padding: 22px;
    background: var(--white);
    border-top: 1px solid var(--border-soft);
}

.stat-card:nth-child(even) {
    background: var(--gold-wash, #FFF9EE);
}

.stat-card small {
    line-height: 1.35;
}

.stat-card strong {
    margin-top: 11px;
}

/* Inventory */
.inventory-card {
    overflow: hidden;
}

.inventory-card img {
    height: 185px;
}

.inventory-card-body {
    padding: 20px;
}

.inventory-thumb,
.table-thumb {
    border-radius: var(--radius-sm);
}

/* Financial summaries */
.invoice-summary,
.statement-summary {
    gap: 16px;
    margin: 24px 0 28px;
}

.summary-box {
    padding: 19px;
    background: var(--gold-wash, #FFF9EE);
    box-shadow: none;
}

.summary-box strong {
    margin-top: 7px;
}

/* Alerts stay light and restrained */
.alert {
    padding: 15px 17px;
    border-top: 1px solid var(--border-soft);
    border-right: 1px solid var(--border-soft);
    border-bottom: 1px solid var(--border-soft);
    box-shadow: none;
}

/* Catalogue preview uses only a soft print-like depth */
.catalogue-sheet {
    box-shadow: 0 8px 24px rgba(67, 53, 31, 0.045);
}

/* Footer gets more space */
.public-auction-footer {
    padding: 44px 0;
}

@media (max-width: 1000px) {
    .tt-container,
    .public-auction-header-inner {
        width: min(calc(100% - 44px), 1180px);
    }

    .admin-main {
        padding: 34px 30px 46px;
    }

    .section > .tt-container {
        padding: 34px;
    }
}

@media (max-width: 760px) {
    .tt-container,
    .public-auction-header-inner {
        width: min(calc(100% - 28px), 1180px);
    }

    .hero {
        padding: 58px 0 62px;
    }

    .public-catalogue-hero {
        padding: 42px 0 40px;
    }

    .section {
        padding: 42px 0;
    }

    .section + .section {
        padding-top: 0;
    }

    .section > .tt-container {
        padding: 24px 20px;
        border-radius: var(--radius-md);
    }

    .card-body,
    .public-lot-body {
        padding: 21px;
    }

    .form-card {
        margin: 28px 14px;
        padding: 24px 20px;
    }

    .admin-main {
        padding: 26px 16px 40px;
    }

    .admin-sidebar {
        padding: 22px 16px;
    }

    .admin-page-header {
        margin-bottom: 24px;
    }

    .stat-grid {
        gap: 12px;
    }

    .stat-card {
        min-height: 96px;
        padding: 17px;
    }

    .filter-bar {
        padding: 16px;
    }
}


/* ============================================================
   V2.5 LUXURY TYPOGRAPHIC HIERARCHY
   Elegant serif display titles + crisp modern sans-serif UI.
   ============================================================ */

:root {
    --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
    --font-sans: "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

html {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-sans);
    font-weight: 400;
    letter-spacing: -0.005em;
}

/* Major titles: traditional, elegant and confident */
h1,
h2,
.page-title,
.hero h1,
.public-catalogue-heading h1,
.admin-page-header h1,
.home-hero h1,
.home-section-heading h2 {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.08;
}

h1 {
    font-size: clamp(2.15rem, 4.8vw, 3.8rem);
}

h2 {
    line-height: 1.14;
}

/* Secondary headings remain clean and contemporary */
h3,
h4,
h5,
h6,
.section-heading small,
.hero-eyebrow,
.public-auction-code,
.auction-card-code,
.public-lot-meta,
.form-group label,
.stat-card small,
.summary-box small,
th {
    font-family: var(--font-sans);
}

h3,
h4,
h5,
h6 {
    font-weight: 700;
    letter-spacing: -0.012em;
    line-height: 1.3;
}

/* Navigation and controls: compact, sharp and highly legible */
.public-auction-nav,
.admin-nav,
.btn,
button,
input,
select,
textarea,
.auction-tab,
.status-badge,
.badge {
    font-family: var(--font-sans);
}

.public-auction-nav a,
.public-auction-nav button,
.admin-nav-link,
.btn,
.auction-tab {
    letter-spacing: 0.055em;
}

/* Brand treatment */
.public-auction-logo strong,
.admin-brand strong {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -0.01em;
}

.public-auction-logo span,
.admin-brand span {
    font-family: var(--font-sans);
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

/* Long-form and supporting copy */
p,
li,
td,
.form-control,
.help-text,
.muted,
.card p,
.public-lot-description,
.hero p,
.admin-page-header p,
.section-heading p {
    font-family: var(--font-sans);
    line-height: 1.68;
}

/* Gold labels feel refined without becoming decorative */
.hero-eyebrow,
.section-heading small,
.public-auction-code {
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

/* Financial and key numeric values get a subtle editorial touch */
.stat-card strong,
.summary-box strong,
.public-lot-price-area strong {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: -0.02em;
}

/* Tables and dense admin screens stay firmly sans-serif */
table,
th,
td,
.filter-bar,
.form-card,
.admin-main {
    font-family: var(--font-sans);
}

@media (max-width: 760px) {
    h1,
    .hero h1,
    .public-catalogue-heading h1,
    .admin-page-header h1,
    .home-hero h1 {
        letter-spacing: -0.018em;
    }
}

/* ============================================================
   V2.6 POLISHED LUXURY CALL-TO-ACTIONS + LISTING CARDS
   Rich warm-gold primary actions, white text, muted-gold cards.
   ============================================================ */

:root {
    --cta-gold: #C5A059;
    --cta-gold-hover: #A8833F;
    --cta-gold-active: #947238;
    --cta-gold-border: rgba(197, 160, 89, 0.48);
    --cta-gold-soft: rgba(197, 160, 89, 0.10);
    --cta-focus-ring: rgba(197, 160, 89, 0.24);
}

/* Primary call-to-action buttons */
.btn-primary {
    background: var(--cta-gold);
    border: 1px solid var(--cta-gold);
    color: #ffffff;
    font-weight: 800;
    letter-spacing: 0.055em;
    box-shadow: 0 3px 10px rgba(91, 70, 34, 0.08);
    transition:
        background-color 0.22s ease,
        border-color 0.22s ease,
        color 0.22s ease,
        transform 0.22s ease,
        box-shadow 0.22s ease;
}

.btn-primary:hover {
    background: var(--cta-gold-hover);
    border-color: var(--cta-gold-hover);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(91, 70, 34, 0.11);
}

.btn-primary:active {
    background: var(--cta-gold-active);
    border-color: var(--cta-gold-active);
    color: #ffffff;
    transform: translateY(0);
    box-shadow: 0 2px 7px rgba(91, 70, 34, 0.08);
}

.btn-primary:focus-visible {
    outline: 3px solid var(--cta-focus-ring);
    outline-offset: 3px;
}

.btn-primary:disabled,
.btn-primary[aria-disabled="true"] {
    opacity: 0.56;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Secondary actions remain refined and restrained */
.btn-dark,
.btn-outline,
.btn-light {
    font-weight: 750;
    transition:
        background-color 0.22s ease,
        border-color 0.22s ease,
        color 0.22s ease,
        transform 0.22s ease,
        box-shadow 0.22s ease;
}

.btn-dark,
.btn-outline {
    background: #ffffff;
    border-color: var(--cta-gold-border);
    color: var(--gold-dark);
}

.btn-dark:hover,
.btn-outline:hover {
    background: var(--cta-gold-soft);
    border-color: var(--cta-gold);
    color: var(--charcoal);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(91, 70, 34, 0.06);
}

.btn-dark:focus-visible,
.btn-outline:focus-visible,
.btn-light:focus-visible {
    outline: 3px solid var(--cta-focus-ring);
    outline-offset: 3px;
}

/*
   Cards and listing elements: clean white surfaces with a
   restrained muted-gold outline and almost imperceptible depth.
*/
.card,
.inventory-card,
.table-card,
.empty-card {
    background: #ffffff;
    border: 1px solid var(--cta-gold-border);
    border-radius: 10px;
    box-shadow: 0 5px 18px rgba(91, 70, 34, 0.045);
    transition:
        border-color 0.22s ease,
        transform 0.22s ease,
        box-shadow 0.22s ease;
}

.card:hover,
.inventory-card:hover {
    border-color: rgba(197, 160, 89, 0.78);
    transform: translateY(-2px);
    box-shadow: 0 7px 22px rgba(91, 70, 34, 0.065);
}

/* Keep repeated listing cards white rather than alternating cream. */
.grid > .card:nth-child(even),
.inventory-grid > .inventory-card:nth-child(even) {
    background: #ffffff;
}

/*
   Buttons inside cards/listings become compact accent actions.
   Destructive and success actions retain their semantic colours.
*/
.card .btn-dark,
.card .btn-outline,
.inventory-card .btn-dark,
.inventory-card .btn-outline,
.table-card .btn-dark,
.table-card .btn-outline {
    background: var(--cta-gold);
    border-color: var(--cta-gold);
    color: #ffffff;
    font-weight: 800;
    box-shadow: none;
}

.card .btn-dark:hover,
.card .btn-outline:hover,
.inventory-card .btn-dark:hover,
.inventory-card .btn-outline:hover,
.table-card .btn-dark:hover,
.table-card .btn-outline:hover {
    background: var(--cta-gold-hover);
    border-color: var(--cta-gold-hover);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(91, 70, 34, 0.09);
}

/* Give buttons a polished, consistent shape without becoming pill-like. */
.btn {
    border-radius: 9px;
    padding: 12px 19px;
}

/* Hero CTA gets a touch more visual importance. */
.hero-actions .btn-primary,
.page-actions .btn-primary {
    padding: 13px 22px;
}

/* Auction tabs keep their own navigation meaning but use the same gold language. */
.auction-tab.active {
    background: var(--cta-gold);
    border-color: var(--cta-gold);
    color: #ffffff;
}

.auction-tab.active:hover {
    background: var(--cta-gold-hover);
    border-color: var(--cta-gold-hover);
    color: #ffffff;
}

/* Mobile buttons stay easy to tap. */
@media (max-width: 760px) {
    .btn {
        min-height: 46px;
        padding: 12px 17px;
    }
}

/* ============================================================
   V2.10 MOBILE + TABLET OPTIMISATION
   Responsive navigation, touch targets, off-canvas admin menu,
   fluid cards/forms/tables and mobile catalogue preview.
   ============================================================ */

:root {
    --mobile-page-gutter: 18px;
    --tablet-page-gutter: 28px;
    --touch-target: 44px;
}

/* Prevent accidental horizontal page overflow. */
html,
body {
    max-width: 100%;
    overflow-x: clip;
}

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

/* New responsive header controls. */
.public-auction-logo-responsive {
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.public-site-logo-image {
    display: block;
    width: auto;
    max-width: 140px;
    max-height: 48px;
    object-fit: contain;
}

.public-site-logo-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.public-mobile-menu-toggle,
.admin-mobile-menu-toggle,
.admin-mobile-menu-close,
.admin-mobile-backdrop,
.admin-mobile-sidebar-head {
    display: none;
}

.public-nav-logout-form {
    margin: 0;
}

/* Better touch behaviour without changing desktop appearance. */
a,
button,
.btn,
input,
select,
textarea {
    -webkit-tap-highlight-color: transparent;
}

button,
.btn,
.public-auction-nav a,
.public-auction-nav button,
.admin-nav-link,
.auction-tab {
    touch-action: manipulation;
}

/* Scrolling tables feel native on tablets and phones. */
.table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

/* Keep long values from forcing layouts wider than the viewport. */
td,
th,
.card,
.form-card,
.inventory-card,
.stat-card,
.summary-box,
.admin-main,
.public-lot-body {
    overflow-wrap: anywhere;
}

/* ============================================================
   TABLET — up to 1100px
   ============================================================ */
@media screen and (max-width: 1100px) {

    .tt-container,
    .public-auction-header-inner {
        width: min(100% - (var(--tablet-page-gutter) * 2), 1180px);
    }

    /* Admin becomes an off-canvas navigation layout. */
    .admin-layout {
        display: block;
        min-height: 100dvh;
    }

    .admin-main {
        width: 100%;
        padding: 84px var(--tablet-page-gutter) 48px;
    }

    .admin-mobile-menu-toggle {
        position: fixed;
        top: 14px;
        left: 16px;
        z-index: 920;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: var(--touch-target);
        padding: 10px 14px;
        border: 1px solid var(--cta-gold-border);
        border-radius: 9px;
        background: #ffffff;
        color: var(--charcoal);
        box-shadow: 0 5px 18px rgba(67, 53, 31, 0.08);
        font-size: 11px;
        font-weight: 850;
        letter-spacing: 0.04em;
        cursor: pointer;
    }

    .admin-mobile-menu-icon {
        color: var(--gold-dark);
        font-size: 19px;
        line-height: 1;
    }

    .admin-sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 1000;
        width: min(330px, 86vw);
        height: 100dvh;
        padding: 18px 16px 28px;
        overflow-y: auto;
        border-right: 1px solid var(--border);
        border-bottom: 0;
        box-shadow: 12px 0 34px rgba(67, 53, 31, 0.11);
        transform: translateX(-105%);
        transition: transform 0.24s ease;
    }

    body.admin-menu-open {
        overflow: hidden;
    }

    body.admin-menu-open .admin-sidebar {
        transform: translateX(0);
    }

    .admin-mobile-backdrop {
        position: fixed;
        inset: 0;
        z-index: 980;
        width: 100%;
        height: 100%;
        border: 0;
        background: rgba(26, 26, 26, 0.24);
        backdrop-filter: blur(2px);
        cursor: pointer;
    }

    body.admin-menu-open .admin-mobile-backdrop {
        display: block;
    }

    .admin-mobile-sidebar-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 8px;
        padding: 0 4px 10px;
        color: var(--muted);
        font-size: 9px;
        font-weight: 850;
        letter-spacing: 0.08em;
    }

    .admin-mobile-menu-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: var(--touch-target);
        height: var(--touch-target);
        padding: 0;
        border: 1px solid var(--border);
        border-radius: 9px;
        background: var(--cream);
        color: var(--charcoal);
        font-size: 25px;
        line-height: 1;
        cursor: pointer;
    }

    .admin-brand-logo-image {
        display: block;
        width: auto;
        max-width: 150px;
        max-height: 56px;
        margin-bottom: 7px;
        object-fit: contain;
    }

    .admin-nav-link {
        min-height: var(--touch-target);
        display: flex;
        align-items: center;
        padding: 11px 12px;
    }

    .admin-page-header {
        gap: 16px;
    }

    .admin-page-header > div:last-child:not(:first-child) {
        max-width: 100%;
    }

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

    .stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .invoice-summary,
    .statement-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-main .table-wrap table {
        min-width: 720px;
    }

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

/* ============================================================
   PUBLIC TABLET NAVIGATION — up to 900px
   ============================================================ */
@media screen and (max-width: 900px) {

    .public-auction-header {
        position: sticky;
        top: 0;
    }

    .public-auction-header-inner {
        position: relative;
        min-height: 72px;
        padding: 10px 0;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
    }

    .public-site-logo-image {
        max-width: 118px;
        max-height: 42px;
    }

    .public-auction-logo strong {
        font-size: 13px;
    }

    .public-mobile-menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        min-height: var(--touch-target);
        padding: 9px 12px;
        border: 1px solid var(--cta-gold-border);
        border-radius: 9px;
        background: #ffffff;
        color: var(--charcoal);
        font-size: 10px;
        font-weight: 850;
        letter-spacing: 0.045em;
        cursor: pointer;
    }

    .public-mobile-menu-icon {
        color: var(--gold-dark);
        font-size: 18px;
        line-height: 1;
    }

    .public-auction-nav {
        position: absolute;
        top: calc(100% + 8px);
        left: 0;
        right: 0;
        z-index: 100;
        display: none;
        width: 100%;
        max-height: calc(100dvh - 96px);
        overflow-y: auto;
        padding: 10px;
        gap: 4px;
        flex-direction: column;
        align-items: stretch;
        background: rgba(255, 255, 255, 0.99);
        border: 1px solid var(--border);
        border-radius: 12px;
        box-shadow: 0 12px 30px rgba(67, 53, 31, 0.11);
    }

    .public-auction-nav.is-open {
        display: flex;
    }

    .public-auction-nav a,
    .public-auction-nav button {
        width: 100%;
        min-height: var(--touch-target);
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 11px 12px !important;
        border: 0 !important;
        border-radius: 8px;
        box-shadow: none !important;
        text-align: left;
    }

    .public-auction-nav a:hover,
    .public-auction-nav a.active,
    .public-auction-nav button:hover {
        background: var(--cream);
        color: var(--gold-dark);
        box-shadow: none;
    }

    .public-nav-register {
        margin-top: 2px;
        background: var(--cta-gold) !important;
        color: #ffffff !important;
    }

    .public-nav-logout-form {
        width: 100%;
    }

    .hero {
        padding: 64px 0 68px;
    }

    .public-catalogue-hero {
        padding: 46px 0 44px;
    }

    .grid-3,
    .public-lot-grid,
    .inventory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .auction-card-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-action-grid,
    .home-how-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .catalogue-sheet {
        width: calc(100vw - 32px);
        min-height: auto;
        margin: 16px auto;
        padding: 24px;
        border-radius: 10px;
    }

    .catalogue-cover {
        min-height: auto;
        aspect-ratio: 210 / 297;
    }

    .catalogue-cover img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .catalogue-lot-image {
        max-height: 56vh;
    }
}

/* ============================================================
   MOBILE — up to 640px
   ============================================================ */
@media screen and (max-width: 640px) {

    :root {
        --mobile-page-gutter: 16px;
    }

    .tt-container,
    .public-auction-header-inner {
        width: calc(100% - (var(--mobile-page-gutter) * 2));
    }

    .public-site-logo-image {
        max-width: 104px;
        max-height: 38px;
    }

    .public-mobile-menu-toggle {
        padding-inline: 10px;
    }

    .public-mobile-menu-toggle > span:last-child {
        display: none;
    }

    .hero {
        padding: 48px 0 52px;
    }

    .public-catalogue-hero {
        padding: 36px 0 34px;
    }

    .hero h1,
    .public-catalogue-heading h1,
    .admin-page-header h1,
    .home-hero h1 {
        font-size: clamp(30px, 10vw, 42px);
        line-height: 1.06;
    }

    .section {
        padding: 34px 0;
    }

    .section > .tt-container {
        padding: 20px 16px;
        border-radius: 10px;
    }

    .grid-2,
    .grid-3,
    .grid-4,
    .public-lot-grid,
    .inventory-grid,
    .form-grid,
    .invoice-summary,
    .statement-summary,
    .home-action-grid,
    .home-how-grid {
        grid-template-columns: 1fr !important;
    }

    .auction-tabs {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        gap: 8px;
    }

    .auction-tab {
        width: 100%;
        min-height: var(--touch-target);
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .auction-card-meta,
    .public-lot-price-area {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .public-lot-body,
    .card-body {
        padding: 18px 16px;
    }

    .public-lot-body h3 {
        font-size: 20px;
    }

    .public-lot-description {
        font-size: 13px;
    }

    .form-card {
        width: calc(100% - 24px);
        max-width: none;
        margin: 18px auto;
        padding: 20px 16px;
    }

    .form-control,
    input,
    select,
    textarea {
        min-height: var(--touch-target);
        font-size: 16px;
    }

    textarea.form-control,
    textarea {
        min-height: 110px;
    }

    input[type="checkbox"],
    input[type="radio"] {
        min-height: auto;
        width: 20px;
        height: 20px;
    }

    .btn,
    button.btn {
        min-height: var(--touch-target);
    }

    .hero-actions,
    .page-actions,
    .admin-page-header,
    .public-catalogue-heading,
    .home-account-banner {
        flex-direction: column;
        align-items: stretch;
    }

    .hero-actions .btn,
    .page-actions .btn,
    .admin-page-header > a.btn,
    .admin-page-header > div:last-child .btn,
    .home-account-button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .admin-main {
        padding: 78px 14px 34px;
    }

    .admin-mobile-menu-toggle {
        top: 12px;
        left: 12px;
        min-height: 42px;
        padding: 9px 12px;
    }

    .admin-page-header {
        align-items: stretch;
        padding-bottom: 16px;
    }

    .admin-page-header > div:last-child:not(:first-child) {
        width: 100%;
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
    }

    .filter-bar {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 14px;
    }

    .filter-bar .form-group {
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    .filter-bar .btn {
        width: 100%;
        justify-content: center;
    }

    .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .stat-card {
        min-height: 92px;
        padding: 15px 13px;
    }

    .stat-card strong {
        font-size: 24px;
    }

    .admin-main .table-wrap {
        margin-inline: -2px;
        border-radius: 9px;
    }

    .admin-main .table-wrap table {
        min-width: 680px;
    }

    th,
    td {
        padding: 10px;
    }

    .table-thumb {
        width: 58px;
        height: 58px;
    }

    .catalogue-sheet {
        width: calc(100vw - 20px);
        padding: 16px;
    }

    .catalogue-sheet h1 {
        font-size: 28px;
    }

    .catalogue-lot-image {
        margin: 12px auto;
        max-height: 48vh;
    }

    .home-hero {
        padding: 48px 16px 52px !important;
    }

    .home-hero-buttons {
        display: grid !important;
        grid-template-columns: 1fr;
    }

    .home-primary-button,
    .home-secondary-button {
        width: 100%;
        min-height: var(--touch-target);
    }

    .home-section {
        padding: 38px 16px !important;
    }

    .home-action-card,
    .home-how-card {
        padding: 20px !important;
    }
}

/* Very small phones. */
@media screen and (max-width: 390px) {
    .stat-grid,
    .auction-card-meta,
    .public-lot-price-area {
        grid-template-columns: 1fr;
    }

    .public-auction-logo strong {
        font-size: 12px;
    }

    .admin-main {
        padding-inline: 10px;
    }
}

/* Keep print catalogue true A4 despite screen responsive rules. */
@media print {
    .public-mobile-menu-toggle,
    .admin-mobile-menu-toggle,
    .admin-mobile-backdrop,
    .admin-mobile-menu-close,
    .admin-mobile-sidebar-head {
        display: none !important;
    }

    .catalogue-sheet {
        width: 210mm;
        min-height: 297mm;
        margin: 0;
        padding: 15mm;
        border-radius: 0;
        box-shadow: none;
    }

    .catalogue-cover {
        aspect-ratio: auto;
    }

    .catalogue-cover img {
        width: 100%;
        height: 297mm;
        object-fit: cover;
    }

    .catalogue-lot-image {
        max-height: 155mm;
    }
}


/* ============================================================
   V3 LOT PHOTO GALLERY
   ============================================================ */
.lot-main-image-button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;border-radius:10px 10px 0 0}.lot-main-image-button img{display:block;width:100%;height:100%;object-fit:cover}.lot-photo-count{position:absolute;right:12px;top:12px;padding:7px 10px;border-radius:999px;background:rgba(26,26,26,.82);color:#fff;font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.04em}.lot-gallery-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:30px;background:rgba(26,26,26,.92)}.lot-gallery-modal.open{display:flex}.lot-gallery-figure{margin:0;max-width:min(1100px,86vw);max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:12px}.lot-gallery-figure img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:10px;background:#fff}.lot-gallery-figure figcaption{display:flex;gap:18px;justify-content:center;color:#fff}.lot-gallery-close,.lot-gallery-nav{position:absolute;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;cursor:pointer}.lot-gallery-close{top:18px;right:18px;width:46px;height:46px;font-size:30px}.lot-gallery-nav{top:50%;transform:translateY(-50%);width:50px;height:50px;font-size:34px}.lot-gallery-prev{left:18px}.lot-gallery-next{right:18px}@media(max-width:700px){.lot-gallery-modal{padding:18px}.lot-gallery-nav{top:auto;bottom:24px}.lot-gallery-prev{left:calc(50% - 62px)}.lot-gallery-next{right:calc(50% - 62px)}.lot-gallery-figure{max-width:96vw}.lot-gallery-figure img{max-height:72vh}}


/* ============================================================
   V3 HOME CAROUSEL + CALENDAR
   ============================================================ */
.marketing-carousel{position:relative;background:var(--cream);overflow:hidden}.marketing-carousel-track{position:relative;min-height:260px}.marketing-slide{display:none;position:relative;min-height:260px}.marketing-slide.active{display:block}.marketing-slide>img{display:block;width:100%;height:clamp(260px,42vw,520px);object-fit:cover}.marketing-slide-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;background:linear-gradient(180deg,transparent 35%,rgba(26,26,26,.72))}.marketing-slide-copy{max-width:680px;padding:46px 0;color:#fff}.marketing-slide-copy h2{color:#fff;font-size:clamp(28px,4vw,48px);margin:0 0 10px}.marketing-slide-copy p{font-size:17px;max-width:600px}.marketing-carousel-dots{position:absolute;bottom:16px;right:4%;display:flex;gap:8px;z-index:3}.marketing-carousel-dots button{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid #fff;background:rgba(255,255,255,.45)}.marketing-carousel-dots button.active{background:var(--gold)}.home-calendar-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:22px;align-items:start}.home-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.home-calendar-head h3{margin:0}.home-calendar-weekdays,.home-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.home-calendar-weekdays span{text-align:center;font-size:11px;font-weight:800;color:var(--muted);padding:6px}.home-calendar-cell{min-height:88px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#fff;display:flex;flex-direction:column;gap:4px}.home-calendar-cell.empty{background:transparent;border-color:transparent}.home-calendar-cell.has-event{border-color:var(--gold);background:#fffaf0}.home-calendar-cell>strong{font-size:13px}.home-calendar-cell>span{font-size:9px;line-height:1.2;color:var(--gold-dark);font-weight:700}.calendar-event-list{display:grid;gap:12px}.calendar-event-item{padding:14px;border:1px solid var(--border);border-radius:10px;background:#fff;display:grid;gap:10px}.calendar-event-item strong,.calendar-event-item span{display:block}.calendar-subscribe-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px}@media(max-width:900px){.home-calendar-layout{grid-template-columns:1fr}.home-calendar-cell{min-height:68px;padding:6px}.home-calendar-cell>span{font-size:8px}}@media(max-width:600px){.marketing-slide-overlay{position:relative;background:var(--charcoal)}.marketing-slide-copy{padding:22px 0}.home-calendar-weekdays span{font-size:9px}.home-calendar-grid{gap:3px}.home-calendar-cell{min-height:52px;border-radius:6px}.home-calendar-cell>span{display:none}}

/* ============================================================
   V3 ACCOUNTING / COLLECTIONS RESPONSIVE HELPERS
   ============================================================ */
.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.collection-grid>.card{margin:0}.accounting-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media(max-width:900px){.collection-grid,.accounting-link-grid{grid-template-columns:1fr}.admin-main .table-wrap form{min-width:240px}.home-calendar-layout{gap:16px}}@media(max-width:600px){.admin-page-header .page-actions,.page-actions{width:100%}.page-actions .btn,.page-actions form,.page-actions form .btn{width:100%}.calendar-event-item .btn{width:100%}.calendar-subscribe-form{align-items:flex-start}.calendar-subscribe-form .btn{width:100%;margin-top:4px}}

/* Public homepage refinement - v3.2.36 */
.public-site{--site-gold:#cda24f;--site-gold-dark:#a87823;--site-gold-light:#f8f1e4;--site-charcoal:#181818;--site-body-text:#374151;--site-border:#e9d8b5;--site-white:#fff;--site-whatsapp:#198754;--site-whatsapp-dark:#12683f}
.public-site .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:.8rem 1.35rem;border:1px solid transparent;border-radius:10px;font-family:inherit;font-size:.82rem;font-weight:700;line-height:1.2;letter-spacing:.055em;text-align:center;text-decoration:none;text-transform:uppercase;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.public-site .btn:hover{transform:translateY(-2px)}.public-site .btn:active{transform:translateY(0)}.public-site .btn:focus-visible{outline:3px solid rgba(205,162,79,.35);outline-offset:3px}
.public-site .btn-primary{color:#fff;background:var(--site-gold);border-color:var(--site-gold);box-shadow:0 6px 15px rgba(168,120,35,.2)}.public-site .btn-primary:hover{color:#fff;background:var(--site-gold-dark);border-color:var(--site-gold-dark);box-shadow:0 9px 20px rgba(168,120,35,.28)}
.public-site .btn-outline{color:var(--site-gold-dark);background:#fff;border-color:var(--site-gold)}.public-site .btn-outline:hover{color:#fff;background:var(--site-gold);border-color:var(--site-gold);box-shadow:0 8px 18px rgba(168,120,35,.2)}
.public-site .btn-whatsapp,.public-site .btn-success{color:#fff;background:var(--site-whatsapp);border-color:var(--site-whatsapp);box-shadow:0 6px 15px rgba(25,135,84,.2)}.public-site .btn-whatsapp:hover,.public-site .btn-success:hover{color:#fff;background:var(--site-whatsapp-dark);border-color:var(--site-gold);box-shadow:0 9px 20px rgba(25,135,84,.28)}
.public-site .public-auction-header-inner{min-height:96px;padding-top:16px;padding-bottom:16px}.public-site .public-auction-logo img{display:block;width:auto;max-width:230px;max-height:70px;object-fit:contain}
.public-site .public-auction-nav>a,.public-site .public-nav-dropdown-toggle{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:10px 3px;color:#333;font-weight:600;text-decoration:none;transition:color .18s ease}
.public-site .public-auction-nav>a::after,.public-site .public-nav-dropdown-toggle::after{content:"";position:absolute;right:0;bottom:2px;left:0;height:2px;background:var(--site-gold);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}
.public-site .public-auction-nav>a:hover,.public-site .public-nav-dropdown-toggle:hover,.public-site .public-auction-nav>a.active,.public-site .public-nav-dropdown-toggle.active{color:var(--site-gold-dark)}.public-site .public-auction-nav>a:hover::after,.public-site .public-nav-dropdown-toggle:hover::after,.public-site .public-auction-nav>a.active::after,.public-site .public-nav-dropdown-toggle.active::after{transform:scaleX(1)}.public-site .public-auction-nav>a.active,.public-site .public-nav-dropdown-toggle.active{font-weight:700;box-shadow:none}
.public-site .marketing-slide{position:relative;overflow:hidden;background:#111}.public-site .marketing-slide>img{display:block;width:100%;height:clamp(360px,42vw,650px);min-height:360px;object-fit:cover;object-position:center}.public-site .marketing-slide-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:clamp(30px,5vw,70px) 0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.14) 48%,rgba(0,0,0,0) 75%)}.public-site .marketing-slide-container{width:100%}.public-site .marketing-slide-copy{width:min(620px,100%);max-width:620px;padding:clamp(20px,3vw,32px);border:1px solid rgba(255,255,255,.22);border-radius:14px;color:#fff;background:rgba(17,17,17,.66);box-shadow:0 14px 35px rgba(0,0,0,.25);backdrop-filter:blur(4px);pointer-events:auto}.public-site .marketing-slide-copy h2{margin:0 0 .75rem;color:#fff;font-size:clamp(1.8rem,4vw,3.25rem);line-height:1.05;text-shadow:0 2px 10px rgba(0,0,0,.55)}.public-site .marketing-slide-subtitle{margin:0 0 1.25rem;color:#fff;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.55;text-shadow:0 2px 8px rgba(0,0,0,.75)}.public-site .marketing-slide-copy .btn{position:static;margin:0}
.public-site .hero{padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(70px,9vw,130px)}.public-site .hero .tt-container{max-width:1180px}.public-site .hero-eyebrow,.public-site .section-eyebrow{margin-bottom:14px;color:var(--site-gold-dark);font-size:.78rem;font-weight:700;letter-spacing:.13em}.public-site .hero h1{max-width:850px;margin:0;color:var(--site-charcoal);font-size:clamp(2.6rem,5.5vw,5rem);line-height:.98}.public-site .hero-subtitle{max-width:720px;margin:24px 0 0;color:var(--site-body-text);font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.7}.public-site .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:30px}
.public-site .feature-section{padding:clamp(65px,8vw,110px) 0;background:#fbf8f2;border-top:1px solid var(--site-border)}.public-site .feature-section-heading{max-width:720px;margin-bottom:38px}.public-site .feature-section-heading h2{margin:0 0 14px;color:var(--site-charcoal);font-size:clamp(2rem,4vw,3.2rem);line-height:1.08}.public-site .feature-section-heading p{margin:0;color:var(--site-body-text);font-size:1.05rem;line-height:1.65}.public-site .feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.public-site .feature-card{position:relative;display:flex;flex-direction:column;min-height:280px;padding:clamp(24px,3vw,34px);background:#fff;border:1px solid var(--site-border);border-radius:14px;box-shadow:0 10px 25px rgba(59,44,18,.07);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.public-site .feature-card:hover{border-color:var(--site-gold);box-shadow:0 16px 34px rgba(59,44,18,.12);transform:translateY(-4px)}.public-site .feature-card-number{margin-bottom:35px;color:var(--site-gold);font-size:.8rem;font-weight:700;letter-spacing:.12em}.public-site .feature-card-content{display:flex;flex:1;flex-direction:column}.public-site .feature-card h3{margin:0 0 12px;color:var(--site-charcoal);font-size:1.5rem}.public-site .feature-card p{margin:0 0 24px;color:var(--site-body-text);font-size:1rem;line-height:1.65}.public-site .feature-card-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:var(--site-gold-dark);font-size:.82rem;font-weight:700;letter-spacing:.05em;text-decoration:none;text-transform:uppercase}.public-site .feature-card-link span{transition:transform .18s ease}.public-site .feature-card-link:hover span{transform:translateX(4px)}
@media(max-width:900px){.public-site .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-site .marketing-slide-copy{width:min(540px,100%)}}
@media(max-width:640px){.public-site .public-auction-header-inner{min-height:78px;padding-top:12px;padding-bottom:12px}.public-site .public-auction-logo img{max-width:180px;max-height:56px}.public-site .marketing-slide>img{height:470px;min-height:470px}.public-site .marketing-slide-overlay{position:absolute;padding:22px 16px 30px;background:linear-gradient(180deg,rgba(0,0,0,.05) 20%,rgba(0,0,0,.78) 100%)}.public-site .marketing-slide-copy{padding:20px;border-radius:12px}.public-site .hero-actions{align-items:stretch;flex-direction:column}.public-site .hero-actions .btn{width:100%}.public-site .feature-grid{grid-template-columns:1fr}.public-site .feature-card{min-height:250px}}

/* Customer My Account dashboard - v3.2.38 */
.account-dashboard-section{padding-top:48px;padding-bottom:48px;background:#fbf8f2}.account-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.account-choice{display:flex;min-height:190px;padding:24px;flex-direction:column;color:var(--charcoal);text-decoration:none;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 22px rgba(49,38,18,.06);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.account-choice:hover{color:var(--charcoal);border-color:var(--gold);box-shadow:0 13px 30px rgba(49,38,18,.12);transform:translateY(-3px)}.account-choice.active{border:2px solid var(--gold);background:#fffaf0;box-shadow:0 13px 30px rgba(168,120,35,.14)}.account-choice-icon{display:inline-flex;width:38px;height:38px;margin-bottom:24px;align-items:center;justify-content:center;color:#fff;background:var(--gold);border-radius:50%;font-size:12px;font-weight:800}.account-choice strong{font-size:20px;margin-bottom:10px}.account-choice small{margin-top:auto;color:#5d6470;font-size:13px;line-height:1.6}.account-finance-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}.account-finance-summary>div{display:flex;min-height:112px;padding:22px 24px;flex-direction:column;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:12px}.account-finance-summary small{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em}.account-finance-summary strong{margin-top:7px;color:var(--charcoal);font-family:var(--font-heading);font-size:28px}.account-filter-form{display:grid;grid-template-columns:110px minmax(220px,520px);gap:12px;align-items:center;margin-bottom:24px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:12px}.account-filter-form label{font-weight:800}.account-lot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-lot-card{display:grid;grid-template-columns:130px 1fr;min-height:145px;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:0 7px 20px rgba(49,38,18,.06)}.account-lot-image{display:flex;min-height:145px;align-items:center;justify-content:center;color:var(--gold-dark);background:#f5f0e7;font-size:12px;font-weight:800}.account-lot-image img{width:100%;height:100%;min-height:145px;object-fit:cover}.account-lot-copy{padding:20px}.account-lot-copy>small{color:var(--gold-dark);font-size:11px;font-weight:800;text-transform:uppercase}.account-lot-copy h3{margin:8px 0 10px;font-size:18px;line-height:1.25}.account-lot-copy p{margin:0 0 12px;color:var(--muted)}
@media(max-width:1000px){.account-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-lot-grid{grid-template-columns:1fr}}
@media(max-width:620px){.account-choice-grid,.account-finance-summary{grid-template-columns:1fr}.account-choice{min-height:160px}.account-filter-form{grid-template-columns:1fr}.account-lot-card{grid-template-columns:95px 1fr}.account-lot-image,.account-lot-image img{min-height:130px}.account-lot-copy{padding:16px}.account-page .hero{padding-top:55px;padding-bottom:55px}}

/* Admin system health - v3.2.39 */
.system-health-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:28px;border:1px solid var(--border);border-left-width:6px;border-radius:14px;background:#fff}.system-health-banner.health-healthy{border-left-color:#2f855a;background:#f1fbf5}.system-health-banner.health-warning{border-left-color:#c58a18;background:#fff9ec}.system-health-banner.health-failed{border-left-color:#c53030;background:#fff5f5}.system-health-banner h2{margin:5px 0;font-size:32px}.system-health-banner p{margin:0;color:var(--muted)}.system-health-totals{display:flex;gap:10px;flex-wrap:wrap}.health-count{display:flex;min-width:90px;padding:12px;flex-direction:column;align-items:center;border-radius:10px;background:#fff;border:1px solid var(--border);font-size:11px;text-transform:uppercase}.health-count strong{font-size:24px}.health-count.healthy strong{color:#2f855a}.health-count.warning strong{color:#a66a00}.health-count.failed strong{color:#c53030}.health-check-list{display:grid;gap:10px}.health-check-row{display:grid;grid-template-columns:16px 1fr auto;gap:12px;align-items:center;padding:15px;border:1px solid var(--border);border-radius:10px}.health-check-row p{margin:4px 0 0;color:var(--muted);font-size:13px}.health-dot{width:12px;height:12px;border-radius:50%}.health-dot.healthy{background:#2f855a}.health-dot.warning{background:#d69e2e}.health-dot.failed{background:#c53030}.health-label-healthy{color:#17643d;background:#dff5e7}.health-label-warning{color:#8a5900;background:#fff0c7}.health-label-failed{color:#9b2424;background:#ffe0e0}
@media(max-width:760px){.system-health-banner{align-items:flex-start;flex-direction:column}.system-health-totals{width:100%}.health-count{flex:1}.health-check-row{grid-template-columns:16px 1fr}.health-check-row>.status-badge{grid-column:2;justify-self:start}}

/* Near-real-time auction state */
.live-connection-status{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:8px 12px;color:#6b5a37;background:#fff8e7;border:1px solid var(--border);border-radius:999px;font-size:12px;font-weight:700}.live-connection-dot{width:9px;height:9px;border-radius:50%;background:#d69e2e;box-shadow:0 0 0 4px rgba(214,158,46,.13)}.live-connection-status.connected{color:#17643d;background:#edf9f1}.live-connection-status.connected .live-connection-dot{background:#2f855a;box-shadow:0 0 0 4px rgba(47,133,90,.13)}.live-connection-status.disconnected{color:#8a5900}.live-connection-status.disconnected .live-connection-dot{animation:live-pulse 1.2s infinite}@keyframes live-pulse{50%{opacity:.35}}

/* Confidential maximum / proxy bidding - v3.2.40 */
.auction-registration-card{border-left:5px solid var(--gold)}.auction-registration-card h2{margin-top:0}.auction-terms-box{max-height:230px;margin:16px 0;padding:18px;overflow:auto;white-space:pre-wrap;color:#374151;background:#fbfaf7;border:1px solid var(--border);border-radius:10px;font-size:14px;line-height:1.6}.auction-terms-accept{margin:15px 0 18px;align-items:flex-start}.auction-terms-accept input{margin-top:3px}
.proxy-bid-feedback{margin-bottom:22px}.proxy-bid-panel{margin-top:12px;padding:15px;border:1px solid var(--border);border-radius:10px;background:#fffaf0}.proxy-bid-panel summary{cursor:pointer;color:var(--gold-dark);font-size:12px;font-weight:800;letter-spacing:.055em;list-style-position:inside}.proxy-bid-panel p{margin:12px 0;color:#4b5563;font-size:13px;line-height:1.55}.proxy-current-maximum{margin:0 0 12px;padding:10px 12px;color:#17643d;background:#edf9f1;border-left:3px solid #2f855a;border-radius:6px;font-size:13px}.proxy-bid-panel .form-group{margin-top:12px}.proxy-bid-panel[open] summary{margin-bottom:4px}

/* V3.4.21: editorial serif headings with a clean, readable UI face. */
.public-site{color:#374151;font-family:var(--font-sans);font-size:16px;line-height:1.6}
.public-site main,.public-site p,.public-site li,.public-site a,.public-site label,.public-site small,.public-site span,.public-site input,.public-site select,.public-site textarea,.public-site button,.public-site table,.public-site th,.public-site td,.public-site .btn{font-family:var(--font-sans)}
.public-site main p,.public-site main li{line-height:1.6}
.public-site h1,.public-site h2,.public-site .hero h1,.public-site .marketing-slide-copy h2,.public-site .feature-section-heading h2,.public-site .card-body>h2,.public-site .public-lot-body>h3,.public-site .public-lot-price-area strong,.public-site .stat-card strong,.public-site .summary-box strong,.public-site .account-finance-summary strong{font-family:var(--font-display)}
.public-site h1,.public-site h2{color:var(--site-charcoal,var(--charcoal));font-weight:700;letter-spacing:-.025em}
.public-site h3,.public-site h4,.public-site h5,.public-site h6{font-family:var(--font-sans);font-weight:700;letter-spacing:-.012em;line-height:1.3}
.public-site .public-lot-body>h3{color:var(--site-charcoal,var(--charcoal));font-family:var(--font-display);font-size:20px;line-height:1.28}
.public-site .public-auction-nav>a,.public-site .public-nav-dropdown-toggle{font-size:14px;line-height:1.25}
.public-site input,.public-site select,.public-site textarea{font-size:16px;line-height:1.5}
.public-site label,.public-site .form-group label{font-size:14px;line-height:1.4}
.public-site .btn{font-size:13px}
.public-site .hero-subtitle,.public-site .feature-section-heading p,.public-site .marketing-slide-subtitle,.public-site .public-lot-description,.public-site .card-body>p{color:#374151;font-size:16px;line-height:1.6}
.public-site .marketing-slide-subtitle{color:#fff}
.public-site .public-lot-price-area strong{font-size:18px;line-height:1.25}
.public-site .public-lot-meta,.public-site .public-lot-number,.public-site .auction-card-status,.public-site .public-auction-code,.public-site .public-lot-price-area small,.public-site .auction-card-meta small,.public-site .status-badge{font-family:var(--font-sans);line-height:1.35}
.admin-layout,.admin-layout h1,.admin-layout h2,.admin-layout h3,.admin-layout h4,.admin-layout h5,.admin-layout h6,.admin-layout p,.admin-layout li,.admin-layout label,.admin-layout input,.admin-layout select,.admin-layout textarea,.admin-layout button,.admin-layout table,.admin-layout th,.admin-layout td,.admin-layout .btn{font-family:var(--font-sans)}
.admin-layout,.admin-layout p,.admin-layout li,.admin-layout td{line-height:1.5}
@media(max-width:900px){.public-site{font-size:16px}.public-site .public-auction-nav>a,.public-site .public-nav-dropdown-toggle{font-size:15px}}

/* V3.4.22: coordinated marketplace visual upgrade. */
:root{--market-ink:#171717;--market-text:#374151;--market-cream:#faf7f1;--market-surface:#fff;--market-border:#e7d8bb;--market-gold:#c69b45;--market-gold-dark:#92702d;--market-success:#237a4b;--market-shadow:0 12px 32px rgba(53,40,18,.08)}
*:focus-visible{outline:3px solid rgba(198,155,69,.38);outline-offset:3px}
.public-site{background:var(--market-cream);color:var(--market-text);padding-bottom:0}
.public-site .tt-container{width:min(1240px,calc(100% - 40px))}
.public-site .public-auction-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--market-border);box-shadow:0 5px 22px rgba(40,32,18,.05);backdrop-filter:blur(12px)}
.public-site .public-social-bar{background:#f5f2ec}.public-site .public-social-bar-inner{max-width:1240px}
.public-site .public-auction-nav{gap:24px}.public-site .public-nav-register{padding:10px 16px!important;border-radius:9px}
.public-site .hero{position:relative;overflow:hidden;color:var(--market-ink);background:linear-gradient(115deg,#fff 0%,#fff 58%,#f5ead5 100%)}
.public-site .hero:after{content:"";position:absolute;right:-100px;bottom:-160px;width:420px;height:420px;border:1px solid rgba(198,155,69,.22);border-radius:50%;box-shadow:0 0 0 55px rgba(198,155,69,.055),0 0 0 110px rgba(198,155,69,.035);pointer-events:none}
.public-site .hero>.tt-container{position:relative;z-index:1}.public-site .hero p{color:var(--market-text)}
.public-site .marketing-carousel{padding:56px 0;background:#fff}.public-site .marketing-carousel-track{width:min(1240px,calc(100% - 40px));min-height:0;margin:auto;overflow:hidden;border-radius:18px;box-shadow:var(--market-shadow)}
.public-site .marketing-slide,.public-site .marketing-slide>img{min-height:340px;height:clamp(340px,34vw,520px)}
.public-site .marketing-carousel-dots{right:max(5%,calc((100% - 1160px)/2));bottom:72px}
.public-site .feature-section{border:0}.public-site .feature-card{border-color:var(--market-border);box-shadow:var(--market-shadow)}
.home-trust-section{padding:clamp(70px,8vw,110px) 0;color:#fff;background:#1d1b18}.home-trust-intro{max-width:760px}.home-trust-intro h2{margin:10px 0 14px;color:#fff;font-size:clamp(2rem,4vw,3.25rem)}.home-trust-intro p{color:#ddd5c8}.home-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:38px}.home-trust-grid article{padding:26px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.045)}.home-trust-grid article>span{color:var(--market-gold);font-size:13px;font-weight:800;letter-spacing:.12em}.home-trust-grid h3{margin:22px 0 10px;color:#fff}.home-trust-grid p{margin:0;color:#d8d1c6;font-size:15px}.home-trust-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.home-trust-section .btn-outline{color:#fff;background:transparent}
.auction-discovery-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px;padding:20px 22px;border:1px solid var(--market-border);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(53,40,18,.05)}.auction-discovery-bar strong,.auction-discovery-bar span{display:block}.auction-discovery-bar strong{color:var(--market-ink);font-size:18px}.auction-discovery-bar span{margin-top:4px;color:var(--market-text);font-size:14px}
.auction-list-card{display:flex;overflow:hidden;flex-direction:column;border-color:var(--market-border);border-radius:14px;box-shadow:var(--market-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.auction-list-card:hover{border-color:var(--market-gold);box-shadow:0 18px 40px rgba(53,40,18,.13);transform:translateY(-4px)}.auction-list-card .auction-card-image{height:auto;aspect-ratio:16/9}.auction-list-card .card-body{display:flex;flex:1;flex-direction:column;padding:22px}.auction-list-card .card-body h2{margin:8px 0 10px;font-size:25px}.auction-list-card .card-body>.btn,.auction-list-card .card-body>.page-actions{margin-top:auto}.auction-list-card-closed{filter:saturate(.86)}
.public-catalogue-hero{padding:54px 0;background:linear-gradient(120deg,#1b1a18,#2d2923);box-shadow:inset 0 -1px rgba(255,255,255,.08)}.public-catalogue-heading{align-items:center}.public-catalogue-heading p{max-width:760px;color:#ddd5c8}.public-catalogue-status{padding:10px 14px;border-radius:999px}.public-catalogue-info{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.12)}.public-catalogue-info>div{padding:16px;background:#24211d}
.public-lot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.public-lot-card{display:flex;overflow:hidden;flex-direction:column;border-color:var(--market-border);border-radius:14px;box-shadow:var(--market-shadow);transition:transform .2s ease,box-shadow .2s ease}.public-lot-card:hover{box-shadow:0 18px 42px rgba(53,40,18,.14);transform:translateY(-3px)}.public-lot-card .public-lot-image{height:auto;aspect-ratio:4/3}.public-lot-card .public-lot-body{display:flex;flex:1;flex-direction:column;padding:20px}.public-lot-card .lot-watch-form{position:absolute;z-index:4;top:12px;right:12px}.public-lot-card .lot-watch-button{width:42px;height:42px;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.75);border-radius:50%;color:#222;background:rgba(255,255,255,.93);font-size:0;box-shadow:0 5px 16px rgba(0,0,0,.12)}.public-lot-card .lot-watch-button span{font-size:20px}.public-lot-card .lot-watch-button.is-watched{color:#fff;background:var(--market-gold-dark)}.public-lot-card .public-lot-countdown{display:grid;gap:3px;padding:13px 14px;border-radius:9px}.public-lot-closed-summary{background:#34312d}.public-lot-closed-summary strong{font-size:12px;letter-spacing:.06em}.public-lot-closed-summary span{font-size:13px;font-weight:500}.public-lot-card.status-sold{border-top:4px solid var(--market-success)}.public-lot-card.status-unsold,.public-lot-card.status-declined{border-top:4px solid #8b8680}.public-lot-price-area div{border:1px solid #eadfc9;border-radius:9px;background:#fcfaf6}.lot-cost-disclosure{margin:-3px 0 13px;padding:9px 11px;color:#5d554b;background:#f8f2e6;border-radius:7px;font-size:12px;line-height:1.45}.public-lot-card form[action$="/bid"]{margin-top:auto!important;padding-top:14px}.public-lot-card form[action$="/bid"] .btn{min-height:50px}
.account-dashboard-section{background:var(--market-cream)}.account-choice{border-color:var(--market-border);box-shadow:var(--market-shadow)}.account-choice strong{color:var(--market-ink)}.account-choice.active{border-color:var(--market-gold);background:#fffaf0}.account-finance-summary>div{border-color:var(--market-border);box-shadow:0 8px 24px rgba(53,40,18,.05)}
.public-auction-footer{padding:58px 0 80px;background:#1d1b18}.public-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.public-footer-brand{max-width:430px}.public-footer-grid nav{display:grid;align-content:start;gap:9px}.public-footer-grid nav strong{margin-bottom:6px;color:var(--market-gold);font-size:12px;letter-spacing:.08em}.public-footer-grid nav a{color:#e9e3d8;text-decoration:none;font-size:14px}.public-footer-grid nav a:hover{color:var(--market-gold)}.public-mobile-bottom-nav{display:none}
.admin-main{background:#fbfaf7}.admin-page-header{position:sticky;top:0;z-index:25;margin:-6px -8px 22px;padding:14px 8px 16px;background:rgba(251,250,247,.95);border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}.admin-main .card{border-color:#e7dfd0;border-radius:12px;box-shadow:0 6px 20px rgba(43,34,20,.04)}.admin-main .card-body{padding:22px 24px}.admin-main table{font-size:13px}.admin-main th{padding:11px 13px;color:#615747;background:#f7f3ec;font-size:10px;letter-spacing:.055em}.admin-main td{padding:12px 13px}.admin-main tr:hover td{background:#fffcf6}.admin-main .btn{border-radius:8px}.admin-main .btn-primary{box-shadow:0 5px 12px rgba(168,131,63,.16)}.admin-main .btn-danger{box-shadow:none}.admin-main .status-badge{border-radius:999px}
@media(max-width:1000px){.home-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-catalogue-info{grid-template-columns:repeat(3,minmax(0,1fr))}.public-lot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.public-site{padding-bottom:72px}.public-site .tt-container{width:min(100% - 28px,1240px)}.public-site .hero{padding:58px 0}.public-site .hero h1{font-size:clamp(2.35rem,12vw,3.4rem)}.public-site .marketing-carousel{padding:28px 0}.public-site .marketing-carousel-track{width:calc(100% - 28px);border-radius:13px}.public-site .marketing-slide,.public-site .marketing-slide>img{height:420px;min-height:420px}.public-site .marketing-carousel-dots{bottom:44px}.home-trust-grid{grid-template-columns:1fr}.auction-discovery-bar{align-items:stretch;flex-direction:column}.auction-discovery-bar .btn{width:100%}.public-catalogue-heading{align-items:flex-start;flex-direction:column}.public-catalogue-info{grid-template-columns:repeat(2,minmax(0,1fr))}.public-lot-grid{grid-template-columns:1fr}.public-lot-card .public-lot-image{aspect-ratio:4/3}.public-footer-grid{grid-template-columns:1fr;gap:30px}.public-auction-footer{padding-bottom:38px}.public-mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:1000;display:grid;grid-template-columns:repeat(5,1fr);height:66px;padding:5px 7px max(5px,env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--market-border);box-shadow:0 -8px 24px rgba(43,34,20,.1);backdrop-filter:blur(10px)}.public-mobile-bottom-nav a{display:flex;min-width:0;align-items:center;justify-content:center;flex-direction:column;gap:1px;color:#3f3a33;text-decoration:none}.public-mobile-bottom-nav a>span{font-size:21px;line-height:1}.public-mobile-bottom-nav small{font-size:10px;font-weight:700}.public-mobile-bottom-nav a:hover,.public-mobile-bottom-nav a:focus{color:var(--market-gold-dark)}.admin-page-header{position:static;margin:0 0 20px;padding:0 0 16px}.admin-main .card-body{padding:18px}.admin-main table{font-size:12px}}
.public-lot-card{position:relative}
.fulfilment-progress{display:grid;grid-template-columns:repeat(5,1fr);margin:14px 0 16px}.fulfilment-progress span{position:relative;padding-top:16px;color:#8a8379;font-size:9px;font-weight:700;text-align:center}.fulfilment-progress span:before{content:"";position:absolute;top:0;left:50%;z-index:2;width:9px;height:9px;border:2px solid #cfc7b9;border-radius:50%;background:#fff;transform:translateX(-50%)}.fulfilment-progress span:not(:first-child):after{content:"";position:absolute;top:5px;right:50%;left:-50%;height:2px;background:#ddd5c8}.fulfilment-progress span.complete:before{border-color:var(--market-success);background:var(--market-success)}.fulfilment-progress span.complete:not(:first-child):after{background:var(--market-success)}.fulfilment-progress span.current:before{border-color:var(--market-gold);box-shadow:0 0 0 4px rgba(198,155,69,.16)}

/* V3.4.23: artwork-first marketing carousel. */
.public-site .marketing-carousel{padding:42px 0;background:#fff}
.public-site .marketing-carousel-track{aspect-ratio:1920/650;min-height:0;background:#f7f3eb}
.public-site .marketing-slide{width:100%;height:100%;min-height:0;background:#f7f3eb}
.public-site .marketing-slide-link{display:block;width:100%;height:100%;text-decoration:none}
.public-site .marketing-slide>img,.public-site .marketing-slide-link>img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;background:#f7f3eb}
.public-site .marketing-slide-link:focus-visible{outline:4px solid rgba(198,155,69,.55);outline-offset:-4px}
.public-site .marketing-carousel-dots{right:50%;bottom:52px;gap:7px;padding:7px 9px;border-radius:999px;background:rgba(20,18,15,.52);transform:translateX(50%);backdrop-filter:blur(6px)}
.public-site .marketing-carousel-dots button{width:9px;height:9px;border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.38)}
.public-site .marketing-carousel-dots button.active{width:25px;border-radius:999px;background:#fff}
@media(max-width:700px){.public-site .marketing-carousel{padding:22px 0}.public-site .marketing-carousel-track{width:calc(100% - 20px);aspect-ratio:1920/650;border-radius:10px}.public-site .marketing-slide,.public-site .marketing-slide>img,.public-site .marketing-slide-link>img{height:100%;min-height:0}.public-site .marketing-carousel-dots{bottom:30px}}

/* V3.4.24: high-contrast auction catalogue header. */
.public-site .public-catalogue-hero{color:#fff;background:linear-gradient(120deg,#171614 0%,#2b2823 100%)}
.public-site .public-catalogue-heading h1{color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.24)}
.public-site .public-catalogue-heading p{color:#e8e1d6}
.public-site .public-auction-code{color:#e0b654}
.public-site .public-catalogue-info{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.14)}
.public-site .public-catalogue-info>div{background:rgba(24,22,19,.86)}
.public-site .public-catalogue-info small{color:#d8cdbd}
.public-site .public-catalogue-info strong{color:#fff}
.public-site .public-catalogue-status-closed{color:#201e1a;background:#f8f1e4;border:1px solid #e5d5b9}
.public-site .public-catalogue-status-live{color:#fff;background:#237a4b}

/* V3.4.25: aligned lot-card details and persistent WhatsApp group CTA. */
.public-site .public-lot-body{height:100%}
.public-site .public-lot-countdown{margin-top:auto}
.public-site .public-lot-price-area{flex-shrink:0}
.public-site .public-lot-reserve{margin-top:auto;padding-top:12px}
.public-site .whatsapp-auction-notice{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border-color:#b9dcc7;background:#eef9f2}
.public-site .whatsapp-auction-notice-copy{color:#264c35;line-height:1.6}
.public-site .whatsapp-group-link{flex:0 0 auto;white-space:nowrap}
@media(max-width:700px){.public-site .whatsapp-auction-notice{align-items:stretch;flex-direction:column}.public-site .whatsapp-group-link{width:100%;text-align:center}}

/* V3.4.26: email server settings. */
.email-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.email-settings-panel{padding:20px;border:1px solid var(--border);border-radius:10px;background:var(--cream)}.email-settings-panel h3{margin-top:0}.email-settings-panel .checkbox-row{margin:12px 0}.email-settings-panel small{display:block;margin-top:5px;color:var(--muted)}
@media(max-width:800px){.email-settings-grid{grid-template-columns:1fr}}

/* V3.4.27: email delivery actions matching WhatsApp actions. */
.inline-form{display:inline-flex;margin:0}.btn-email{border-color:#315c8a;color:#fff;background:#315c8a}.btn-email:hover{border-color:#24496f;background:#24496f}.btn-email-outline{border-color:#315c8a;color:#315c8a;background:#fff}.btn-email-outline:hover{color:#fff;background:#315c8a}.btn:disabled{cursor:not-allowed;opacity:.48;box-shadow:none;transform:none}
