/* ============================================================
 * Portfolio archive — Minimal Luxury
 *
 * Same approach as methodology + services pages. Body class is
 * `post-type-archive-harington_portfolio` (CPT archive) plus
 * `kki-portfolio-context` (custom). Single dark navy canvas,
 * italic serif Cormorant Garamond, uppercase letter-spaced
 * gold labels, no chrome.
 *
 * Emit via wp_head priority 105 to win cascade against
 * kki-v2-styles.php inline styles (priority 99).
 * ============================================================ */

body.post-type-archive-harington_portfolio,
body.kki-portfolio-context {
    background: #07111b !important;
}

body.post-type-archive-harington_portfolio #main,
body.post-type-archive-harington_portfolio #main-content,
body.post-type-archive-harington_portfolio #main-page-content,
body.kki-portfolio-context #main,
body.kki-portfolio-context #main-content,
body.kki-portfolio-context #main-page-content {
    background: transparent !important;
    opacity: 1 !important;
}

body.post-type-archive-harington_portfolio #main,
body.kki-portfolio-context #main {
    background:
        linear-gradient(180deg, rgba(255, 247, 232, 0.025), rgba(255, 247, 232, 0) 22%),
        #07111b !important;
}

/* === Section wrap === */
body.post-type-archive-harington_portfolio .kki-px-wrap,
body.kki-portfolio-context .kki-px-wrap {
    background: transparent !important;
    padding: clamp(72px, 8vw, 112px) clamp(20px, 4vw, 40px) clamp(80px, 9vw, 120px) !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* === Intro section === */
body.post-type-archive-harington_portfolio .kki-px-intro,
body.kki-portfolio-context .kki-px-intro {
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: none !important;
    margin: 0 auto 56px auto !important;
    display: grid !important;
    grid-template-columns: 1.4fr 1fr !important;
    gap: 56px !important;
    align-items: start !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

@media (max-width: 880px) {
    body.post-type-archive-harington_portfolio .kki-px-intro,
    body.kki-portfolio-context .kki-px-intro {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
}

body.post-type-archive-harington_portfolio .kki-px-kicker,
body.kki-portfolio-context .kki-px-kicker {
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--color-primary) !important;
    font-weight: 700 !important;
    margin: 0 0 14px 0 !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

body.post-type-archive-harington_portfolio .kki-px-intro h2,
body.kki-portfolio-context .kki-px-intro h2 {
    font-family: "Cormorant Garamond", "Noto Serif Thai", Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(2rem, 4vw, 2.75rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
    color: var(--color-foreground) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    margin: 0 0 16px 0 !important;
    text-align: left !important;
}

body.post-type-archive-harington_portfolio .kki-px-intro p,
body.kki-portfolio-context .kki-px-intro p {
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    font-size: 0.9375rem !important;
    line-height: 1.7 !important;
    color: rgba(247, 240, 223, 0.72) !important;
    margin: 0 0 24px 0 !important;
    font-weight: 400 !important;
    max-width: 60ch !important;
}

/* Filter chips: flat editorial inline list with hairline dividers */
body.post-type-archive-harington_portfolio .kki-px-chips,
body.kki-portfolio-context .kki-px-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-top: 1px solid rgba(216, 189, 118, 0.14) !important;
    border-bottom: 1px solid rgba(216, 189, 118, 0.14) !important;
    padding: 12px 0 !important;
}

body.post-type-archive-harington_portfolio .kki-px-chips span,
body.kki-portfolio-context .kki-px-chips span {
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: rgba(216, 189, 118, 0.72) !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

body.post-type-archive-harington_portfolio .kki-px-chips span:not(:last-child)::after,
body.kki-portfolio-context .kki-px-chips span:not(:last-child)::after {
    content: "·" !important;
    margin: 0 12px !important;
    color: rgba(216, 189, 118, 0.38) !important;
}

/* Aside panel: editorial sidebar with gold border-left */
body.post-type-archive-harington_portfolio .kki-px-panel,
body.kki-portfolio-context .kki-px-panel {
    background: transparent !important;
    border: 0 !important;
    border-left: 2px solid rgba(216, 189, 118, 0.45) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 4px 0 4px 24px !important;
}

body.post-type-archive-harington_portfolio .kki-px-panel strong,
body.kki-portfolio-context .kki-px-panel strong {
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    display: block !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--color-primary) !important;
    font-weight: 700 !important;
    margin: 0 0 12px 0 !important;
}

body.post-type-archive-harington_portfolio .kki-px-panel span,
body.kki-portfolio-context .kki-px-panel span {
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.65 !important;
    color: rgba(247, 240, 223, 0.72) !important;
    font-weight: 400 !important;
    display: block !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* === Card grid === */
body.post-type-archive-harington_portfolio .kki-px-grid,
body.kki-portfolio-context .kki-px-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 32px 28px !important;
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
}

@media (max-width: 960px) {
    body.post-type-archive-harington_portfolio .kki-px-grid,
    body.kki-portfolio-context .kki-px-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 28px !important;
    }
}

@media (max-width: 600px) {
    body.post-type-archive-harington_portfolio .kki-px-grid,
    body.kki-portfolio-context .kki-px-grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
}

/* === Card === */
body.post-type-archive-harington_portfolio .kki-px-card,
body.kki-portfolio-context .kki-px-card {
    position: relative !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: visible !important;
    transition: opacity 0.2s ease !important;
}

body.post-type-archive-harington_portfolio .kki-px-card:hover,
body.kki-portfolio-context .kki-px-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

body.post-type-archive-harington_portfolio .kki-px-card:hover .kki-px-link,
body.kki-portfolio-context .kki-px-card:hover .kki-px-link {
    color: var(--color-foreground) !important;
    border-bottom-color: rgba(216, 189, 118, 0.85) !important;
}

body.post-type-archive-harington_portfolio .kki-px-card > a,
body.kki-portfolio-context .kki-px-card > a {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    background: transparent !important;
}

/* Card media (image): edge-to-edge, no rounded corners */
body.post-type-archive-harington_portfolio .kki-px-media,
body.kki-portfolio-context .kki-px-media {
    position: relative !important;
    background: rgba(15, 23, 33, 0.6) !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    margin: 0 0 18px 0 !important;
    aspect-ratio: 4 / 3 !important;
}

body.post-type-archive-harington_portfolio .kki-px-media img,
body.kki-portfolio-context .kki-px-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    transition: opacity 0.3s ease !important;
}

body.post-type-archive-harington_portfolio .kki-px-card:hover .kki-px-media img,
body.kki-portfolio-context .kki-px-card:hover .kki-px-media img {
    opacity: 0.85 !important;
}

/* Card tag: editorial uppercase pill, no card chrome */
body.post-type-archive-harington_portfolio .kki-px-tag,
body.kki-portfolio-context .kki-px-tag {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    background: rgba(11, 16, 23, 0.78) !important;
    border: 1px solid rgba(216, 189, 118, 0.42) !important;
    border-radius: 0 !important;
    padding: 6px 12px !important;
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    font-size: 10px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--color-primary) !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    z-index: 1 !important;
}

/* Card body: padding around text */
body.post-type-archive-harington_portfolio .kki-px-body,
body.kki-portfolio-context .kki-px-body {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

body.post-type-archive-harington_portfolio .kki-px-body h3,
body.kki-portfolio-context .kki-px-body h3 {
    font-family: "Cormorant Garamond", "Noto Serif Thai", Georgia, serif !important;
    font-style: italic !important;
    font-size: 1.375rem !important;
    line-height: 1.3 !important;
    color: var(--color-foreground) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    margin: 0 0 10px 0 !important;
    letter-spacing: -0.005em !important;
}

body.post-type-archive-harington_portfolio .kki-px-meta,
body.kki-portfolio-context .kki-px-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 0 12px 0 !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

body.post-type-archive-harington_portfolio .kki-px-meta span,
body.kki-portfolio-context .kki-px-meta span {
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: rgba(216, 189, 118, 0.78) !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}

body.post-type-archive-harington_portfolio .kki-px-meta span:nth-child(2),
body.kki-portfolio-context .kki-px-meta span:nth-child(2) {
    color: rgba(247, 240, 223, 0.55) !important;
    font-weight: 400 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 0.8125rem !important;
    font-style: italic !important;
}

body.post-type-archive-harington_portfolio .kki-px-body p,
body.kki-portfolio-context .kki-px-body p {
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
    color: rgba(247, 240, 223, 0.72) !important;
    margin: 0 0 14px 0 !important;
    font-weight: 400 !important;
}

body.post-type-archive-harington_portfolio .kki-px-link,
body.kki-portfolio-context .kki-px-link {
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    display: inline-block !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: var(--color-primary) !important;
    font-weight: 700 !important;
    border-bottom: 1px solid rgba(216, 189, 118, 0.4) !important;
    padding: 0 0 3px 0 !important;
    background: transparent !important;
    transition: color 0.2s ease, border-color 0.2s ease !important;
}

/* Pagination + extras (if archive has them) */
body.post-type-archive-harington_portfolio nav.pagination,
body.kki-portfolio-context nav.pagination,
body.post-type-archive-harington_portfolio .nav-links,
body.kki-portfolio-context .nav-links {
    text-align: center !important;
    margin-top: 56px !important;
}

body.post-type-archive-harington_portfolio .nav-links a,
body.post-type-archive-harington_portfolio .nav-links span,
body.kki-portfolio-context .nav-links a,
body.kki-portfolio-context .nav-links span {
    display: inline-block !important;
    margin: 0 6px !important;
    padding: 8px 14px !important;
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    color: rgba(216, 189, 118, 0.72) !important;
    background: transparent !important;
    border: 1px solid rgba(216, 189, 118, 0.18) !important;
    border-radius: 0 !important;
    text-decoration: none !important;
}

body.post-type-archive-harington_portfolio .nav-links .current,
body.kki-portfolio-context .nav-links .current {
    color: var(--primitive-color-navy-950) !important;
    background: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

/* Hide theme hero title overlap if any (ensure clean canvas) */
body.post-type-archive-harington_portfolio .hero-title,
body.kki-portfolio-context .hero-title {
    color: var(--color-foreground) !important;
    font-family: "Cormorant Garamond", "Noto Serif Thai", Georgia, serif !important;
    font-style: italic !important;
    text-transform: none !important;
}

/* === Criteria section (Location demand / Price logic / Exit and after-plan) === */
body.post-type-archive-harington_portfolio .kki-px-criteria,
body.kki-portfolio-context .kki-px-criteria {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important;
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: none !important;
    margin: 64px auto 0 auto !important;
    padding-top: 48px !important;
    border-top: 1px solid rgba(216, 189, 118, 0.14) !important;
}

@media (max-width: 880px) {
    body.post-type-archive-harington_portfolio .kki-px-criteria,
    body.kki-portfolio-context .kki-px-criteria {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }
    body.post-type-archive-harington_portfolio .kki-px-criteria article,
    body.kki-portfolio-context .kki-px-criteria article {
        border-left: 0 !important;
        border-top: 1px solid rgba(216, 189, 118, 0.14) !important;
        padding: 24px 0 0 0 !important;
        margin-top: 0 !important;
    }
    body.post-type-archive-harington_portfolio .kki-px-criteria article:first-child,
    body.kki-portfolio-context .kki-px-criteria article:first-child {
        border-top: 0 !important;
        padding-top: 0 !important;
    }
}

body.post-type-archive-harington_portfolio .kki-px-criteria article,
body.kki-portfolio-context .kki-px-criteria article {
    background: transparent !important;
    border: 0 !important;
    border-left: 1px solid rgba(216, 189, 118, 0.14) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 4px 24px !important;
    min-width: 0 !important;
}

body.post-type-archive-harington_portfolio .kki-px-criteria article:first-child,
body.kki-portfolio-context .kki-px-criteria article:first-child {
    border-left: 0 !important;
    padding-left: 0 !important;
}

body.post-type-archive-harington_portfolio .kki-px-criteria b,
body.kki-portfolio-context .kki-px-criteria b {
    font-family: "Cormorant Garamond", "Noto Serif Thai", Georgia, serif !important;
    font-style: italic !important;
    font-weight: 500 !important;
    color: var(--color-foreground) !important;
    font-size: 1.25rem !important;
    line-height: 1.32 !important;
    margin: 0 0 10px 0 !important;
    text-transform: none !important;
    display: block !important;
}

body.post-type-archive-harington_portfolio .kki-px-criteria span,
body.kki-portfolio-context .kki-px-criteria span {
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    color: rgba(247, 240, 223, 0.72) !important;
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    display: block !important;
}

/* === Final CTA banner === */
body.post-type-archive-harington_portfolio .kki-px-cta,
body.kki-portfolio-context .kki-px-cta {
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: none !important;
    margin: 64px auto 0 auto !important;
    padding: 48px 0 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid rgba(216, 189, 118, 0.18) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 32px !important;
    flex-wrap: wrap !important;
}

@media (max-width: 880px) {
    body.post-type-archive-harington_portfolio .kki-px-cta,
    body.kki-portfolio-context .kki-px-cta {
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
    }
}

body.post-type-archive-harington_portfolio .kki-px-cta > div:first-child,
body.kki-portfolio-context .kki-px-cta > div:first-child {
    flex: 1 !important;
    min-width: 280px !important;
}

body.post-type-archive-harington_portfolio .kki-px-cta h2,
body.kki-portfolio-context .kki-px-cta h2 {
    font-family: "Cormorant Garamond", "Noto Serif Thai", Georgia, serif !important;
    font-style: italic !important;
    font-size: clamp(1.75rem, 3.4vw, 2.5rem) !important;
    line-height: 1.2 !important;
    color: var(--color-foreground) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    margin: 0 0 14px 0 !important;
    letter-spacing: -0.01em !important;
}

body.post-type-archive-harington_portfolio .kki-px-cta p,
body.kki-portfolio-context .kki-px-cta p {
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    font-size: 0.9375rem !important;
    line-height: 1.65 !important;
    color: rgba(247, 240, 223, 0.72) !important;
    margin: 0 !important;
    font-weight: 400 !important;
    max-width: 60ch !important;
}

body.post-type-archive-harington_portfolio .kki-px-button,
body.kki-portfolio-context .kki-px-button {
    font-family: "Poppins", "IBM Plex Sans Thai", Sarabun, system-ui, sans-serif !important;
    background: var(--color-primary) !important;
    color: var(--primitive-color-navy-950) !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 14px 32px !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    align-self: center !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

body.post-type-archive-harington_portfolio .kki-px-button:hover,
body.kki-portfolio-context .kki-px-button:hover {
    background: var(--color-foreground) !important;
    color: var(--primitive-color-navy-950) !important;
}


/* ── Portfolio archive hero · full-viewport like home ─────────────────────
 * The catch-all clamp in switcher.css uses :not(.kki-portfolio-hero) to
 * skip "special" page heroes, but the actual class on the archive page is
 * kki-portfolio-archive-hero (with -archive- in the middle). The negation
 * never matches, so the catch-all clamps the hero to 40-50vh instead of
 * the intended 92vh. Bump specificity with #hero#hero so we beat the
 * :not() chain (which contributes 5 classes) and force a 100vh box.
 */
body.post-type-archive-harington_portfolio #hero#hero.kki-portfolio-archive-hero,
body.kki-portfolio-context #hero#hero.kki-portfolio-archive-hero {
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    /* Zero stray padding from the v12.7.4 catch-all rule in switcher.css —
     * its `:not(.kki-portfolio-hero)` exclusion misses our archive class
     * `kki-portfolio-archive-hero` and applies `padding: 80px 32px 60px`,
     * inflating the box by 80px above its 100vh height. */
    padding: 0 !important;
    margin: 0 !important;
}

@supports (height: 100dvh) {
    body.post-type-archive-harington_portfolio #hero#hero.kki-portfolio-archive-hero,
    body.kki-portfolio-context #hero#hero.kki-portfolio-archive-hero {
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
    }
}

body.post-type-archive-harington_portfolio #hero#hero.kki-portfolio-archive-hero #hero-styles,
body.kki-portfolio-context #hero#hero.kki-portfolio-archive-hero #hero-styles {
    height: 100% !important;
    min-height: 100% !important;
}
