/* =============================================================
   FILE: assets/css/services.css
   PURPOSE: Styles for services.php alternating service rows.
   ============================================================= */

/* ─────────────────────────────────────────────────────────────
   SERVICES LIST SECTION
   ───────────────────────────────────────────────────────────── */
.services-list { padding-block: var(--section-gap); }

/* Each service: two-column grid */
.service-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    padding-block: 80px;
    border-bottom: 1px solid var(--border-faint);
    position: relative;
}

.service-row:last-child { border-bottom: none; }

/* Flipped layout: swap column order visually */
.service-row--flip .service-row-img  { order: 2; }
.service-row--flip .service-row-text { order: 1; }

/* ── Image column ── */
.service-row-img {
    position: relative;
    border-radius: var(--radius-lg);
    overflow: hidden;
    aspect-ratio: 4/3;
    background: var(--bg-surface);
    border: 1px solid var(--border-faint);
}

/* The actual service image */
.service-row-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: var(--radius-lg);
    transition: transform var(--duration-slow) var(--ease);
}

.service-row:hover .service-row-photo { transform: scale(1.04); }

/* Placeholder shown when image is missing */
.service-row-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--accent, #00F5D4) 15%, transparent),
        var(--bg-elevated)
    );
    display: none; /* hidden by default – shown via JS onerror or --show class */
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-lg);
}

.service-row-placeholder--show { display: flex; }

.service-placeholder-emoji { font-size: 5rem; opacity: 0.6; }

/* Colour glow blob behind the image */
.service-row-glow {
    position: absolute;
    bottom: -40px; left: 50%;
    transform: translateX(-50%);
    width: 70%; height: 80px;
    filter: blur(50px);
    opacity: 0.12;
    pointer-events: none;
    border-radius: 50%;
}

/* ── Text column ── */


/* Large faint number in the background */
.service-row-num {
    font-family: var(--font-display);
    font-size: 5rem;
    font-weight: 900;
    color: rgba(255,255,255,0.03);
    line-height: 1;
    margin-bottom: -20px;
    user-select: none;
}

/* Pill badge with emoji + service name */
.service-row-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: color-mix(in srgb, var(--accent, #00F5D4) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent, #00F5D4) 30%, transparent);
    color: var(--accent, #00F5D4);
    padding: 6px 16px;
    border-radius: var(--radius-pill);
    font-size: 0.78rem;
    font-weight: 600;
    margin-bottom: 20px;
}

/* Fallback for browsers not supporting color-mix */
@supports not (color: color-mix(in srgb, red 50%, blue)) {
    .service-row-badge    { background: rgba(0,245,212,0.1); border-color: rgba(0,245,212,0.3); }
    .service-row-placeholder { background: linear-gradient(135deg, rgba(0,245,212,0.1), var(--bg-elevated)); }
}

.service-row-title {
    font-family: var(--font-display);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 20px;
    letter-spacing: -0.02em;
}

.service-row-desc {
    font-size: 0.95rem;
    color: var(--text-muted);
    line-height: 1.8;
    margin-bottom: 28px;
}

/* What's included bullet list */
.service-includes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 20px;
    margin-bottom: 36px;
}

.service-include-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: var(--text-muted);
}

.include-check {
    font-size: 0.9rem;
    font-weight: 700;
    flex-shrink: 0;
}


/* ─────────────────────────────────────────────────────────────
   RESPONSIVE
   ───────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .service-row           { grid-template-columns: 1fr; gap: 40px; padding-block: 56px; }
    .service-row--flip .service-row-img  { order: 1; }
    .service-row--flip .service-row-text { order: 2; }
    .service-row-img       { max-width: 500px; margin-inline: auto; width: 100%; }
    .service-row-num       { font-size: 3.5rem; }
}

@media (max-width: 768px) {
    .service-includes      { grid-template-columns: 1fr; }
    .service-row-title     { font-size: 1.5rem; }
    .service-row-num       { font-size: 2.5rem; }
    .service-row           { padding-block: 40px; }
}
