/*
Theme Name: HF – Transportstativer og specialløsninger
Description: Private customer catalogue and quotation-request portal.
Version: 1.1.0
Author: HF Smede- og Maskinværksted A/S
Text Domain: hf-transport-solutions
*/

:root {
	--hf-yellow: #f6a800;
	--hf-ink: #171717;
	--hf-muted: #5c6670;
	--hf-paper: #f8f6f0;
	--hf-line: #dedbd3;
	--hf-white: #fff;
	--hf-radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--hf-paper);
	color: var(--hf-ink);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.55;
}
a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
.hf-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.hf-skip { position: absolute; left: -9999px; }
.hf-skip:focus { left: 20px; top: 20px; z-index: 20; background: var(--hf-yellow); padding: 10px 14px; }
.hf-top { background: var(--hf-ink); color: var(--hf-white); font-size: .65rem; letter-spacing: .12em; }
.hf-top .hf-shell { display: flex; justify-content: space-between; padding-top: 8px; padding-bottom: 8px; }
.hf-top a { color: inherit; text-decoration: none; }
.hf-top a:hover, .hf-top a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.hf-header { position: sticky; top: 0; z-index: 10; background: rgba(248,246,240,.94); border-bottom: 1px solid var(--hf-line); backdrop-filter: blur(12px); }
.hf-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 78px; }
.hf-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 800; line-height: 1.05; }
.hf-brand small { display: block; margin-top: 5px; color: var(--hf-muted); font-size: .66rem; letter-spacing: .12em; }
.hf-mark { display: grid; place-items: center; width: 42px; height: 42px; border: 3px solid var(--hf-ink); border-radius: 50%; background: var(--hf-yellow); font-size: 1.25rem; }
.hf-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.hf-nav a, .hf-button { display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; padding: 10px 15px; font-weight: 750; text-decoration: none; }
.hf-nav a:hover, .hf-nav a:focus-visible { background: var(--hf-white); }
.hf-nav .hf-button, .hf-button { background: var(--hf-yellow); border: 1px solid var(--hf-yellow); color: var(--hf-ink); cursor: pointer; }
.hf-button:hover, .hf-button:focus-visible { background: #ffb81c; }
.hf-button.is-outline { background: transparent; border-color: var(--hf-ink); }
.hf-languages { display: flex; justify-content: flex-end; padding-bottom: 12px; }
.hf-language-switcher { display: flex; align-items: center; }
.hf-language-switcher .trp-language-switcher { width: auto; margin: 0; }
.hf-language-switcher .trp-ls-shortcode-language { padding: .45rem .6rem; border: 1px solid var(--hf-line); border-radius: .35rem; background: var(--hf-white); }
.hf-hero { padding: clamp(70px, 10vw, 140px) 0 90px; background: linear-gradient(135deg, #fff 0%, var(--hf-paper) 66%); }
.hf-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
.hf-kicker { margin: 0 0 18px; color: #bb7900; font-size: .78rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; letter-spacing: -.045em; line-height: 1.03; }
h1 { max-width: 740px; font-size: clamp(3rem, 7vw, 6.5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.7rem); }
h3 { font-size: 1.25rem; }
.hf-lede { max-width: 650px; margin: 24px 0 30px; color: var(--hf-muted); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.hf-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hf-hero-art { position: relative; min-height: 360px; overflow: hidden; border-radius: 28px; background: #22221f; box-shadow: 0 24px 70px rgba(31,31,27,.2); }
.hf-hero-art:before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 34px 34px; }
.hf-art-frame { position: absolute; left: 14%; right: 14%; top: 22%; bottom: 15%; border: 5px solid #dedbd3; border-radius: 12px; }
.hf-art-frame:before, .hf-art-frame:after { content: ""; position: absolute; left: 12%; right: 12%; height: 16px; border-radius: 10px; background: var(--hf-yellow); box-shadow: 0 14px 0 rgba(246,168,0,.16); }
.hf-art-frame:before { top: 18%; }
.hf-art-frame:after { top: 48%; background: var(--hf-white); box-shadow: 0 14px 0 rgba(255,255,255,.14); }
.hf-art-post { position: absolute; top: 10%; bottom: 7%; width: 12px; border-radius: 8px; background: var(--hf-yellow); }
.hf-art-post.left { left: 9%; }
.hf-art-post.right { right: 9%; }
.hf-art-label { position: absolute; left: 12%; bottom: 9%; color: #fff; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hf-section { padding: 92px 0; }
.hf-section-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.hf-section-intro { max-width: 650px; color: var(--hf-muted); font-size: 1.08rem; }
.hf-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.hf-card { padding: 25px; border: 1px solid var(--hf-line); border-radius: var(--hf-radius); background: var(--hf-white); box-shadow: 0 12px 32px rgba(37,34,24,.05); }
.hf-card p { color: var(--hf-muted); }
.hf-number { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-bottom: 18px; border-radius: 50%; background: var(--hf-yellow); font-weight: 900; }
.hf-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.hf-product-card { display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.hf-product-media { display: grid; place-items: center; min-height: 180px; background: #ece9e0; }
.hf-product-media img { width: 100%; height: 220px; object-fit: cover; }
.hf-product-media .hf-product-placeholder { position: relative; width: 68%; height: 120px; border: 5px solid #333; border-radius: 12px; }
.hf-product-placeholder:before, .hf-product-placeholder:after { content: ""; position: absolute; left: 12%; right: 12%; height: 12px; border-radius: 6px; background: var(--hf-yellow); }
.hf-product-placeholder:before { top: 24%; }
.hf-product-placeholder:after { top: 58%; background: #333; }
.hf-product-body { display: flex; flex: 1; flex-direction: column; padding: 23px; }
.hf-product-body p { flex: 1; }
.hf-product-body .hf-button { align-self: flex-start; }
.hf-note { margin: 22px 0 0; padding: 16px 18px; border-left: 4px solid var(--hf-yellow); background: #fff9e9; color: var(--hf-muted); }
.hf-request { background: var(--hf-ink); color: var(--hf-white); }
.hf-request .hf-kicker { color: var(--hf-yellow); }
.hf-request p { color: #d3d0c8; }
.hf-footer { padding: 42px 0; background: #101010; color: #e9e6de; }
.hf-footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.hf-footer small { color: #a7a39a; }
.hf-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; max-width: 800px; }
.hf-form label { display: grid; gap: 7px; font-weight: 750; }
.hf-form input, .hf-form textarea, .hf-form select { width: 100%; border: 1px solid #494949; border-radius: 9px; padding: 12px 13px; background: #242424; color: #fff; font: inherit; }
.hf-form textarea { min-height: 130px; resize: vertical; }
.hf-form .full { grid-column: 1 / -1; }
.hf-alert { margin: 20px 0; border-radius: 10px; padding: 14px 16px; background: #fff9e9; color: #6b4a00; }
.woocommerce ul.products { margin: 0; }
.woocommerce .price, .woocommerce-Price-amount, .cart_totals, .product-subtotal, .product-total, .order-total, .woocommerce-order-overview__total { display: none !important; }
@media (max-width: 850px) { .hf-header-inner, .hf-section-head { align-items: flex-start; flex-direction: column; } .hf-hero-grid { grid-template-columns: 1fr; gap: 40px; } .hf-benefits, .hf-product-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 580px) { .hf-shell { width: min(100% - 28px, 1180px); } .hf-top { font-size: .56rem; letter-spacing: .07em; } .hf-nav { width: 100%; } .hf-nav a { padding: 8px 10px; font-size: .9rem; } .hf-languages { justify-content: flex-start; } .hf-benefits, .hf-product-grid, .hf-footer-grid, .hf-form { grid-template-columns: 1fr; } h1 { font-size: 3.4rem; } .hf-hero-art { min-height: 280px; } }

/* Customer portal */
.bv-shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 46px 0 80px; }
.bv-shell h1 { font-size: clamp(2.1rem, 4vw, 4.2rem); }
.bv-shell h2 { font-size: clamp(1.45rem, 2.4vw, 2.25rem); }
.bv-eyebrow { display:block; margin:0 0 10px; color:#8a6200; font-size:.74rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.bv-hero { display:grid; grid-template-columns:1.2fr .8fr; gap:32px; align-items:stretch; padding:clamp(32px,6vw,72px); border-radius:28px; background:linear-gradient(135deg,#fff,#eee8db); }
.bv-hero h1 { max-width:760px; }
.bv-hero p { max-width:650px; color:var(--hf-muted); font-size:1.12rem; }
.bv-hero-image { display:grid; place-items:center; min-height:180px; border-radius:20px; background:#171717; color:var(--hf-yellow); font-weight:900; font-size:clamp(3rem,10vw,8rem); }
.bv-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.bv-button, .bv-shell button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; border:1px solid var(--hf-yellow); border-radius:9px; padding:9px 14px; background:var(--hf-yellow); color:var(--hf-ink); font:inherit; font-weight:750; text-decoration:none; cursor:pointer; }
.bv-outline, .bv-button.bv-outline { border-color:var(--hf-ink); background:transparent; }
.bv-section-heading { display:flex; justify-content:space-between; align-items:end; gap:16px; margin:56px 0 22px; }
.bv-search { display:flex; gap:8px; margin-bottom:16px; }.bv-search input { flex:1; }
.bv-categories { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }.bv-categories a { padding:7px 11px; border:1px solid var(--hf-line); border-radius:999px; text-decoration:none; }.bv-categories a.active { background:var(--hf-ink); border-color:var(--hf-ink); color:white; }
.bv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.bv-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--hf-line); border-radius:16px; background:white; }.bv-card-image { display:grid; place-items:center; min-height:210px; background:#f4f2ec; }.bv-card-image img { width:100%; height:230px; object-fit:contain; }.bv-card-content { display:flex; flex:1; flex-direction:column; padding:19px; }.bv-card-content h3 { margin-bottom:8px; }.bv-card-content h3 a,.bv-card-link { text-decoration:none; }.bv-card-link { margin-top:16px; font-weight:750; }.bv-card-add,.bv-add { display:flex; align-items:end; gap:10px; margin-top:auto; }.bv-card-add label,.bv-add label { flex:1; font-size:.85rem; }.bv-card-add input,.bv-add input { width:100%; }
.bv-product { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.9fr); gap:48px; margin-top:24px; }.bv-product-image { display:grid; place-items:center; min-height:440px; overflow:hidden; border-radius:16px; background:#f4f2ec; }.bv-product-image>img,.bv-gallery-slide>img { width:100%; max-height:520px; object-fit:contain; }.bv-gallery { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }.bv-gallery-thumbnail { width:78px; height:62px; padding:3px; border:1px solid var(--hf-line); background:#f4f2ec; }.bv-gallery-thumbnail img { width:100%; height:100%; object-fit:contain; }.bv-gallery-stage { position:relative; }.bv-gallery-arrow { position:absolute; top:50%; z-index:1; transform:translateY(-50%); width:42px; height:42px; padding:0; border-radius:50%; background:white; border:1px solid var(--hf-line); font-size:2rem; line-height:1; }.bv-gallery-previous{left:12px}.bv-gallery-next{right:12px}.bv-features{padding-left:20px}.bv-specs{margin:0}.bv-specs div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--hf-line)}.bv-specs dt{color:var(--hf-muted)}.bv-specs dd{margin:0;font-weight:750}.bv-product-video,.bv-product-pdfs,.bv-related{margin-top:56px}.bv-product-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.bv-product-videos--single{grid-template-columns:minmax(0,680px)}.bv-video-embed{aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#111}.bv-video-embed iframe{width:100%;height:100%;border:0}.bv-product-pdfs ul{list-style:none;padding:0}.bv-product-pdfs a{display:inline-block;padding:10px 13px;border:1px solid var(--hf-line);border-radius:9px;text-decoration:none}
.bv-form-page,.bv-message { max-width:820px; margin:0 auto; padding:clamp(26px,5vw,52px); border:1px solid var(--hf-line); border-radius:18px; background:white; }.bv-wide{max-width:1080px}.bv-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bv-shell label{display:grid;gap:6px;font-weight:700}.bv-shell input,.bv-shell select,.bv-shell textarea{width:100%;padding:10px 11px;border:1px solid #b9b6ae;border-radius:8px;background:white;color:var(--hf-ink);font:inherit}.bv-shell textarea{resize:vertical}.bv-shell form{display:grid;gap:15px}.bv-check{display:flex!important;align-items:center;gap:8px;font-weight:500!important}.bv-check input{width:auto}.bv-table-wrap{overflow:auto}.bv-table-wrap table{width:100%;border-collapse:collapse}.bv-table-wrap th,.bv-table-wrap td{padding:12px;border-bottom:1px solid var(--hf-line);text-align:left}.bv-table-wrap small{display:block;color:var(--hf-muted)}.bv-breadcrumb{color:var(--hf-muted);font-size:.9rem}.bv-history-list{display:grid;gap:10px}.bv-history-row{padding:16px;border:1px solid var(--hf-line);border-radius:12px}.bv-history-row h3{margin:6px 0}.bv-request-badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#fff2c8;font-size:.78rem;font-weight:750}.bv-catalog-notice{padding:12px 14px;border-left:4px solid var(--hf-yellow);background:#fff8df}.hftr-delivery-details{padding:18px;border:1px solid var(--hf-line);border-radius:12px;background:#fbfaf7}.hftr-shipping-choice{display:grid;gap:9px;border:0;padding:0}.bv-no-photo{display:grid;place-items:center;min-height:220px;color:#8c877c}.bv-no-photo span{font-size:2rem;font-weight:900}.bv-no-photo small{display:block}
@media (max-width: 850px){.bv-shell{width:min(100% - 28px,1180px)}.bv-hero,.bv-product{grid-template-columns:1fr}.bv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bv-product-image{min-height:330px}.bv-fields{grid-template-columns:1fr}}@media(max-width:560px){.bv-grid,.bv-product-videos{grid-template-columns:1fr}.bv-hero{padding:28px}.bv-shell{padding-top:28px}.bv-product-image{min-height:260px}}
