/**
 * Custom Headless E-Commerce — dark purple/black microsite
 */
.pf-custom {
    --pf-brand: #8b5cf6;
    --pf-accent: #a78bfa;
    --pf-dark: #0f0a1a;
    --pf-surface: #1a1229;
    --pf-glow: rgba(139, 92, 246, 0.35);
}

.pf-custom .pf-hero {
    background: radial-gradient(ellipse at 30% 20%, rgba(139,92,246,0.2) 0%, transparent 50%), var(--pf-dark);
    color: #fff; padding: 50px 0 70px; position: relative;
}
.pf-custom .pf-breadcrumb-inline { font-size: 0.85rem; margin-bottom: 16px; opacity: 0.7; }
.pf-custom .pf-breadcrumb-inline a { color: var(--pf-accent); }
.pf-custom .pf-headless-tag { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--pf-brand); color: var(--pf-accent); border-radius: 6px; padding: 6px 14px; font-size: 0.85rem; font-weight: 600; margin-bottom: 16px; }
.pf-custom .pf-hero h1 { font-size: clamp(1.85rem, 4vw, 2.65rem); font-weight: 700; color: #fff; line-height: 1.25; }
.pf-custom .pf-hero h1 span { display: block; background: linear-gradient(90deg, var(--pf-brand), var(--pf-accent)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; margin-top: 6px; }
.pf-custom .pf-hero-lead { color: #b8a8d4; max-width: 560px; }
.pf-custom .pf-btn-glow { background: transparent !important; border: 2px solid var(--pf-brand) !important; box-shadow: 0 0 20px var(--pf-glow); color: #fff !important; }
.pf-custom .theme-btn-1 { background: var(--pf-brand); border-color: var(--pf-brand); }
.pf-custom .pf-hero .section-heading,
.pf-custom .pf-headless .section-heading,
.pf-custom .pf-react-showcase .section-heading,
.pf-custom .pf-api-layer .section-heading,
.pf-custom .pf-nolock .section-heading,
.pf-custom .pf-omni .section-heading {
    color: #fff;
}
.pf-custom .pf-headless .text-sub,
.pf-custom .pf-react-showcase .text-sub,
.pf-custom .pf-api-layer .text-sub,
.pf-custom .pf-nolock .text-sub,
.pf-custom .pf-omni .text-sub {
    color: #b8a8d4;
}
.pf-custom .pf-constrained { max-width: 640px; }
.pf-custom .glass-form { background: rgba(255,255,255,0.06); backdrop-filter: blur(12px); border: 1px solid rgba(139,92,246,0.3); border-radius: 12px; }
.pf-custom .glass-form .form-title { color: #fff; }

.pf-custom .pf-headless { background: var(--pf-surface); color: #fff; }
.pf-custom .pf-arch-layers { max-width: 640px; margin: 0 auto; display: flex; flex-direction: column; gap: 0; }
.pf-custom .pf-layer { border-radius: 12px; padding: 20px 24px; border: 1px solid rgba(139,92,246,0.3); }
.pf-custom .pf-layer.frontend { background: linear-gradient(90deg, #2d1f4e, #1a1229); }
.pf-custom .pf-layer.api { background: linear-gradient(90deg, var(--pf-brand), #6d28d9); }
.pf-custom .pf-layer.backend { background: linear-gradient(90deg, #1a1229, #0f0a1a); }
.pf-custom .pf-layer-label { display: block; font-weight: 700; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 2px; opacity: 0.7; margin-bottom: 10px; }
.pf-custom .pf-layer-items { display: flex; flex-wrap: wrap; gap: 10px; }
.pf-custom .pf-layer-items span { background: rgba(255,255,255,0.1); border-radius: 8px; padding: 8px 14px; font-size: 0.85rem; font-weight: 600; }
.pf-custom .pf-layer-connector { text-align: center; padding: 10px; color: var(--pf-accent); font-size: 0.85rem; }

.pf-custom .pf-react-showcase { background: var(--pf-dark); color: #fff; }
.pf-custom .pf-eyebrow { color: var(--pf-accent); font-weight: 700; text-transform: uppercase; letter-spacing: 2px; font-size: 0.75rem; }
.pf-custom .pf-storefront-mock { background: #fff; border-radius: 14px; overflow: hidden; color: #222; box-shadow: 0 24px 60px rgba(0,0,0,0.4); }
.pf-custom .pf-mock-nav { display: flex; justify-content: space-between; padding: 14px 18px; background: #f8f8f8; font-weight: 600; font-size: 0.85rem; }
.pf-custom .pf-mock-hero-block { padding: 40px 20px; background: linear-gradient(135deg, #ede9fe, #fff); text-align: center; }
.pf-custom .pf-mock-hero-block h4 { color: var(--pf-brand); margin-bottom: 4px; }
.pf-custom .pf-mock-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 12px; }
.pf-custom .pf-mock-products div { background: #f0f0f0; height: 80px; border-radius: 8px; }
.pf-custom .pf-check-list { list-style: none; padding: 0; margin-top: 16px; }
.pf-custom .pf-check-list li { display: flex; gap: 10px; margin-bottom: 10px; color: #b8a8d4; }
.pf-custom .pf-check-list i { color: var(--pf-brand); }

.pf-custom .pf-api-layer { background: var(--pf-surface); color: #fff; }
.pf-custom .pf-api-card { display: flex; gap: 16px; background: var(--pf-dark); border: 1px solid rgba(139,92,246,0.25); border-radius: 12px; padding: 24px; height: 100%; }
.pf-custom .pf-api-card > i { font-size: 1.5rem; color: var(--pf-brand); flex-shrink: 0; margin-top: 4px; }
.pf-custom .pf-api-card h5 { color: #fff; }

.pf-custom .pf-nolock { background: var(--pf-dark); color: #fff; }
.pf-custom .pf-lock-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 991px) { .pf-custom .pf-lock-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .pf-custom .pf-lock-grid { grid-template-columns: 1fr; } }
.pf-custom .pf-lock-card { text-align: center; padding: 28px 20px; background: var(--pf-surface); border-radius: 12px; border-top: 3px solid var(--pf-brand); }
.pf-custom .pf-lock-card i { font-size: 2rem; color: var(--pf-brand); margin-bottom: 14px; }
.pf-custom .pf-lock-card h5 { color: #fff; }

.pf-custom .pf-omni { background: linear-gradient(180deg, var(--pf-surface), var(--pf-dark)); color: #fff; }
.pf-custom .pf-omni-hub { position: relative; height: 340px; }
.pf-custom .pf-omni-core {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 120px; height: 120px; background: var(--pf-brand); border-radius: 50%;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    font-weight: 700; font-size: 0.8rem; text-align: center; box-shadow: 0 0 30px var(--pf-glow); z-index: 2;
}
.pf-custom .pf-omni-core i { font-size: 1.5rem; margin-bottom: 4px; }
.pf-custom .pf-omni-spoke {
    position: absolute; background: var(--pf-surface); border: 1px solid rgba(139,92,246,0.4);
    border-radius: 10px; padding: 10px 14px; font-size: 0.8rem; font-weight: 600; white-space: nowrap;
}
.pf-custom .pf-omni-spoke:nth-child(2) { top: 5%; left: 50%; transform: translateX(-50%); }
.pf-custom .pf-omni-spoke:nth-child(3) { top: 25%; right: 5%; }
.pf-custom .pf-omni-spoke:nth-child(4) { bottom: 25%; right: 5%; }
.pf-custom .pf-omni-spoke:nth-child(5) { bottom: 5%; left: 50%; transform: translateX(-50%); }
.pf-custom .pf-omni-spoke:nth-child(6) { bottom: 25%; left: 5%; }
.pf-custom .pf-omni-spoke:nth-child(7) { top: 25%; left: 5%; }
