/* ============================================================
   WORDPRESS DEVELOPMENT PAGE — page-specific styles
   Load AFTER assetsnew/css/sim-shared.css — extends it, doesn't
   replace it. Stays on the site's default blue accent; this file
   only adds the layout-specific components this page needs that
   don't exist in the shared sheet: stack pills, a process timeline,
   zig-zag feature rows, and placeholder portfolio tiles.
   ============================================================ */

/* ===== STACK PILL — small rounded chip used in the grouped stack cloud ===== */
.stack-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 9999px;
    padding: 0.5rem 1rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #334155;
    transition: transform .2s cubic-bezier(.16,1,.3,1), border-color .2s, box-shadow .2s;
}
.stack-pill:hover {
    transform: translateY(-2px);
    border-color: #93c5fd;
    box-shadow: 0 8px 20px -10px rgba(37,99,235,0.35);
}
.stack-pill-dot { width: 0.5rem; height: 0.5rem; border-radius: 9999px; background: var(--pill-accent, #2563eb); flex-shrink: 0; }
.stack-pill-logo { width: 1.1rem; height: 1.1rem; object-fit: contain; flex-shrink: 0; }

/* ===== PROCESS TIMELINE — horizontal numbered steps with a connecting line ===== */
.process-track {
    position: relative;
}
.process-track::before {
    content: "";
    position: absolute;
    top: 1.5rem;
    left: 0;
    right: 0;
    height: 2px;
    background: repeating-linear-gradient(to right, #bfdbfe 0, #bfdbfe 8px, transparent 8px, transparent 16px);
    z-index: 0;
}
@media (max-width: 767px) {
    .process-track::before { display: none; }
}
.process-step-num {
    position: relative;
    z-index: 1;
    width: 3rem;
    height: 3rem;
    border-radius: 9999px;
    background: #2563eb;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.05rem;
    box-shadow: 0 8px 18px -6px rgba(37,99,235,0.45);
    margin: 0 auto 1rem;
}

/* ===== PORTFOLIO TILE — click to open the lightbox =====
   Hover borrows the blue-glow lift language from .card:hover in
   sim-shared.css, plus a thumbnail zoom and a "View Project" chip
   revealed via pseudo-elements (no extra markup needed per tile). */
.portfolio-tile {
    border-radius: 1.25rem;
    overflow: hidden;
    background: #fff;
    border: 1px solid #f1f5f9;
    transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s, border-color .3s;
}
.portfolio-tile:hover {
    transform: translateY(-6px);
    border-color: #bfdbfe;
    box-shadow: 0 24px 44px -18px rgba(37,99,235,0.3);
}
.portfolio-tile-media {
    position: relative;
    aspect-ratio: 16 / 10;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: linear-gradient(135deg, var(--pt-a, #eff6ff), var(--pt-b, #e0e7ff));
}
.portfolio-tile-media i { width: 2.5rem; height: 2.5rem; color: var(--pt-icon, #2563eb); }
.portfolio-tile-media img { transition: transform .5s cubic-bezier(.16,1,.3,1); }
.portfolio-tile:hover .portfolio-tile-media img { transform: scale(1.08); }
.portfolio-tile-media::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(15,23,42,0.55) 0%, rgba(15,23,42,0) 55%);
    opacity: 0;
    transition: opacity .3s;
}
.portfolio-tile-media::after {
    content: "View Project →";
    position: absolute;
    left: 50%;
    bottom: 1rem;
    transform: translate(-50%, 8px);
    background: rgba(255,255,255,0.95);
    color: #1d4ed8;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.45rem 0.9rem;
    border-radius: 9999px;
    box-shadow: 0 8px 20px -6px rgba(0,0,0,0.35);
    opacity: 0;
    transition: opacity .3s, transform .3s;
    white-space: nowrap;
}
.portfolio-tile:hover .portfolio-tile-media::before,
.portfolio-tile:hover .portfolio-tile-media::after {
    opacity: 1;
}
.portfolio-tile:hover .portfolio-tile-media::after {
    transform: translate(-50%, 0);
}
