/*
 * PCN Homepage & Header Suppression Styles
 * File: pcn-homepage.css
 * Enqueued from functions.php (added below)
 *
 * Covers:
 *  1. Global header removal (all pages)
 *  2. Hero section
 *  3. Search bar
 *  4. Trending pills
 *  5. Network badges
 *  6. Category grid
 *  7. How it works steps
 *  8. Section layouts
 *  9. Responsive
 */

/* ============================================================
   1. GLOBAL HEADER REMOVAL
   Hides Astra's header across every page.
   Navigation is handled entirely by the footer.
   ============================================================ */

.site-header,
#masthead,
.ast-primary-header-bar,
.ast-above-header-wrap,
.ast-below-header-wrap,
.main-header-bar,
.ast-mobile-header-wrap {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Remove the top padding Astra adds to offset the header */
.ast-plain-container,
.ast-container,
#content,
.site,
body {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Ensure content starts at the very top */
.pcn-homepage #content,
.pcn-homepage .site-content {
    padding-top: 0 !important;
}

/* ============================================================
   2. HERO SECTION
   ============================================================ */

.pcn-hp-hero {
    position: relative;
    background: var(--pcn-ink, #0C0F14);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 24px 0;
    overflow: hidden;
}

/* Animated background */
.pcn-hp-hero__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.pcn-hp-hero__grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(245,158,11,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(245,158,11,0.05) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
}

.pcn-hp-hero__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    animation: pcnOrbFloat 8s ease-in-out infinite alternate;
}

.pcn-hp-hero__orb--1 {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(245,158,11,0.2) 0%, transparent 70%);
    top: -15%;
    left: 50%;
    transform: translateX(-50%);
}

.pcn-hp-hero__orb--2 {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(59,130,246,0.12) 0%, transparent 70%);
    bottom: 20%;
    right: 10%;
    animation-delay: -4s;
}

@keyframes pcnOrbFloat {
    from { transform: translateX(-50%) translateY(0) scale(1); }
    to   { transform: translateX(-50%) translateY(-20px) scale(1.05); }
}

.pcn-hp-hero__orb--2 {
    animation: pcnOrbFloat2 10s ease-in-out infinite alternate;
}

@keyframes pcnOrbFloat2 {
    from { transform: translateY(0) scale(1); }
    to   { transform: translateY(-15px) scale(1.08); }
}

/* Inner content */
.pcn-hp-hero__inner {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 740px;
    width: 100%;
}

/* Logo / wordmark */
.pcn-hp-logo {
    display: inline-block;
    font-family: var(--font-display, 'Playfair Display', Georgia, serif);
    font-size: 1.4rem;
    font-weight: 900;
    color: #fff !important;
    text-decoration: none !important;
    letter-spacing: -0.5px;
    margin-bottom: 40px;
    animation: pcnFadeUp 0.6s ease both;
}

.pcn-hp-logo span { color: var(--pcn-amber, #F59E0B); }

.pcn-hp-hero__eyebrow {
    display: inline-block;
    font-family: var(--font-body, 'Outfit', sans-serif);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--pcn-amber, #F59E0B);
    border: 1px solid rgba(245,158,11,0.35);
    padding: 5px 16px;
    border-radius: 100px;
    margin-bottom: 20px;
    animation: pcnFadeUp 0.6s 0.05s ease both;
}

.pcn-hp-hero__title {
    font-family: var(--font-display, 'Playfair Display', Georgia, serif);
    font-size: clamp(2.6rem, 6vw, 4.4rem);
    font-weight: 900;
    color: #fff;
    letter-spacing: -2px;
    line-height: 1.1;
    margin-bottom: 16px;
    animation: pcnFadeUp 0.6s 0.1s ease both;
}

.pcn-hp-hero__title em {
    font-style: normal;
    color: var(--pcn-amber, #F59E0B);
}

.pcn-hp-hero__sub {
    font-size: 1.05rem;
    color: #9CA3AF;
    max-width: 460px;
    margin: 0 auto 36px;
    line-height: 1.65;
    animation: pcnFadeUp 0.6s 0.15s ease both;
}

/* ============================================================
   3. SEARCH BAR
   ============================================================ */

.pcn-hp-search {
    margin-bottom: 20px;
    animation: pcnFadeUp 0.6s 0.2s ease both;
}

.pcn-hp-search__inner {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 100px;
    box-shadow:
        0 0 0 3px rgba(245,158,11,0.25),
        0 20px 60px rgba(0,0,0,0.4);
    overflow: hidden;
    transition: box-shadow 0.25s ease;
}

.pcn-hp-search__inner:focus-within {
    box-shadow:
        0 0 0 4px rgba(245,158,11,0.5),
        0 20px 60px rgba(0,0,0,0.5);
}

.pcn-hp-search__icon {
    padding: 0 8px 0 20px;
    color: #9CA3AF;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.pcn-hp-search__inner input[type="search"] {
    flex: 1;
    padding: 18px 12px;
    border: none;
    background: transparent;
    font-family: var(--font-body, 'Outfit', sans-serif);
    font-size: 1rem;
    color: var(--pcn-ink, #0C0F14);
    outline: none;
    min-width: 0;
}

.pcn-hp-search__inner input::placeholder { color: #9CA3AF; }

/* Remove browser default search cancel button */
.pcn-hp-search__inner input[type="search"]::-webkit-search-cancel-button { display: none; }

.pcn-hp-search__btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--pcn-amber, #F59E0B);
    color: var(--pcn-ink, #0C0F14);
    border: none;
    padding: 18px 28px;
    font-family: var(--font-body, 'Outfit', sans-serif);
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.2s ease;
    white-space: nowrap;
    flex-shrink: 0;
}

.pcn-hp-search__btn:hover {
    background: var(--pcn-amber-dk, #D97706);
    color: #fff;
}

.pcn-hp-search__btn svg { flex-shrink: 0; }

.pcn-hp-search__notice {
    margin-top: 10px;
    font-size: 0.78rem;
    color: #6B7280;
    text-align: center;
}

/* ============================================================
   4. TRENDING PILLS
   ============================================================ */

.pcn-hp-trending {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 48px;
    animation: pcnFadeUp 0.6s 0.25s ease both;
}

.pcn-hp-trending__label {
    font-size: 0.78rem;
    font-weight: 600;
    color: #4B5563;
    flex-shrink: 0;
}

.pcn-hp-pill {
    display: inline-block;
    padding: 5px 14px;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 100px;
    font-size: 0.78rem;
    font-weight: 500;
    color: #9CA3AF !important;
    text-decoration: none !important;
    background: rgba(255,255,255,0.05);
    transition: all 0.2s ease;
}

.pcn-hp-pill:hover {
    background: var(--pcn-amber, #F59E0B);
    color: var(--pcn-ink, #0C0F14) !important;
    border-color: var(--pcn-amber, #F59E0B);
}

/* ============================================================
   5. NETWORK TRUST STRIP
   ============================================================ */

.pcn-hp-networks {
    position: relative;
    z-index: 2;
    width: 100%;
    background: rgba(255,255,255,0.03);
    border-top: 1px solid rgba(255,255,255,0.06);
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: auto;
}

.pcn-hp-networks__label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #4B5563;
}

.pcn-hp-network-badge {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 100px;
    border: 1px solid;
}

.pcn-hp-network-badge--amazon   { color: #FF9900; border-color: rgba(255,153,0,0.3);  background: rgba(255,153,0,0.08); }
.pcn-hp-network-badge--awin     { color: #60A5FA; border-color: rgba(96,165,250,0.3); background: rgba(96,165,250,0.08); }
.pcn-hp-network-badge--cj       { color: #34D399; border-color: rgba(52,211,153,0.3); background: rgba(52,211,153,0.08); }
.pcn-hp-network-badge--rakuten  { color: #F87171; border-color: rgba(248,113,113,0.3);background: rgba(248,113,113,0.08);}
.pcn-hp-network-badge--skimlinks{ color: #A78BFA; border-color: rgba(167,139,250,0.3);background: rgba(167,139,250,0.08);}

/* ============================================================
   6. SECTION LAYOUTS
   ============================================================ */

.pcn-hp-section {
    padding: 80px 24px;
    background: #fff;
}

.pcn-hp-section--fog  { background: var(--pcn-fog, #F6F7F9); }
.pcn-hp-section--dark { background: var(--pcn-ink, #0C0F14); }

.pcn-hp-container {
    max-width: 1140px;
    margin: 0 auto;
}

.pcn-hp-container--narrow {
    max-width: 760px;
}

.pcn-hp-section__title {
    font-family: var(--font-display, 'Playfair Display', Georgia, serif);
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    font-weight: 900;
    color: var(--pcn-ink, #0C0F14);
    letter-spacing: -0.5px;
    margin-bottom: 48px;
    line-height: 1.15;
}

.pcn-hp-section--dark .pcn-hp-section__title { color: #fff; }

/* ============================================================
   7. CATEGORY GRID
   ============================================================ */

.pcn-hp-cat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
}

.pcn-hp-cat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 24px 12px 20px;
    background: #fff;
    border: 1px solid var(--pcn-silver, #E5E7EB);
    border-radius: 16px;
    text-decoration: none !important;
    transition: all 0.22s cubic-bezier(0.4,0,0.2,1);
    position: relative;
    overflow: hidden;
}

.pcn-hp-cat-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: var(--pcn-amber, #F59E0B);
    transform: scaleX(0);
    transition: transform 0.22s ease;
}

.pcn-hp-cat-card:hover {
    border-color: var(--pcn-amber, #F59E0B);
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(0,0,0,0.1);
}

.pcn-hp-cat-card:hover::after { transform: scaleX(1); }

.pcn-hp-cat-card__icon {
    font-size: 2rem;
    line-height: 1;
    display: block;
}

.pcn-hp-cat-card__name {
    font-family: var(--font-body, 'Outfit', sans-serif);
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--pcn-ink, #0C0F14);
    text-align: center;
}

/* ============================================================
   8. HOW IT WORKS STEPS
   ============================================================ */

.pcn-hp-steps {
    display: flex;
    align-items: flex-start;
    gap: 0;
}

.pcn-hp-step {
    flex: 1;
    text-align: center;
    padding: 0 24px;
}

.pcn-hp-step__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--pcn-amber, #F59E0B);
    color: var(--pcn-ink, #0C0F14);
    font-family: var(--font-display, 'Playfair Display', Georgia, serif);
    font-size: 1.1rem;
    font-weight: 900;
    margin: 0 auto 16px;
}

.pcn-hp-step h3 {
    font-family: var(--font-body, 'Outfit', sans-serif);
    font-weight: 700;
    font-size: 1rem;
    color: var(--pcn-ink, #0C0F14);
    margin-bottom: 8px;
}

.pcn-hp-step p {
    font-size: 0.88rem;
    color: var(--pcn-muted, #6B7280);
    line-height: 1.6;
    margin: 0;
}

.pcn-hp-step__connector {
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, var(--pcn-amber, #F59E0B), rgba(245,158,11,0.2));
    margin-top: 26px;
    flex-shrink: 0;
}

/* ============================================================
   9. ANIMATION
   ============================================================ */

@keyframes pcnFadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Staggered category card entrance */
.pcn-hp-cat-card:nth-child(1)  { animation: pcnFadeUp 0.4s 0.00s ease both; }
.pcn-hp-cat-card:nth-child(2)  { animation: pcnFadeUp 0.4s 0.04s ease both; }
.pcn-hp-cat-card:nth-child(3)  { animation: pcnFadeUp 0.4s 0.08s ease both; }
.pcn-hp-cat-card:nth-child(4)  { animation: pcnFadeUp 0.4s 0.12s ease both; }
.pcn-hp-cat-card:nth-child(5)  { animation: pcnFadeUp 0.4s 0.16s ease both; }
.pcn-hp-cat-card:nth-child(6)  { animation: pcnFadeUp 0.4s 0.20s ease both; }
.pcn-hp-cat-card:nth-child(7)  { animation: pcnFadeUp 0.4s 0.24s ease both; }
.pcn-hp-cat-card:nth-child(8)  { animation: pcnFadeUp 0.4s 0.28s ease both; }
.pcn-hp-cat-card:nth-child(9)  { animation: pcnFadeUp 0.4s 0.32s ease both; }
.pcn-hp-cat-card:nth-child(10) { animation: pcnFadeUp 0.4s 0.36s ease both; }
.pcn-hp-cat-card:nth-child(11) { animation: pcnFadeUp 0.4s 0.40s ease both; }
.pcn-hp-cat-card:nth-child(12) { animation: pcnFadeUp 0.4s 0.44s ease both; }

/* ============================================================
   10. RESPONSIVE
   ============================================================ */

@media (max-width: 768px) {
    .pcn-hp-hero { min-height: 100svh; padding: 40px 16px 0; }
    .pcn-hp-hero__title { letter-spacing: -1px; }
    .pcn-hp-search__btn { padding: 16px 18px; font-size: 0.85rem; }
    .pcn-hp-search__btn svg { display: none; }
    .pcn-hp-steps { flex-direction: column; align-items: center; gap: 32px; }
    .pcn-hp-step { max-width: 320px; }
    .pcn-hp-step__connector { width: 2px; height: 32px; background: linear-gradient(180deg, var(--pcn-amber, #F59E0B), rgba(245,158,11,0.2)); }
    .pcn-hp-cat-grid { grid-template-columns: repeat(3, 1fr); }
    .pcn-hp-networks { gap: 6px; }
}

@media (max-width: 440px) {
    .pcn-hp-search__inner { border-radius: 14px; }
    .pcn-hp-search__btn { border-radius: 0 10px 10px 0; }
    .pcn-hp-cat-grid { grid-template-columns: repeat(2, 1fr); }
    .pcn-hp-logo { font-size: 1.1rem; }
}
