/* House of Zejd — Contact page (page hero from about.css, form table base from components.css) */

/* contact details: four cards */
.hz-ct-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.hz-ct-card { position: relative; display: flex; flex-direction: column; padding: var(--space-8) var(--space-6); background: var(--surface); border: 1px solid var(--line); transition: border-color .35s, transform .45s cubic-bezier(.2,.7,.2,1), box-shadow .45s; }
.hz-ct-card::before { content: ""; position: absolute; left: 0; top: 0; height: 2px; width: 0; background: var(--olive); transition: width .6s cubic-bezier(.2,.7,.2,1); }
.hz-ct-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card); border-color: var(--line-strong); }
.hz-ct-card:hover::before { width: 100%; }
.hz-ct-card--store { background: #1d1c18; border-color: #1d1c18; color: #d9d2c3; }
.hz-ct-card--store::before { background: var(--gold); }
.hz-ct-n { display: flex; align-items: center; gap: var(--space-3); font: italic 400 18px/1 var(--font-display); color: var(--olive); margin-bottom: var(--space-4); }
.hz-ct-n::after { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .6; }
.hz-ct-card h2 { font: 400 26px/1.15 var(--font-display); color: var(--ink); margin: 0 0 var(--space-4); }
.hz-ct-card p { font-size: 15px; line-height: 24px; color: var(--ink-muted); margin: 0 0 var(--space-3); }
.hz-ct-card .hz-ct-lead { font: italic 400 17px/24px var(--font-display); color: var(--ink); }
.hz-ct-lines { list-style: none; margin: auto 0 0; padding: var(--space-4) 0 0; border-top: 1px solid var(--line); }
.hz-ct-lines li { padding: 6px 0; font-size: 14px; line-height: 21px; color: var(--ink); word-break: break-word; }
.hz-ct-lines span { display: block; font: 700 10px/14px var(--font-sans); letter-spacing: .2em; text-transform: uppercase; color: var(--ink-subtle); margin-bottom: 2px; }
.hz-ct-lines a { color: var(--ink); border-bottom: 1px solid transparent; transition: border-color .2s, color .2s; }
.hz-ct-lines a:hover { color: var(--olive); border-bottom-color: currentColor; }
.hz-ct-card .hz-link { margin-top: var(--space-4); }
.hz-ct-card--store .hz-ct-n { color: var(--gold); }
.hz-ct-card--store h2, .hz-ct-card--store .hz-ct-lines li, .hz-ct-card--store .hz-ct-lines a { color: #f4efe4; }
.hz-ct-card--store p { color: #bfb8a8; }
.hz-ct-card--store .hz-ct-lines { border-top-color: rgba(227,190,47,.3); }
.hz-ct-card--store .hz-ct-lines span { color: #a39c8c; }
.hz-ct-card--store .hz-ct-lines a:hover, .hz-ct-card--store .hz-link { color: var(--gold); }
.hz .hz-ct-card--store :focus-visible { outline-color: var(--gold); }

.hz-ct-social { display: flex; justify-content: center; gap: var(--space-4); margin-top: var(--space-12); }
.hz-ct-social a { width: 46px; height: 46px; border-radius: 999px; border: 1px solid var(--line-strong); display: flex; align-items: center; justify-content: center; color: var(--ink); transition: background .25s, color .25s, border-color .25s; }
.hz-ct-social a:hover { background: var(--olive); border-color: var(--olive); color: var(--on-olive); }
.hz-ct-social svg { width: 18px; height: 18px; }

/* get in touch: the request form as a table (client) */
#inquire .hz-success { max-width: 760px; margin: var(--space-6) auto 0; }
#inquire .hz-success[hidden] { display: none; }

/* where to find our products */
.hz-ct-map { position: relative; height: 480px; overflow: hidden; border: 1px solid var(--line); background: var(--paper-alt); }
.hz-ct-map iframe { position: absolute; left: 0; top: -54px; width: 100%; height: calc(100% + 54px); border: 0; }

@media (max-width: 1100px) { .hz-ct-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .hz-ct-grid { grid-template-columns: 1fr; }
  .hz-ct-map { height: 380px; }
}
