:root {
    --eq-primary: #70171b;
    --eq-primary-dark: #3d0d11;
    --eq-gold: #d7b35c;
    --eq-ink: #192335;
    --eq-muted: #687487;
    --eq-bg: #f8f5ee;
    --eq-surface: #fff;
    --eq-line: #e7e0d4;
    --eq-success: #19764a;
    --eq-danger: #b4232a;
    --eq-shadow: 0 18px 50px rgba(45, 20, 13, .09);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--eq-bg); color: var(--eq-ink); font-family: "Inter", sans-serif; line-height: 1.6; }
button, input, select, textarea { font: inherit; }
.enquiry-header { position: sticky; top: 0; z-index: 1200; }
.enquiry-header-inner { max-width: 1240px; margin: auto; padding: 0 24px; display: flex; align-items: center; gap: 25px; }
.enquiry-header .logo { display: flex; align-items: center; gap: 11px; flex-shrink: 0; text-decoration: none; }
.enquiry-header .logo img { object-fit: contain; border-radius: 50%; }
.enquiry-header .logo-text { color: white; font-size: .96rem; font-weight: 800; letter-spacing: -.02em; }
.enquiry-header .header-nav { margin-left: auto; display: flex; align-items: center; gap: 26px; }
.enquiry-header .header-nav a { position: relative; padding: 4px 0; text-decoration: none; white-space: nowrap; font-size: .82rem; font-weight: 650; }
.enquiry-header .mobile-toggle { display: none; align-items: center; justify-content: center; margin-left: auto; width: 42px; height: 42px; border-radius: 8px; cursor: pointer; }
.enquiry-nav-cta { padding: 9px 15px !important; border: 1px solid rgba(215,179,92,.5); border-radius: 8px; }
input, textarea { user-select: text; }

.enquiry-hero { color: white; background: linear-gradient(120deg, var(--eq-primary-dark), var(--eq-primary)); }
.enquiry-hero-inner { max-width: 1240px; margin: auto; padding: 62px 24px 72px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: end; }
.enquiry-eyebrow { color: #f1d994; font-size: .69rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.enquiry-hero h1 { margin: 10px 0 14px; font: 700 clamp(2.7rem, 5vw, 4.8rem)/1.02 "Playfair Display", serif; letter-spacing: -.04em; }
.enquiry-hero p { max-width: 690px; margin: 0; color: rgba(255,255,255,.7); font-size: .94rem; line-height: 1.8; }
.enquiry-hero-assurance { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid rgba(255,255,255,.15); border-radius: 12px; overflow: hidden; background: rgba(255,255,255,.14); }
.enquiry-hero-assurance > span { min-height: 130px; padding: 18px 15px; background: rgba(70,12,15,.55); display: flex; flex-direction: column; }
.enquiry-hero-assurance i { color: #f1d994; margin-bottom: 22px; }
.enquiry-hero-assurance strong { font-size: .72rem; }
.enquiry-hero-assurance small { color: rgba(255,255,255,.5); font-size: .6rem; line-height: 1.45; }

.enquiry-workspace { max-width: 1240px; margin: -26px auto 0; padding: 0 24px 90px; position: relative; z-index: 2; }
.enquiry-progress-card { min-height: 85px; padding: 17px 24px; border: 1px solid var(--eq-line); border-radius: 14px; background: white; box-shadow: var(--eq-shadow); display: flex; align-items: center; }
.enquiry-progress-step { display: flex; align-items: center; gap: 10px; opacity: .43; }
.enquiry-progress-step.active, .enquiry-progress-step.complete { opacity: 1; }
.enquiry-progress-step > span { display: grid; place-items: center; width: 33px; height: 33px; flex: 0 0 33px; border: 1px solid #d8d0c5; border-radius: 50%; color: #7a8391; font-size: .7rem; font-weight: 800; }
.enquiry-progress-step.active > span { border-color: var(--eq-primary); background: var(--eq-primary); color: white; }
.enquiry-progress-step.complete > span { border-color: var(--eq-success); background: var(--eq-success); color: white; }
.enquiry-progress-step div { display: grid; }
.enquiry-progress-step strong { white-space: nowrap; font-size: .72rem; }
.enquiry-progress-step small { white-space: nowrap; color: var(--eq-muted); font-size: .58rem; }
.enquiry-progress-line { position: relative; flex: 1; height: 2px; margin: 0 18px; overflow: hidden; background: #e8e2d9; }
.enquiry-progress-line > span { display: block; width: 0; height: 100%; background: var(--eq-success); transition: width .3s ease; }

.enquiry-layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 24px; margin-top: 24px; align-items: start; }
.enquiry-form-card { overflow: hidden; border: 1px solid var(--eq-line); border-radius: 17px; background: white; box-shadow: 0 12px 38px rgba(45,20,13,.065); }
.enquiry-step { padding: 38px; }
.enquiry-card-heading { display: flex; justify-content: space-between; gap: 25px; align-items: flex-start; padding-bottom: 27px; margin-bottom: 28px; border-bottom: 1px solid var(--eq-line); }
.enquiry-section-number { color: var(--eq-primary); font-size: .63rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.enquiry-card-heading h2 { margin: 7px 0 7px; font: 700 clamp(1.8rem, 3vw, 2.6rem)/1.15 "Playfair Display", serif; letter-spacing: -.025em; }
.enquiry-card-heading p { max-width: 660px; margin: 0; color: var(--eq-muted); font-size: .76rem; }
.enquiry-browse-link { min-height: 40px; padding: 9px 13px; flex-shrink: 0; border: 1px solid #d9d1c6; border-radius: 8px; color: var(--eq-primary); text-decoration: none; font-size: .68rem; font-weight: 800; }

.enquiry-block-label { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.enquiry-block-label > span { color: #424d5d; font-size: .74rem; font-weight: 800; }
.enquiry-block-label > span i { margin-right: 6px; color: var(--eq-primary); }
.enquiry-block-label small { color: var(--eq-muted); font-size: .61rem; }
.enquiry-block-label button { border: 0; background: transparent; color: var(--eq-danger); cursor: pointer; font-size: .63rem; font-weight: 700; }
.enquiry-cart-block { margin-bottom: 28px; }
.enquiry-cart-items { border: 1px solid var(--eq-line); border-radius: 11px; overflow: hidden; }
.enquiry-cart-row { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto auto; gap: 13px; align-items: center; padding: 12px 14px; border-bottom: 1px solid var(--eq-line); }
.enquiry-cart-row:last-child { border-bottom: 0; }
.enquiry-cart-row img { width: 52px; height: 52px; padding: 4px; object-fit: contain; border: 1px solid #eee9e2; border-radius: 8px; background: #fbfaf7; }
.enquiry-cart-copy { min-width: 0; display: grid; }
.enquiry-cart-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .75rem; }
.enquiry-cart-copy small { color: var(--eq-muted); font-size: .58rem; }
.enquiry-qty { display: flex; height: 34px; overflow: hidden; border: 1px solid #d9d1c5; border-radius: 7px; }
.enquiry-qty button { width: 31px; border: 0; background: #f5f1eb; color: var(--eq-primary); cursor: pointer; }
.enquiry-qty input { width: 44px; border: 0; border-left: 1px solid #e2dcd3; border-right: 1px solid #e2dcd3; outline: 0; text-align: center; font-size: .7rem; font-weight: 800; }
.enquiry-remove-cart { width: 32px; height: 32px; border: 0; border-radius: 7px; background: #fbefef; color: var(--eq-danger); cursor: pointer; }

.enquiry-custom-block { padding: 20px; border: 1px solid var(--eq-line); border-radius: 12px; background: #fbfaf7; }
.custom-product-rows { display: grid; gap: 10px; }
.custom-product-row { display: grid; grid-template-columns: minmax(0, 1fr) 115px 36px; gap: 9px; align-items: start; }
.custom-product-row input { width: 100%; height: 43px; border: 1px solid #d9d1c5; border-radius: 8px; background: white; padding: 0 12px; color: var(--eq-ink); font-size: .72rem; outline: 0; }
.custom-product-row input:focus { border-color: var(--eq-primary); box-shadow: 0 0 0 3px rgba(112,23,27,.08); }
.custom-product-row input.invalid { border-color: var(--eq-danger); }
.custom-product-row button { width: 36px; height: 43px; border: 0; border-radius: 8px; background: #f7eaea; color: var(--eq-danger); cursor: pointer; }
.enquiry-add-row { margin-top: 12px; padding: 8px 2px; border: 0; background: transparent; color: var(--eq-primary); cursor: pointer; font-size: .68rem; font-weight: 800; }
.enquiry-add-row i { margin-right: 5px; }
.enquiry-product-guidance { display: flex; gap: 12px; margin-top: 22px; padding: 15px; border: 1px solid #ead9a6; border-radius: 9px; background: #fff9e8; color: #715c24; }
.enquiry-product-guidance > i { margin-top: 4px; color: #a57c24; }
.enquiry-product-guidance div { display: grid; }
.enquiry-product-guidance strong { font-size: .7rem; }
.enquiry-product-guidance p { margin: 2px 0 0; font-size: .63rem; }

.enquiry-fieldset { margin: 0 0 31px; padding: 0; border: 0; }
.enquiry-fieldset legend { width: 100%; margin-bottom: 17px; padding: 0 0 11px; border-bottom: 1px solid var(--eq-line); font-size: .76rem; font-weight: 800; }
.enquiry-fieldset legend > span { display: inline-grid; place-items: center; width: 27px; height: 27px; margin-right: 8px; border-radius: 50%; background: #f4e9e6; color: var(--eq-primary); font-size: .58rem; }
.enquiry-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; }
.enquiry-field { display: flex; flex-direction: column; }
.enquiry-field label { margin-bottom: 6px; color: #465164; font-size: .67rem; font-weight: 750; }
.enquiry-field label b { color: var(--eq-danger); }
.enquiry-field input, .enquiry-field select, .enquiry-field textarea { width: 100%; border: 1px solid #d9d1c5; border-radius: 8px; background: white; color: var(--eq-ink); outline: 0; font-size: .72rem; }
.enquiry-field input, .enquiry-field select { height: 44px; padding: 0 12px; }
.enquiry-field textarea { padding: 12px; resize: vertical; line-height: 1.55; }
.enquiry-field input:focus, .enquiry-field select:focus, .enquiry-field textarea:focus { border-color: var(--eq-primary); box-shadow: 0 0 0 3px rgba(112,23,27,.08); }
.enquiry-field input.invalid, .enquiry-field select.invalid { border-color: var(--eq-danger); }
.enquiry-field-full { width: 100%; }
.field-hint, .field-error { min-height: 16px; margin-top: 4px; color: #8a93a0; font-size: .56rem; }
.field-error { color: var(--eq-danger); }
.enquiry-phone-input { display: grid; grid-template-columns: 48px 1fr; }
.enquiry-phone-input > span { display: grid; place-items: center; border: 1px solid #d9d1c5; border-right: 0; border-radius: 8px 0 0 8px; background: #f5f1eb; color: #6d7480; font-size: .68rem; font-weight: 700; }
.enquiry-phone-input input { border-radius: 0 8px 8px 0; }
.enquiry-preferences { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 18px; }
.enquiry-preferences > label { cursor: pointer; }
.enquiry-preferences input { position: absolute; opacity: 0; pointer-events: none; }
.enquiry-preferences label > span { min-height: 92px; padding: 13px; border: 1px solid var(--eq-line); border-radius: 9px; display: flex; flex-direction: column; background: #fbfaf7; }
.enquiry-preferences input:checked + span { border-color: var(--eq-primary); background: #fbf1f0; box-shadow: inset 0 0 0 1px var(--eq-primary); }
.enquiry-preferences i { color: var(--eq-primary); margin-bottom: 10px; }
.enquiry-preferences strong { font-size: .66rem; }
.enquiry-preferences small { color: var(--eq-muted); font-size: .55rem; }
.enquiry-recipient-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.enquiry-recipient-options > label { cursor: pointer; }
.enquiry-recipient-options input { position: absolute; opacity: 0; }
.enquiry-recipient-options label > span { display: grid; grid-template-columns: 42px 1fr auto; gap: 10px; align-items: center; padding: 13px; border: 1px solid var(--eq-line); border-radius: 9px; }
.enquiry-recipient-options label > span > b { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #f2e4e1; color: var(--eq-primary); font: 700 .72rem "Playfair Display", serif; }
.enquiry-recipient-options label > span > span { display: grid; }
.enquiry-recipient-options strong { font-size: .68rem; }
.enquiry-recipient-options small { color: var(--eq-muted); font-size: .57rem; }
.enquiry-recipient-options label > span > i { color: #c9c2b9; }
.enquiry-recipient-options input:checked + span { border-color: var(--eq-primary); box-shadow: inset 0 0 0 1px var(--eq-primary); }
.enquiry-recipient-options input:checked + span > i { color: var(--eq-success); }

.enquiry-form-error { margin-top: 17px; padding: 11px 13px; border: 1px solid #efc6c8; border-radius: 8px; background: #fff2f2; color: #922229; font-size: .66rem; }
.enquiry-step-actions { display: flex; justify-content: space-between; gap: 12px; padding-top: 23px; margin-top: 28px; border-top: 1px solid var(--eq-line); }
.enquiry-step-actions-end { justify-content: flex-end; }
.enquiry-primary-button, .enquiry-secondary-button { min-height: 46px; padding: 11px 18px; border-radius: 9px; cursor: pointer; font-size: .72rem; font-weight: 800; }
.enquiry-primary-button { border: 1px solid var(--eq-primary); background: var(--eq-primary); color: white; box-shadow: 0 8px 18px rgba(112,23,27,.14); }
.enquiry-secondary-button { border: 1px solid #d9d1c5; background: white; color: var(--eq-primary); }
.enquiry-whatsapp-button { border-color: var(--eq-success); background: var(--eq-success); }
.enquiry-privacy { margin: 13px 0 0; color: var(--eq-muted); font-size: .57rem; text-align: center; }
.enquiry-privacy i { color: var(--eq-gold); }

.enquiry-summary-column { position: sticky; top: 90px; display: grid; gap: 16px; }
.enquiry-summary-card, .enquiry-help-card, .enquiry-inventory-note { border: 1px solid var(--eq-line); border-radius: 14px; background: white; box-shadow: 0 9px 30px rgba(45,20,13,.055); }
.enquiry-summary-head { padding: 17px 18px; border-bottom: 1px solid var(--eq-line); display: flex; justify-content: space-between; align-items: center; }
.enquiry-summary-head span { font-size: .71rem; font-weight: 800; }
.enquiry-summary-head strong { padding: 4px 8px; border-radius: 99px; background: #f2e6e3; color: var(--eq-primary); font-size: .55rem; }
.enquiry-summary-items { max-height: 430px; overflow-y: auto; }
.enquiry-summary-empty { min-height: 165px; padding: 28px; display: grid; place-items: center; align-content: center; text-align: center; color: #a1a7b0; }
.enquiry-summary-empty i { font-size: 1.45rem; color: #d8d0c6; }
.enquiry-summary-empty p { margin: 9px 0 0; font-size: .65rem; }
.enquiry-summary-row { display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: center; padding: 11px 15px; border-bottom: 1px solid #eee9e2; }
.enquiry-summary-row:last-child { border-bottom: 0; }
.enquiry-summary-row img, .enquiry-summary-row .summary-placeholder { display: grid; place-items: center; width: 40px; height: 40px; padding: 3px; object-fit: contain; border: 1px solid #eee9e2; border-radius: 7px; background: #fbfaf7; color: #a8a099; }
.enquiry-summary-row div { min-width: 0; display: grid; }
.enquiry-summary-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .64rem; }
.enquiry-summary-row small { color: var(--eq-muted); font-size: .53rem; }
.enquiry-summary-row > b { color: var(--eq-primary); font-size: .62rem; }
.enquiry-summary-meta { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--eq-line); }
.enquiry-summary-meta span { padding: 13px 15px; display: grid; }
.enquiry-summary-meta span:first-child { border-right: 1px solid var(--eq-line); }
.enquiry-summary-meta small { color: var(--eq-muted); font-size: .52rem; }
.enquiry-summary-meta strong { font-size: .6rem; }
.enquiry-help-card { padding: 17px; display: flex; gap: 12px; }
.enquiry-help-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 10px; background: #f3e6e3; color: var(--eq-primary); }
.enquiry-help-card h3 { margin: 0; font-size: .73rem; }
.enquiry-help-card p { margin: 3px 0 7px; color: var(--eq-muted); font-size: .59rem; }
.enquiry-help-card a { color: var(--eq-primary); text-decoration: none; font-size: .61rem; font-weight: 800; }
.enquiry-inventory-note { padding: 16px; display: flex; gap: 11px; background: var(--eq-primary-dark); color: white; }
.enquiry-inventory-note > i { margin-top: 3px; color: #f1d994; }
.enquiry-inventory-note strong { font-size: .66rem; }
.enquiry-inventory-note p { margin: 2px 0 0; color: rgba(255,255,255,.58); font-size: .56rem; }

.enquiry-footer-inner { max-width: 1240px; margin: auto; padding: 35px 24px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.enquiry-footer-brand { display: flex; align-items: center; gap: 11px; }
.enquiry-footer-brand img { width: 43px; height: 43px; padding: 3px; border: 2px solid var(--eq-gold); border-radius: 50%; background: white; }
.enquiry-footer-brand span { display: grid; }
.enquiry-footer-brand small { color: rgba(255,255,255,.45); font-size: .61rem; }
.enquiry-footer-links { display: flex; gap: 20px; }
.enquiry-footer-links a { color: rgba(255,255,255,.65); text-decoration: none; font-size: .7rem; }
.enquiry-toast { position: fixed; left: 50%; bottom: 25px; z-index: 2000; transform: translate(-50%, 20px); opacity: 0; padding: 11px 16px; border-radius: 8px; background: var(--eq-ink); color: white; font-size: .68rem; font-weight: 700; pointer-events: none; transition: .25s; }
.enquiry-toast.show { transform: translate(-50%, 0); opacity: 1; }

@media (max-width: 1000px) {
    .enquiry-hero-inner { grid-template-columns: 1fr; gap: 30px; }
    .enquiry-layout { grid-template-columns: 1fr; }
    .enquiry-summary-column { position: static; grid-template-columns: 1fr 1fr; }
    .enquiry-summary-card { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .enquiry-header .mobile-toggle { display: flex; }
    .enquiry-header .header-nav { position: fixed; top: 68px; left: 0; right: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 20px 18px; box-shadow: 0 14px 30px rgba(40,8,10,.22); }
    .enquiry-header .header-nav.open { display: flex; }
    .enquiry-header .header-nav a { width: 100%; padding: 12px 3px; border-bottom: 1px solid rgba(255,255,255,.08); }
    .enquiry-nav-cta { margin-top: 9px; text-align: center; }
    .enquiry-hero-inner { padding: 48px 16px 54px; }
    .enquiry-hero h1 { font-size: 3rem; }
    .enquiry-hero-assurance { grid-template-columns: 1fr; }
    .enquiry-hero-assurance > span { min-height: 0; flex-direction: row; align-items: center; gap: 8px; }
    .enquiry-hero-assurance i { margin: 0; }
    .enquiry-hero-assurance small { margin-left: auto; max-width: 45%; }
    .enquiry-workspace { padding: 0 16px 58px; }
    .enquiry-progress-card { padding: 14px; }
    .enquiry-progress-step div { display: none; }
    .enquiry-progress-line { margin: 0 10px; }
    .enquiry-step { padding: 25px 18px; }
    .enquiry-card-heading { flex-direction: column; }
    .enquiry-field-grid { grid-template-columns: 1fr; }
    .enquiry-preferences { grid-template-columns: 1fr; }
    .enquiry-preferences label > span { min-height: 75px; }
    .enquiry-recipient-options { grid-template-columns: 1fr; }
    .enquiry-summary-column { grid-template-columns: 1fr; }
    .custom-product-row { grid-template-columns: minmax(0, 1fr) 85px 36px; }
    .enquiry-step-actions { flex-direction: column-reverse; }
    .enquiry-step-actions button { width: 100%; }
    .enquiry-footer-inner { flex-direction: column; text-align: center; }
    .enquiry-footer-links { flex-wrap: wrap; justify-content: center; }
}

@media (max-width: 480px) {
    .enquiry-hero h1 { font-size: 2.45rem; }
    .enquiry-cart-row { grid-template-columns: 46px minmax(0, 1fr) auto; }
    .enquiry-cart-row img { width: 44px; height: 44px; }
    .enquiry-remove-cart { grid-column: 3; grid-row: 1; width: 27px; height: 27px; }
    .enquiry-qty { grid-column: 2 / 4; width: fit-content; }
    .custom-product-row { grid-template-columns: 1fr 72px 34px; }
}

@media (prefers-reduced-motion: reduce) {
    * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
