/* HeavyLine Inventory — listing cards, filters, single listing, form.
   Uses the HeavyLine theme tokens when present, with fallbacks for any theme. */
.hl-inventory, .hl-cats, .hl-grid, .hl-listing, .hl-form-wrap, .hl-chips {
	--o: var(--hl-orange, #F26A1B); --od: var(--hl-orange-deep, #B8460B); --i: var(--hl-iron, #141414);
	--g: var(--hl-graphite, #24272B); --s: var(--hl-steel, #5B616A); --c: var(--hl-concrete, #F3F1EC);
	--d: var(--hl-dust, #E4E1D9); --r: var(--hl-radius, 4px);
	--cond: var(--wp--preset--font-family--barlow-condensed, "Arial Narrow", sans-serif);
}
.hl-btn { display:inline-block; background:var(--o); color:var(--i) !important; text-decoration:none !important; font-family:var(--cond); font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:.8rem 1.4rem; border-radius:var(--r); border:2px solid var(--o); cursor:pointer; font-size:1.05rem; line-height:1.2; text-align:center; }
.hl-btn:hover { background:var(--i); border-color:var(--i); color:#fff !important; }
.hl-btn--ghost { background:transparent; border-color:var(--i); color:var(--i) !important; }
.hl-btn--link { background:transparent; border-color:transparent; color:var(--od) !important; text-decoration:underline !important; text-transform:none; letter-spacing:0; font-family:inherit; font-weight:600; }
.hl-btn--link:hover { background:transparent; border-color:transparent; color:var(--i) !important; }
.hl-btn--block { display:block; width:100%; margin-top:.6rem; box-sizing:border-box; }

/* Chips */
.hl-chips { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0 .5rem; }
.hl-chip { font-family:var(--cond); font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:.95rem; padding:.45rem .9rem; border:2px solid var(--d); border-radius:999px; color:var(--i); text-decoration:none; background:#fff; }
.hl-chip:hover { border-color:var(--i); }
.hl-chip.is-current { background:var(--i); border-color:var(--i); color:#fff; }

/* Filters */
.hl-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:1rem 1.25rem; padding:1rem 1.25rem; background:var(--c); border-radius:var(--r); margin:1rem 0 1.75rem; }
.hl-filters label { display:flex; flex-direction:column; gap:.3rem; font-size:.8rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--s); }
.hl-filters select { font:inherit; font-size:1rem; text-transform:none; letter-spacing:0; color:var(--i); padding:.55rem 2rem .55rem .7rem; border:1px solid #cfcbc2; border-radius:var(--r); background:#fff; min-width:190px; }
.hl-filters__count { margin:0 0 .55rem auto; font-family:var(--cond); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }

/* Grid + cards */
.hl-grid { display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fill, minmax(min(100%, 290px), 1fr)); }
.hl-grid--4 { grid-template-columns:repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.hl-card { background:#fff; border:1px solid var(--d); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s ease, transform .2s ease; }
.hl-card:hover { box-shadow:0 10px 28px rgba(20,20,20,.12); transform:translateY(-2px); }
.hl-card__media { position:relative; display:block; text-decoration:none; aspect-ratio:4/3; background:var(--i); overflow:hidden; }
.hl-card__img { width:100%; height:100%; object-fit:cover; display:block; }
.hl-card__img--empty { display:flex; align-items:flex-end; padding:1rem; box-sizing:border-box; background:
	linear-gradient(160deg, #24272B 0%, #141414 100%); color:#fff; position:relative; }
.hl-card__img--empty::before { content:""; position:absolute; left:0; right:0; top:50%; height:10px; background:var(--o); transform:translateY(-50%); opacity:.9; }
.hl-card__img--empty span { font-family:var(--cond); font-weight:800; text-transform:uppercase; font-size:1.4rem; letter-spacing:.02em; position:relative; }
.hl-badge { position:absolute; top:.75rem; left:.75rem; font-family:var(--cond); font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.85rem; padding:.3rem .65rem; border-radius:2px; }
.hl-badge--pending { background:#FFD43B; color:var(--i); }
.hl-badge--sold { background:var(--o); color:var(--i); }
.hl-card--sold .hl-card__img { filter:grayscale(.55) contrast(.95); }
.hl-card__body { padding:1rem 1.1rem 1.1rem; display:flex; flex-direction:column; gap:.4rem; flex:1; }
.hl-card__title { font-family:var(--cond); font-weight:800; text-transform:uppercase; font-size:1.3rem; line-height:1.1; margin:0; padding:0 !important; }
.hl-card__title::before { display:none !important; }
.hl-card__title a { color:var(--i); text-decoration:none; }
.hl-card__title a:hover { color:var(--od); }
.hl-card__specs { margin:0; font-size:.9rem; color:var(--s); }
.hl-card__sold { margin:.2rem 0 0; font-size:.9rem; font-weight:600; color:var(--g); }
.hl-card__foot { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:.75rem; border-top:1px solid var(--d); }
.hl-price { font-family:var(--cond); font-weight:800; font-size:1.5rem; color:var(--i); }
.hl-price--call { font-size:1.15rem; color:var(--od); text-transform:uppercase; letter-spacing:.03em; }
.hl-card__call { font-family:var(--cond); font-weight:700; text-transform:uppercase; letter-spacing:.05em; text-decoration:none; color:var(--i); border:2px solid var(--i); padding:.3rem .8rem; border-radius:var(--r); }
.hl-card__call:hover { background:var(--i); color:#fff; }

/* Empty state */
.hl-empty { padding:2rem; border:2px dashed #cfcbc2; border-radius:var(--r); background:#fff; }
.hl-empty__title { font-family:var(--cond); font-weight:800; text-transform:uppercase; font-size:1.4rem; margin:0 0 .5rem; }

/* Category tiles */
.hl-cats { display:grid; gap:1rem; grid-template-columns:repeat(auto-fill, minmax(min(100%, 260px), 1fr)); margin-top:1.5rem; }
.hl-cat { position:relative; display:flex; align-items:flex-end; min-height:170px; padding:1.1rem 1.2rem; border-radius:var(--r); overflow:hidden; text-decoration:none !important; color:#fff !important; background:linear-gradient(150deg, #2b2e33, #141414); isolation:isolate; }
.hl-cat::before { content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--o); z-index:1; }
.hl-cat__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .4s ease; }
.hl-cat.has-img::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,20,20,.1) 20%, rgba(20,20,20,.88) 100%); z-index:-1; }
.hl-cat:hover .hl-cat__img { transform:scale(1.05); }
.hl-cat__label { display:flex; flex-direction:column; gap:.2rem; }
.hl-cat__name { font-family:var(--cond); font-weight:800; text-transform:uppercase; font-size:1.55rem; line-height:1; }
.hl-cat__count { font-size:.9rem; color:#D6D3CC; }
.hl-cat__arrow { position:absolute; right:1.1rem; bottom:1rem; font-size:1.5rem; color:var(--o); transition:transform .2s ease; }
.hl-cat:hover .hl-cat__arrow { transform:translateX(4px); }

/* Single listing */
.hl-listing__top { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:2rem; align-items:start; margin:1.5rem 0 2rem; }
@media (max-width:860px) { .hl-listing__top { grid-template-columns:1fr; } .hl-listing__buy { order:-1; } }
.hl-specs { width:100%; border-collapse:collapse; font-size:1rem; }
.hl-specs th, .hl-specs td { text-align:left; padding:.7rem .9rem; border-bottom:1px solid var(--d); }
.hl-specs th { width:40%; color:var(--s); font-weight:600; background:var(--c); }
.hl-listing__buy { background:var(--i); color:#E9E7E2; padding:1.4rem; border-radius:var(--r); border-top:5px solid var(--o); position:sticky; top:110px; }
.hl-listing__buy .hl-price { color:#fff; font-size:2.1rem; }
.hl-listing__buy .hl-price--call { color:var(--o); font-size:1.5rem; }
.hl-listing__buy .hl-btn--ghost { border-color:#fff; color:#fff !important; }
.hl-listing__buy .hl-btn--ghost:hover { background:#fff; color:var(--i) !important; }
.hl-listing__buy .hl-btn--link { color:var(--o) !important; }
.hl-listing__price { margin:0 0 .5rem; }
.hl-listing__note, .hl-listing__contact { font-size:.9rem; color:#B5B1A8; margin:.75rem 0 0; }
.hl-listing__h { font-size:1.6rem !important; margin-top:2rem; }
ul.hl-highlights { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:.5rem 1.5rem; }
ul.hl-highlights li { padding-left:1.3rem; position:relative; }
ul.hl-highlights li::before { content:""; position:absolute; left:0; top:.7em; width:.7rem; height:3px; background:var(--o); }
.hl-video iframe { width:100%; aspect-ratio:16/9; height:auto; }
.hl-sold-banner { background:var(--o); color:var(--i); padding:1rem 1.25rem; border-radius:var(--r); margin:1rem 0; }
.hl-sold-banner a { color:var(--i); font-weight:700; }
.hl-price--sold { color:var(--o) !important; }
.hl-disclaimer { font-size:.85rem; color:var(--s); border-top:1px solid var(--d); padding-top:1rem; margin-top:2.5rem; }

/* Form */
.hl-form { display:grid; gap:1rem; }
.hl-form label { display:flex; flex-direction:column; gap:.35rem; font-weight:600; font-size:.95rem; }
.hl-form label em { color:var(--od); font-style:normal; }
.hl-form small { font-weight:400; color:var(--s); }
.hl-form input, .hl-form select, .hl-form textarea { font:inherit; font-weight:400; padding:.75rem .85rem; border:1px solid #cfcbc2; border-radius:var(--r); background:#fff; color:var(--i); width:100%; box-sizing:border-box; }
.hl-form input:focus, .hl-form select:focus, .hl-form textarea:focus { outline:3px solid var(--o); outline-offset:0; border-color:var(--i); }
.hl-form__row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:600px) { .hl-form__row { grid-template-columns:1fr; } }
.hl-form button { justify-self:start; }
.hl-form__fine { font-size:.85rem; color:var(--s); margin:0; }
.hl-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.hl-alert { padding:1rem 1.2rem; border-radius:var(--r); margin-bottom:1.25rem; }
.hl-alert--ok { background:#E7F6EC; border-left:5px solid #1a7f37; }
.hl-alert--err { background:#FDECEA; border-left:5px solid #b42318; }

/* Industry photos */
.hl-photo-note { position:absolute; right:.6rem; bottom:.6rem; background:rgba(20,20,20,.82); color:#fff; font-size:.75rem; font-weight:600; padding:.25rem .5rem; border-radius:2px; letter-spacing:.02em; }
.hl-rep-note { background:#FFF4E5; border-left:4px solid var(--hl-orange,#F26A1B); padding:.8rem 1rem; border-radius:0 4px 4px 0; margin:1rem 0 0; }
.hl-photo-auto img { border-radius:var(--hl-radius,4px); width:100%; height:auto; display:block; }
.hl-photo-auto figcaption, .wp-block-gallery.hl-gallery figcaption { font-size:.75rem !important; color:var(--hl-steel,#5B616A); margin-top:.35rem; }
.wp-block-gallery.hl-gallery { margin:1.5rem 0 2rem; display:grid !important; gap:.75rem !important; grid-template-columns:repeat(3,1fr); }
.wp-block-gallery.hl-gallery > figure.wp-block-image { width:auto !important; margin:0 !important; aspect-ratio:4/3; }
.wp-block-gallery.hl-gallery > figure.wp-block-image img { width:100% !important; height:100% !important; object-fit:cover; }
.wp-block-gallery.hl-n1 { grid-template-columns:1fr; }
.wp-block-gallery.hl-n2, .wp-block-gallery.hl-n4 { grid-template-columns:repeat(2,1fr); }
.wp-block-gallery.hl-n5 { grid-template-columns:repeat(4,1fr); }
.wp-block-gallery.hl-n5 > figure:first-child { grid-column:span 2; grid-row:span 2; aspect-ratio:auto; }
@media (max-width:700px){ .wp-block-gallery.hl-gallery { grid-template-columns:repeat(2,1fr) !important; } .wp-block-gallery.hl-gallery > figure:first-child { grid-column:span 2; grid-row:auto; aspect-ratio:4/3; } }
.wp-block-gallery.hl-gallery.has-nested-images figure.wp-block-image figcaption { background:linear-gradient(0deg, rgba(20,20,20,.75), rgba(20,20,20,0)); color:#fff; font-size:.7rem !important; }
.hl-photo-wide img { aspect-ratio:21/9; object-fit:cover; }
.hl-photo-auto:not(.hl-gallery) { margin:1.5rem 0; }
.hl-section--dark .hl-photo-auto figcaption { color:#9AA0A8; }
.hl-section--dark .hl-photo-auto figcaption a { color:#C9CDD2; }
table.hl-credits { width:100%; border-collapse:collapse; font-size:.95rem; }
table.hl-credits th, table.hl-credits td { text-align:left; padding:.6rem .75rem; border-bottom:1px solid var(--hl-dust,#E4E1D9); vertical-align:middle; }
table.hl-credits img { width:96px; height:72px; object-fit:cover; border-radius:4px; display:block; }
