/* ============================================================
   Forgebury Design System — forge-design-system.css
   Pixel-matched to Figma export: Design Forgebury Homepage.zip
   Prefix: fhp- (homepage) keeps styles isolated from WooCommerce
   ============================================================ */

/* ── Tokens ──────────────────────────────────────────────────── */
:root {
    --fhp-black:      #1a1a1a;
    --fhp-dark:       #111111;
    --fhp-gold:       #c9a84c;
    --fhp-gold-hover: #d4b55e;
    --fhp-white:      #ffffff;
    --fhp-off-white:  #f5f5f5;
    --fhp-muted:      #888888;
    --fhp-subtle:     #666666;
    --fhp-border-dark:#2e2e2e;
    --fhp-border-lt:  #e0e0e0;
    --fhp-heading:    'Cormorant Garamond', Georgia, serif;
    --fhp-body:       'Inter', system-ui, sans-serif;
}

/* ── Homepage theme-wrapper reset ────────────────────────────── */
.forge-homepage .entry-title,
.forge-homepage h1.page-title,
.forge-homepage .page-header   { display: none !important; }

.forge-homepage .entry-content,
.forge-homepage .site-content,
.forge-homepage #content,
.forge-homepage .content-area  {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ── Reveal classes — always visible (no opacity hiding) ─────── */
.forge-reveal, .forge-reveal-up, .forge-reveal-fade, [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
}

/* ── Full-bleed: every section stretches 100vw ───────────────── */
.fhp-hero,
.fhp-trust,
.fhp-products,
.fhp-hiw,
.fhp-verticals,
.fhp-sister {
    width: 100vw;
    position: relative;
    left: 50%;
    margin-left: -50vw;
}

/* ── Shared inner container — 1200px centred ─────────────────── */
.fhp-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 48px;
}

/* ── Shared typography helpers ───────────────────────────────── */
.fhp-eyebrow {
    font-family: var(--fhp-body);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 3px;
    color: var(--fhp-gold);
    margin: 0 0 16px;
    text-transform: uppercase;
}

.fhp-section-header {
    text-align: center;
    margin-bottom: 64px;
}

.fhp-section-heading {
    font-family: var(--fhp-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 1.1;
    margin: 0;
}
.fhp-section-heading--dark    { color: var(--fhp-black); }
.fhp-section-heading--light   { color: var(--fhp-white); }
.fhp-section-heading--centred { text-align: center; }

/* ── Buttons ─────────────────────────────────────────────────── */
.fhp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--fhp-body);
    font-size: 14px;
    font-weight: 400;
    padding: 12px 32px;
    border: 1px solid transparent;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    min-height: 44px;
    white-space: nowrap;
}
.fhp-btn--gold {
    background: var(--fhp-gold);
    color: var(--fhp-black);
    border-color: var(--fhp-gold);
}
.fhp-btn--gold:hover {
    background: var(--fhp-gold-hover);
    border-color: var(--fhp-gold-hover);
    color: var(--fhp-black);
    text-decoration: none;
}
.fhp-btn--outline {
    background: transparent;
    color: var(--fhp-gold);
    border-color: var(--fhp-gold);
}
.fhp-btn--outline:hover {
    background: var(--fhp-gold);
    color: var(--fhp-black);
    text-decoration: none;
}
.fhp-btn:focus-visible {
    outline: 2px solid var(--fhp-gold);
    outline-offset: 3px;
}

/* ══════════════════════════════════════════════════════════════
   HEADER — dark, gold bottom border (Figma: border-b border-[#c9a84c])
   ══════════════════════════════════════════════════════════════ */
.forge-header {
    position: sticky;
    top: 0;
    z-index: 50;
    width: 100%;
    height: 72px;
    background: #1a1a1a;
    border-bottom: 1px solid #c9a84c;
    display: flex;
    align-items: center;
}
.forge-header__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 48px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.forge-header__logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    cursor: pointer;
}
.forge-header__logo:hover { opacity: 0.85; text-decoration: none; }
.forge-header__logo:focus-visible { outline: 2px solid var(--fhp-gold); outline-offset: 4px; }

.forge-nav {
    display: flex;
    align-items: center;
    gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.forge-nav li a {
    font-family: var(--fhp-body);
    font-size: 14px;
    font-weight: 400;
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease;
    cursor: pointer;
}
.forge-nav li a:hover { color: var(--fhp-gold); }
.forge-nav li a:focus-visible { outline: 2px solid var(--fhp-gold); outline-offset: 3px; }
.forge-nav li.forge-nav-cta a {
    background: var(--fhp-gold);
    color: var(--fhp-black);
    padding: 8px 24px;
    font-weight: 400;
    transition: background 0.2s ease;
}
.forge-nav li.forge-nav-cta a:hover { background: var(--fhp-gold-hover); color: var(--fhp-black); }
.forge-nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    color: #ffffff;
    padding: 8px;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
}
.forge-header--scrolled { box-shadow: 0 4px 24px rgba(0,0,0,0.5); }

/* ══════════════════════════════════════════════════════════════
   HERO — bg #1a1a1a · min-height 90vh
   ══════════════════════════════════════════════════════════════ */
.fhp-hero {
    background: #1a1a1a;
    min-height: 90vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 48px 60px;
}
.fhp-hero__inner {
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
.fhp-hero .fhp-eyebrow { margin-bottom: 24px; }

.fhp-hero__heading {
    font-family: var(--fhp-heading);
    font-size: clamp(52px, 7vw, 80px);
    font-weight: 400;
    color: #ffffff;
    line-height: 1.1;
    margin: 0 0 28px;
}
.fhp-hero__sub {
    font-family: var(--fhp-body);
    font-size: 18px;
    font-weight: 300;
    color: var(--fhp-muted);
    max-width: 700px;
    margin: 0 auto 36px;
    line-height: 1.7;
}
.fhp-hero__ctas {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}
.fhp-hero__proof {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-family: var(--fhp-body);
    font-size: 13px;
    font-weight: 300;
    color: var(--fhp-gold);
    opacity: 0.8;
    flex-wrap: wrap;
}
.fhp-dot { opacity: 0.5; }

/* Gold rule at hero bottom — Figma: w-[200px] h-[1px] bg-[#c9a84c] */
.fhp-hero__rule {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 1px;
    background: var(--fhp-gold);
}

/* ══════════════════════════════════════════════════════════════
   TRUST BAR — bg #111111 · 4-col centred
   ══════════════════════════════════════════════════════════════ */
.fhp-trust {
    background: #111111;
    padding: 56px 0;
}
.fhp-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}
.fhp-trust__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
}
.fhp-trust__title {
    font-family: var(--fhp-body);
    font-size: 16px;
    font-weight: 400;
    color: #ffffff;
    margin: 0;
}
.fhp-trust__desc {
    font-family: var(--fhp-body);
    font-size: 13px;
    font-weight: 300;
    color: var(--fhp-muted);
    margin: 0;
    line-height: 1.5;
}

/* ══════════════════════════════════════════════════════════════
   PRODUCTS — bg #ffffff · light zone
   ══════════════════════════════════════════════════════════════ */
.fhp-products {
    background: #ffffff;
    padding: 80px 0;
}
.fhp-products__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
/* Cards are <a> tags — must reset link colours */
.fhp-product-card {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: border-color 0.3s ease, transform 0.3s ease;
}
.fhp-product-card * { text-decoration: none; }
.fhp-product-card:hover {
    border-color: var(--fhp-gold);
    transform: translateY(-4px);
    text-decoration: none;
}
.fhp-product-card:focus-visible {
    outline: 2px solid var(--fhp-gold);
    outline-offset: 2px;
}
.fhp-product-card__img-wrap {
    width: 100%;
    height: 220px;
    overflow: hidden;
    background: #f5f5f5;
    border-radius: 8px 8px 0 0;
    flex-shrink: 0;
}
.fhp-product-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}
.fhp-product-card:hover .fhp-product-card__img { transform: scale(1.04); }
.fhp-product-card__img-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
}
.fhp-product-card__body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.fhp-product-card__name {
    font-family: var(--fhp-heading);
    font-size: 20px;
    font-weight: 400;
    color: #1a1a1a !important;
    margin: 0 0 8px;
}
.fhp-product-card__desc {
    font-family: var(--fhp-body);
    font-size: 13px;
    font-weight: 300;
    color: #888888 !important;
    margin: 0 0 12px;
    line-height: 1.6;
    flex: 1;
}
.fhp-product-card__price {
    font-family: var(--fhp-body);
    font-size: 13px;
    font-weight: 400;
    color: var(--fhp-gold) !important;
    margin: 0 0 12px;
}
.fhp-product-card__link {
    font-family: var(--fhp-body);
    font-size: 14px;
    font-weight: 400;
    color: var(--fhp-gold) !important;
    transition: opacity 0.2s ease;
}
.fhp-product-card:hover .fhp-product-card__link { opacity: 0.75; }

/* ══════════════════════════════════════════════════════════════
   HOW IT WORKS — bg #f5f5f5 · connected steps
   ══════════════════════════════════════════════════════════════ */
.fhp-hiw {
    background: #f5f5f5;
    padding: 80px 0;
}
.fhp-hiw .fhp-section-heading { margin-bottom: 80px; }

.fhp-hiw__steps {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    max-width: 1100px;
    margin: 0 auto;
}
/* Horizontal connecting gold line — Figma: top-12, left-[10%], right-[10%] */
.fhp-hiw__line {
    position: absolute;
    top: 48px;         /* aligns with the step number vertical centre */
    left: 10%;
    right: 10%;
    height: 1px;
    background: var(--fhp-gold);
    pointer-events: none;
}
.fhp-hiw__step {
    position: relative;
    flex: 1;
    text-align: center;
    padding: 0 32px;
    z-index: 1;
}
.fhp-hiw__num {
    font-family: var(--fhp-heading);
    font-size: 64px;
    font-weight: 400;
    color: var(--fhp-gold);
    line-height: 1;
    display: inline-block;
    margin-bottom: 24px;
    /* White background behind number so line doesn't show through */
    background: #f5f5f5;
    padding: 0 8px;
}
.fhp-hiw__step-title {
    font-family: var(--fhp-body);
    font-size: 16px;
    font-weight: 400;
    color: #1a1a1a;
    margin: 0 0 10px;
    line-height: 1.4;
}
.fhp-hiw__step-desc {
    font-family: var(--fhp-body);
    font-size: 13px;
    font-weight: 300;
    color: var(--fhp-muted);
    margin: 0;
    line-height: 1.65;
}

/* ══════════════════════════════════════════════════════════════
   WHO WE WORK WITH — bg #1a1a1a · 4-col
   ══════════════════════════════════════════════════════════════ */
.fhp-verticals {
    background: #1a1a1a;
    padding: 80px 0;
}
.fhp-verticals .fhp-section-heading { margin-bottom: 64px; }
.fhp-verticals__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.fhp-vertical-card {
    border: 1px solid #2e2e2e;
    padding: 32px;
    cursor: pointer;
    transition: border-color 0.3s ease;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.fhp-vertical-card:hover { border-color: var(--fhp-gold); }
.fhp-vertical-card svg  { margin-bottom: 24px; flex-shrink: 0; }
.fhp-vertical-card__title {
    font-family: var(--fhp-heading);
    font-size: 24px;
    font-weight: 400;
    color: #ffffff;
    margin: 0 0 12px;
}
.fhp-vertical-card__desc {
    font-family: var(--fhp-body);
    font-size: 13px;
    font-weight: 300;
    color: var(--fhp-muted);
    margin: 0;
    line-height: 1.65;
}

/* ══════════════════════════════════════════════════════════════
   SISTER BRAND BANNER — bg #111111
   ══════════════════════════════════════════════════════════════ */
.fhp-sister {
    background: #111111;
    padding: 24px 0;
}
.fhp-sister__text {
    font-family: var(--fhp-body);
    font-size: 14px;
    font-weight: 300;
    color: var(--fhp-muted);
    text-align: center;
    margin: 0;
}
.fhp-sister__link {
    color: var(--fhp-gold);
    text-decoration: underline;
    transition: text-decoration 0.15s ease;
}
.fhp-sister__link:hover { text-decoration: none; }

/* ══════════════════════════════════════════════════════════════
   FOOTER — bg #1a1a1a · three-column layout
   ══════════════════════════════════════════════════════════════ */
.forge-footer {
    background: #1a1a1a;
    border-top: 1px solid #2e2e2e;
    padding: 48px 0 0;
}
.forge-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 48px;
}
.forge-footer__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 32px;
    flex-wrap: wrap;
    gap: 24px;
}
.forge-footer__brand {
    display: flex;
    align-items: center;
    gap: 12px;
}
.forge-footer__brand-text {
    font-family: var(--fhp-body);
    font-size: 13px;
    font-weight: 300;
    color: var(--fhp-muted);
}
.forge-footer__nav {
    display: flex;
    align-items: center;
    gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.forge-footer__nav a {
    font-family: var(--fhp-body);
    font-size: 14px;
    font-weight: 300;
    color: var(--fhp-muted);
    text-decoration: none;
    transition: color 0.2s ease;
    cursor: pointer;
}
.forge-footer__nav a:hover { color: var(--fhp-gold); }
.forge-footer__site {
    font-family: var(--fhp-body);
    font-size: 14px;
    font-weight: 300;
    color: var(--fhp-muted);
}
.forge-footer__bottom {
    border-top: 1px solid #2e2e2e;
    padding: 24px 0;
    text-align: center;
}
.forge-footer__legal {
    font-family: var(--fhp-body);
    font-size: 12px;
    font-weight: 300;
    color: var(--fhp-subtle);
    margin: 0;
}

/* ── Keep old forge-footer classes working if theme uses them ─── */
.forge-footer__logo { display: none; }

/* ══════════════════════════════════════════════════════════════
   PRODUCT SINGLE / CATEGORY / QUOTE FORMS — light zones
   (unchanged from previous version — scoped to forge-product etc.)
   ══════════════════════════════════════════════════════════════ */
.forge-product { padding: 60px 0; background: #ffffff; }
.forge-product__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; max-width: 1200px; margin: 0 auto; padding: 0 48px; align-items: start; }
.forge-product__main-image img { width: 100%; border-radius: 8px; display: block; }
.forge-product__no-image { background: #f5f5f5; border-radius: 8px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; font-size: 80px; color: #ccc; }
.forge-product__thumbs { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.forge-thumb { border: 2px solid transparent; border-radius: 4px; cursor: pointer; padding: 0; background: none; overflow: hidden; width: 64px; height: 64px; transition: border-color 0.15s; }
.forge-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.forge-thumb--active { border-color: var(--fhp-gold); }
.forge-product__badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.forge-badge { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 400; padding: 5px 10px; border-radius: 20px; font-family: var(--fhp-body); }
.forge-badge--turnaround { background: #f5f5f5; color: #555; }
.forge-badge--inhouse { background: #1a1a1a; color: var(--fhp-gold); }
.forge-badge--category { background: #f5f5f5; color: #555; text-transform: capitalize; }
.forge-product__name { font-family: var(--fhp-heading); font-size: clamp(28px, 3vw, 42px); font-weight: 400; color: #1a1a1a; margin: 0 0 16px; }
.forge-product__short-desc { font-family: var(--fhp-body); font-size: 15px; font-weight: 300; color: #666; margin: 0 0 28px; line-height: 1.75; }
.forge-pricing-table { margin: 28px 0; }
.forge-pricing-table table { width: 100%; border-collapse: collapse; font-family: var(--fhp-body); font-size: 14px; border: 1px solid #e0e0e0; border-radius: 6px; overflow: hidden; }
.forge-pricing-table thead tr { background: #1a1a1a; }
.forge-pricing-table thead th { color: var(--fhp-gold); padding: 12px 16px; text-align: left; font-weight: 400; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; }
.forge-pricing-table tbody tr { border-bottom: 1px solid #e0e0e0; transition: background 0.12s; }
.forge-pricing-table tbody tr:hover { background: #f5f5f5; }
.forge-pricing-table tbody tr.forge-tier-active { background: #fef9ec; outline: 1px solid var(--fhp-gold); }
.forge-pricing-table td { padding: 12px 16px; color: #1a1a1a; font-weight: 300; }
.forge-moq-notice { font-family: var(--fhp-body); font-size: 12px; font-weight: 300; color: #666; margin: 12px 0 0; }
.forge-moq-notice a { color: var(--fhp-gold); }
.forge-product__qty-row { margin: 20px 0; }
.forge-qty-control { display: flex; align-items: center; width: fit-content; border: 1.5px solid #e0e0e0; border-radius: 4px; overflow: hidden; }
.forge-qty-btn { background: #f5f5f5; border: none; width: 44px; height: 44px; font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.12s; }
.forge-qty-btn:hover { background: #e8e8e8; }
.forge-qty-input { width: 72px; height: 44px; border: none; border-left: 1.5px solid #e0e0e0; border-right: 1.5px solid #e0e0e0; text-align: center; font-family: var(--fhp-body); font-size: 16px; font-weight: 500; background: #fff; -moz-appearance: textfield; }
.forge-qty-input::-webkit-outer-spin-button, .forge-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; }
.forge-product__artwork { margin: 0 0 20px; }
.forge-label { display: block; font-family: var(--fhp-body); font-size: 13px; font-weight: 400; color: #1a1a1a; margin-bottom: 6px; }
.forge-label__hint { font-weight: 300; color: #666; margin-left: 6px; font-size: 12px; }
.forge-file-input { display: block; width: 100%; font-family: var(--fhp-body); font-size: 13px; padding: 10px; border: 1.5px dashed #e0e0e0; border-radius: 4px; background: #f5f5f5; cursor: pointer; transition: border-color 0.15s; }
.forge-file-input:hover { border-color: var(--fhp-gold); }
.forge-product__actions { margin: 0 0 16px; }
.forge-product__bulk-cta { border-top: 1px solid #e0e0e0; padding-top: 20px; text-align: center; }
.forge-product__bulk-cta p { font-size: 13px; font-weight: 300; color: #666; margin: 0 0 12px; }
.forge-product__description { padding-top: 60px; border-top: 1px solid #e0e0e0; margin-top: 60px; }
.forge-product__desc-heading { font-family: var(--fhp-heading); font-size: 28px; font-weight: 400; color: #1a1a1a; margin: 0 0 24px; }
.forge-product__desc-content { font-family: var(--fhp-body); font-size: 15px; font-weight: 300; color: #666; line-height: 1.8; max-width: 720px; }
.forge-category-page { padding: 60px 0; background: #ffffff; }
.forge-category-page__heading { font-family: var(--fhp-heading); font-size: clamp(28px, 4vw, 46px); font-weight: 400; color: #1a1a1a; margin: 0 0 40px; }
.forge-product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.forge-container { max-width: 1200px; margin: 0 auto; padding: 0 48px; }

/* Quote form */
.forge-quote-wrap { max-width: 740px; margin: 0 auto; padding: 48px 24px; }
.forge-quote-form { display: flex; flex-direction: column; gap: 20px; }
.forge-form-row { display: flex; gap: 20px; }
.forge-form-row--2col > .forge-form-field { flex: 1; min-width: 0; }
.forge-form-field { display: flex; flex-direction: column; gap: 6px; }
.forge-input, .forge-select, .forge-textarea { width: 100%; font-family: var(--fhp-body); font-size: 14px; font-weight: 300; padding: 12px 14px; border: 1.5px solid #e0e0e0; border-radius: 4px; background: #fff; color: #1a1a1a; transition: border-color 0.15s; appearance: none; }
.forge-input:focus, .forge-select:focus, .forge-textarea:focus { outline: none; border-color: var(--fhp-gold); box-shadow: 0 0 0 3px rgba(201,168,76,0.12); }
.forge-select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a4a4a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; }
.forge-textarea { resize: vertical; min-height: 100px; }
.forge-required { color: var(--fhp-gold); }
.forge-toggle-group { display: flex; gap: 10px; }
.forge-toggle-option { display: flex; align-items: center; gap: 8px; font-family: var(--fhp-body); font-size: 14px; font-weight: 300; cursor: pointer; padding: 10px 18px; border: 1.5px solid #e0e0e0; border-radius: 4px; transition: border-color 0.15s, background 0.15s; min-height: 44px; }
.forge-toggle-option:has(input:checked) { border-color: var(--fhp-gold); background: #fef9ec; }
.forge-toggle-option input { display: none; }
.forge-form-submit { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.forge-form-privacy { font-size: 12px; font-weight: 300; color: #666; margin: 0; }
.forge-form-errors { background: #fff0f0; border: 1px solid #f5c6c6; border-radius: 4px; padding: 14px 18px; }
.forge-form-error { color: #c0392b; font-size: 14px; font-weight: 300; margin: 0; }
.forge-quote-success { text-align: center; padding: 60px 24px; background: #f0fbf4; border: 1px solid #a8d5b5; border-radius: 8px; }
.forge-quote-success__icon { display: inline-flex; width: 52px; height: 52px; background: #2ecc71; color: #fff; border-radius: 50%; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 16px; }
.forge-quote-success h3 { font-family: var(--fhp-heading); font-size: 28px; font-weight: 400; margin: 0 0 10px; color: #1a1a1a; }
.forge-quote-success p { color: #666; margin: 0; font-weight: 300; }
.forge-checkout-artwork { margin: 24px 0; padding: 24px; border: 1px solid #e0e0e0; border-radius: 8px; background: #f5f5f5; }
.forge-checkout-artwork__title { font-family: var(--fhp-heading) !important; font-size: 20px !important; font-weight: 400 !important; color: #1a1a1a !important; margin: 0 0 6px !important; }
.forge-checkout-artwork__desc { font-size: 13px; font-weight: 300; color: #666; margin: 0 0 16px; }
.forge-checkout-artwork__field { display: flex; flex-direction: column; gap: 6px; }
.forge-error { color: #c0392b; font-family: var(--fhp-body); font-size: 14px; font-weight: 300; padding: 12px; }
.optional { font-weight: 300; color: #666; font-size: 12px; }

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    .fhp-container, .forge-container,
    .forge-header__inner, .forge-footer__inner { padding: 0 32px; }
    .fhp-products__grid   { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .fhp-verticals__grid  { grid-template-columns: repeat(2, 1fr); }
    .fhp-trust__grid      { grid-template-columns: repeat(2, 1fr); gap: 28px; }
    .fhp-hiw__steps       { flex-direction: column; gap: 40px; }
    .fhp-hiw__line        { display: none; }
    .fhp-hiw__step        { padding: 0; }
    .fhp-hiw__num         { background: transparent; padding: 0; }
    .forge-product__layout { grid-template-columns: 1fr; gap: 32px; padding: 0 32px; }
    .forge-footer__top    { flex-direction: column; align-items: flex-start; gap: 20px; }
}

@media (max-width: 768px) {
    .fhp-hero             { padding: 64px 24px 48px; min-height: 85vh; }
    .fhp-hero__heading    { font-size: clamp(40px, 10vw, 60px); }
    .fhp-hero__sub        { font-size: 16px; }
    .fhp-hero__ctas       { flex-direction: column; align-items: stretch; }
    .fhp-products__grid   { grid-template-columns: 1fr; }
    .fhp-verticals__grid  { grid-template-columns: 1fr; }
    .fhp-trust__grid      { grid-template-columns: 1fr; gap: 28px; }
    .forge-nav {
        display: none;
        position: absolute;
        top: 72px; left: 0; right: 0;
        background: #1a1a1a;
        flex-direction: column;
        gap: 0;
        padding: 8px 0;
        border-bottom: 1px solid var(--fhp-gold);
        z-index: 50;
    }
    .forge-nav.forge-nav--open { display: flex; }
    .forge-nav li a { padding: 14px 32px; display: block; }
    .forge-nav li.forge-nav-cta a { margin: 8px 24px; padding: 12px 24px; }
    .forge-nav-toggle { display: flex; }
    .forge-footer__nav { gap: 16px; flex-wrap: wrap; }
    .fhp-container, .forge-container,
    .forge-header__inner, .forge-footer__inner { padding: 0 20px; }
    .fhp-section-heading { font-size: 36px; }
}

@media (max-width: 480px) {
    .fhp-hero__proof      { flex-direction: column; gap: 8px; }
    .fhp-dot              { display: none; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
