/*
Theme Name: LionHeart Marketplace
Description: A retail storefront theme for LionHeart Intl. and WooCommerce.
Version: 1.3.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: lionheart-marketplace
*/
:root {
  --lhm-ink:#102547;
  --lhm-night:#071b3a;
  --lhm-brand:#0045a6;
  --lhm-accent:#a8d9ff;
  --lhm-paper:#f1f6fd;
  --lhm-tint:#eaf3ff;
  --lhm-border:#d6e4f5;
  --lhm-muted:#455d7b;
  --lhm-header-gradient:linear-gradient(108deg,var(--lhm-night),var(--lhm-brand));
  --lhm-nav-gradient:linear-gradient(100deg,var(--lhm-night),color-mix(in srgb,var(--lhm-brand) 62%,var(--lhm-night)));
  --lhm-button-gradient:linear-gradient(115deg,var(--lhm-brand),color-mix(in srgb,var(--lhm-brand) 90%,white));
  --lhm-button-hover:linear-gradient(115deg,var(--lhm-night),var(--lhm-brand));
  --lhm-surface-gradient:linear-gradient(135deg,#fff,#f3f8ff);
  --lhm-shadow:0 8px 26px #123e7511;
}
* { box-sizing:border-box; }
html { scroll-padding-top:16px; }
body { margin:0; color:var(--lhm-ink); background:linear-gradient(170deg,#e7f1ff 0,var(--lhm-paper) 620px,#f8faff 100%); font:var(--lhm-base-size,16px)/1.5 var(--lhm-body-font,Arial,Helvetica,sans-serif); }
a { color:var(--lhm-brand); }
a:hover { text-decoration:underline; }
button, input, select, textarea { font:inherit; }
button { cursor:pointer; }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3,p { margin:0; }
h1,h2,h3,h4,h5,h6 { font-family:var(--lhm-heading-font,inherit); }
:focus-visible { outline:2px solid var(--lhm-brand); outline-offset:3px; box-shadow:0 0 0 3px #fff; }
.screen-reader-text { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.screen-reader-text:focus { z-index:100000; top:8px; left:8px; width:auto; height:auto; margin:0; clip-path:none; padding:8px 14px; background:#fff; color:var(--lhm-night); }
.lhm-wrap { width:min(calc(100% - 64px),1440px); margin-inline:auto; }
.lhm-header { color:#fff; background:var(--lhm-header-gradient); box-shadow:0 6px 18px #071b3a24; }
.lhm-header a { color:inherit; text-decoration:none; }
.lhm-header a:hover { text-decoration:underline; }
.lhm-top { display:flex; align-items:center; gap:30px; min-height:80px; padding-block:12px; }
.lhm-logo { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.lhm-logo-image { display:block; height:44px; flex-shrink:0; }
.lhm-logo-shield { width:35px; overflow:hidden; }
.lhm-logo-shield img { width:auto; max-width:none; height:44px; }
.lhm-logo-custom img { width:auto; max-width:95px; height:44px; object-fit:contain; }
.lhm-logo-white { filter:brightness(0) invert(1); }
.lhm-logo-wordmark { max-width:200px; overflow-wrap:anywhere; font-size:22px; font-weight:800; line-height:1.12; letter-spacing:-.55px; }
.lhm-logo-wordmark small { display:block; margin-top:4px; font-size:8px; letter-spacing:.24em; color:var(--lhm-accent); }
.lhm-search { flex:1; min-width:0; display:flex; min-height:46px; border-radius:8px; color:var(--lhm-ink); background:white; }
.lhm-search select { flex:0 1 150px; min-width:0; padding:0 9px; border:0; border-right:1px solid var(--lhm-border); border-radius:8px 0 0 8px; background:var(--lhm-tint); color:inherit; font-size:13px; }
.lhm-search input { flex:1; min-width:0; padding:0 14px; border:0; background:#fff; color:inherit; }
.lhm-search button { border:0; background:linear-gradient(120deg,#e6f4ff,var(--lhm-accent)); color:var(--lhm-night); width:52px; display:grid; place-items:center; border-radius:0 8px 8px 0; }
.lhm-search button:hover { background:#c6e8ff; }
.lhm-button:hover { background:var(--lhm-button-hover); color:#fff; text-decoration:none; }
.lhm-search svg,.lhm-cart svg { width:22px; height:22px; }
.lhm-actions { display:flex; align-items:center; gap:21px; font-size:14px; flex-shrink:0; }
.lhm-header .lhm-signup-link { color:var(--lhm-accent); font-weight:700; white-space:nowrap; }
.lhm-actions small { display:block; color:#dcecff; font-size:11px; max-width:100px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.lhm-cart { display:flex; position:relative; gap:8px; align-items:center; padding-top:6px; }
.lhm-cart-count { position:absolute; top:-6px; left:10px; color:var(--lhm-accent); font-size:12px; font-weight:bold; line-height:1; }
.lhm-nav { background:var(--lhm-nav-gradient); border-top:1px solid #ffffff24; }
.lhm-nav .lhm-wrap { display:flex; align-items:center; gap:25px; min-height:43px; overflow:auto; }
.lhm-department-menu { display:flex; align-items:center; gap:25px; margin:0; padding:0; list-style:none; }
.lhm-nav a { white-space:nowrap; font-size:14px; }
.lhm-nav-all { font-weight:bold; }
.lhm-nav-all span { margin-right:5px; }
.lhm-nav-quote { margin-left:auto; }
.lhm-nav-quote span { color:var(--lhm-accent); }
.lhm-home { padding:20px 0 38px; }
.lhm-hero { display:grid; grid-template-columns: .88fr 1.12fr; border-radius:15px; overflow:hidden; background:var(--lhm-brand); color:#fff; min-height:355px; box-shadow:0 14px 36px #0a36782b; }
.lhm-hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:39px clamp(26px,5vw,78px); background:radial-gradient(ellipse at 20% 0%,#275b9d60,transparent 65%),linear-gradient(90deg,var(--lhm-night),var(--lhm-brand)); }
.lhm-hero .lhm-kicker { color:var(--lhm-accent); }
.lhm-kicker { font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--lhm-brand); }
.lhm-hero h1 { font-size:clamp(39px,5vw,72px); font-weight:800; letter-spacing:-.067em; line-height:1.01; margin:11px 0 13px; }
.lhm-hero-description { color:#e4efff; max-width:370px; margin-bottom:20px; }
.lhm-hero-description a,.lhm-footer-copy a { color:inherit; text-decoration:underline; }
.lhm-hero-description p + p,.lhm-footer-copy p + p { margin-top:.55em; }
.lhm-editable-page > .lhm-catalog { width:100%; }
.lhm-hero-image { position:relative; min-height:100%; }
.lhm-hero-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 55%; }
.lhm-hero-image::after { content:""; position:absolute; inset:0 auto 0 0; width:26%; background:linear-gradient(90deg,var(--lhm-brand),transparent); pointer-events:none; }
.lhm-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; text-align:center; padding:10px 17px; border:1px solid transparent; border-radius:100px; background:var(--lhm-button-gradient); color:#fff; text-decoration:none; font-size:14px; font-weight:700; line-height:1.3; }
.lhm-hero .lhm-button { background:linear-gradient(115deg,#e6f4ff,var(--lhm-accent)); color:var(--lhm-night); }
.lhm-hero .lhm-button:hover { background:#fff; }
.lhm-button.lhm-outline { background:white; border-color:#95b8e6; color:var(--lhm-brand); }
.lhm-button.lhm-outline:hover { background:var(--lhm-tint); }
.lhm-departments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:16px; }
.lhm-dept,.lhm-shelf,.lhm-filter,.lhm-empty,.lhm-content { background:white; border:1px solid var(--lhm-border); border-radius:12px; box-shadow:var(--lhm-shadow); }
.lhm-dept { padding:16px; background:var(--lhm-surface-gradient); }
.lhm-dept h2,.lhm-shelf h2 { font-size:23px; letter-spacing:-.035em; line-height:1.2; }
.lhm-dept h2 a { color:inherit; text-decoration:none; }
.lhm-dept-copy { margin:4px 0 12px; font-size:14px; color:var(--lhm-muted); }
.lhm-dept-image { display:block; border-radius:7px; overflow:hidden; background:var(--lhm-tint); }
.lhm-dept-image img { width:100%; height:clamp(130px,14vw,206px); object-fit:cover; object-position:center 58%; }
.lhm-dept-link,.lhm-shelf-head>a { display:inline-block; margin-top:11px; font-weight:700; font-size:14px; text-decoration:none; }
.lhm-shelf { margin-top:16px; padding:16px; }
.lhm-shelf-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:13px; }
.lhm-shelf-head>a { margin-top:0; flex-shrink:0; }
.lhm-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; list-style:none; padding:0; margin:0; }
.lhm-product { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:white; border:1px solid var(--lhm-border); border-radius:9px; }
.lhm-product-photo { position:relative; display:block; background:var(--lhm-surface-gradient); }
.lhm-product-photo img { width:100%; height:auto; aspect-ratio:1.37; object-fit:contain; }
.lhm-sale { position:absolute; top:10px; left:10px; padding:4px 8px; border-radius:4px; color:#fff; background:var(--lhm-button-gradient); font-size:12px; font-weight:bold; }
.lhm-product-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:12px; }
.lhm-product-body .lhm-kicker { font-size:9px; letter-spacing:.08em; }
.lhm-product h3 { font-size:16px; line-height:1.25; margin:4px 0; }
.lhm-product h3 a { color:var(--lhm-ink); text-decoration:none; }
.lhm-product h3 a:hover { text-decoration:underline; }
.lhm-rating { color:var(--lhm-brand); font-size:13px; }
.lhm-price { margin:4px 0 1px; font-size:17px; font-weight:800; }
.lhm-price del { font-size:13px; font-weight:400; color:var(--lhm-muted); }
.lhm-price ins { text-decoration:none; }
.lhm-availability { margin-bottom:11px; color:var(--lhm-muted); font-size:12px; }
.lhm-product-body>.lhm-button,.lhm-product-body form { margin-top:auto; }
.lhm-catalog { padding:17px 0 35px; }
.lhm-crumb { font-size:13px; margin-bottom:15px; color:var(--lhm-muted); }
.lhm-crumb span { padding-inline:6px; }
.lhm-catalog-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:18px; }
.lhm-filter { align-self:start; padding:16px; display:grid; gap:3px; }
.lhm-filter h2 { font-size:16px; margin-bottom:5px; }
.lhm-filter a { padding:7px; border-radius:5px; text-decoration:none; font-size:14px; }
.lhm-filter a:hover,.lhm-filter a.is-current { background:var(--lhm-tint); }
.lhm-filter a.is-current { font-weight:700; }
.lhm-catalog-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-end; margin-bottom:14px; }
.lhm-catalog-head h1,.lhm-content h1 { font-size:clamp(28px,4vw,43px); line-height:1.1; letter-spacing:-.04em; overflow-wrap:anywhere; }
.lhm-catalog-head p { color:var(--lhm-muted); margin-top:5px; font-size:14px; }
.lhm-sort { display:flex; gap:6px; flex-shrink:0; align-items:center; font-size:13px; }
.lhm-sort select,.lhm-sort button { border:1px solid #a3bbd9; border-radius:5px; background:white; color:var(--lhm-ink); padding:6px; }
.lhm-procurement { margin-bottom:14px; font-size:14px; font-weight:700; }
.lhm-pagination { display:flex; gap:12px; justify-content:center; margin-top:20px; }
.lhm-empty { padding:25px; }
.lhm-empty h2 { margin-bottom:8px; font-size:22px; }
.lhm-content { --wc-primary:var(--lhm-brand); --wc-primary-text:#fff; --wc-secondary:var(--lhm-tint); --wc-secondary-text:var(--lhm-ink); padding:clamp(17px,3vw,36px); margin-block:22px 36px; min-height:35vh; }
.lhm-content article>h1 { margin-bottom:17px; }
/* Match native WooCommerce and LionHeart quote actions to the storefront. */
.lhm-content .woocommerce :is(a.button,button.button,input.button):where(:not(:disabled,.disabled,[aria-disabled="true"])),
.woocommerce .lhm-content.lhm-woocommerce :is(a.button,button.button):where(:not(:disabled,.disabled,[aria-disabled="true"])),
.lhm-content .wc-block-components-button:not(.is-link):where(:not(:disabled,[aria-disabled="true"])),
.lhm-content .lh-quote .lh-form button {
  background:var(--lhm-button-gradient);
  color:#fff;
  border-radius:22px;
}
.lhm-content .woocommerce :is(a.button,button.button,input.button):where(:not(:disabled,.disabled,[aria-disabled="true"])):hover,
.woocommerce .lhm-content.lhm-woocommerce :is(a.button,button.button):where(:not(:disabled,.disabled,[aria-disabled="true"])):hover,
.lhm-content .wc-block-components-button:not(.is-link):where(:not(:disabled,[aria-disabled="true"])):hover,
.lhm-content .lh-quote .lh-form button:hover {
  background:var(--lhm-button-hover);
  color:#fff;
}
.lhm-woocommerce div.product .summary { display:block; background:var(--lhm-surface-gradient); border:1px solid var(--lhm-border); padding:clamp(14px,2vw,28px); border-radius:12px; }
.lhm-woocommerce .woocommerce-breadcrumb { margin-bottom:18px; }
.lhm-woocommerce .product_title { margin-bottom:9px; }
.lhm-woocommerce div.product p.price { margin:10px 0; color:var(--lhm-brand); font-weight:700; }
.lhm-woocommerce .woocommerce-product-details__short-description { margin-bottom:14px; }
.lhm-woocommerce .woocommerce-tabs h2,.lhm-woocommerce .related>h2 { margin-bottom:12px; }
.lhm-content .lh-quote { margin-inline:0; }
.lhm-footer { color:white; background:var(--lhm-header-gradient); }
.lhm-footer a { color:inherit; text-decoration:none; }
.lhm-footer a:hover { text-decoration:underline; }
.lhm-back { display:block; text-align:center; background:var(--lhm-nav-gradient); padding:12px; font-size:13px; }
.lhm-footer-row { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:20px; padding-block:28px; }
.lhm-footer-row p { color:#dcecff; font-size:13px; }
.lhm-footer-row nav,.lhm-footer-row ul { display:flex; flex-wrap:wrap; gap:15px; margin:0; padding:0; list-style:none; font-size:14px; }
@media(max-width:1050px) {
  .lhm-top { gap:14px; }
  .lhm-actions { gap:12px; }
  .lhm-catalog .lhm-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .lhm-wrap { width:calc(100% - 28px); }
  .lhm-top { flex-wrap:wrap; justify-content:space-between; gap:10px; }
  .lhm-search { flex:1 0 100%; order:3; }
  .lhm-search select { flex-basis:112px; }
  .lhm-nav .lhm-wrap { gap:17px; }
  .lhm-hero { min-height:0; grid-template-columns:1fr 1fr; }
  .lhm-hero-copy { padding:24px 16px; }
  .lhm-hero h1 { font-size:clamp(29px,6vw,43px); }
  .lhm-hero-description { font-size:13px; margin-bottom:14px; }
  .lhm-departments { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .lhm-dept { padding:10px; }
  .lhm-dept h2 { font-size:17px; }
  .lhm-dept-copy,.lhm-dept-link { font-size:12px; }
  .lhm-dept-image img { height:105px; }
  .lhm-product-grid,.lhm-catalog .lhm-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lhm-catalog-layout { grid-template-columns:minmax(0,1fr); gap:12px; }
  .lhm-filter { display:flex; align-items:center; gap:3px 7px; flex-wrap:wrap; padding:9px; }
  .lhm-filter h2 { margin-bottom:0; }
}
@media(max-width:420px) {
  .lhm-orders { display:none; }
  .lhm-top .lhm-actions { justify-content:flex-end; flex-wrap:wrap; flex-shrink:1; }
  .lhm-header .lhm-signup-link { font-size:12px; }
  .lhm-logo-wordmark { max-width:125px; font-size:18px; }
  .lhm-departments { grid-template-columns:1fr; }
  .lhm-dept { display:grid; grid-template-columns:1fr 112px; column-gap:9px; }
  .lhm-dept-image { grid-column:2; grid-row:1/4; }
  .lhm-dept-image img { height:100%; min-height:80px; }
  .lhm-dept-link { margin-top:0; }
  .lhm-catalog-head { align-items:flex-start; flex-direction:column; }
}
