
/* ==========================================================
   GIGMD LAB STYLE PREVIEW + WORK PHOTOS
   Style based on gigmd_service_lab_ready_FIXED(1).zip.
   Images remain inside assets/img/ and are used by the site.
   PHP forms / SMTP / reCAPTCHA / ticket logic are untouched.
   ========================================================== */

:root {
    --lab-bg: #F5F8FF;
    --lab-surface: rgba(255,255,255,.88);
    --lab-white: #ffffff;
    --lab-ink: #07132F;
    --lab-muted: #65728B;
    --lab-line: #DDE7F5;
    --lab-blue: #0B63FF;
    --lab-blue2: #38A3FF;
    --lab-shadow: 0 28px 88px rgba(7,19,47,.12);
    --lab-shadow2: 0 18px 50px rgba(7,19,47,.08);
    --lab-font: Inter, Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

html,
body {
    font-family: var(--lab-font);
    color: var(--lab-ink);
    background:
        radial-gradient(circle at 82% 0%, rgba(56,163,255,.18), transparent 30%),
        radial-gradient(circle at 6% 20%, rgba(11,99,255,.10), transparent 24%),
        linear-gradient(180deg, #fff 0%, var(--lab-bg) 44%, #EEF5FF 100%) !important;
    line-height: 1.5;
}

.container {
    max-width: 1200px;
}

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(255,255,255,.82) !important;
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(221,231,245,.95) !important;
    box-shadow: 0 14px 44px rgba(7,19,47,.06);
}

.header-inner {
    padding-top: 14px;
    padding-bottom: 14px;
}

.logo-image {
    max-height: 58px;
    width: auto;
}

.main-nav {
    gap: 8px;
}

.nav-link {
    color: var(--lab-muted) !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    border-radius: 999px;
    padding: 10px 15px;
    font-weight: 850;
    transition: .18s ease;
}

.nav-link:hover {
    color: var(--lab-blue) !important;
    border-color: var(--lab-line) !important;
    background: #fff !important;
}

.nav-link--active {
    background: linear-gradient(135deg, var(--lab-blue), var(--lab-blue2)) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 12px 28px rgba(11,99,255,.24);
}

.lang-switch {
    background: #EAF2FF !important;
    border: 1px solid #D9E6F8 !important;
    padding: 6px;
    border-radius: 999px;
}

.lang-switch a {
    color: var(--lab-muted) !important;
    min-width: 44px;
    text-align: center;
    border-radius: 999px;
    padding: 8px 12px !important;
    font-weight: 900;
}

.lang-switch a.lang-active {
    background: linear-gradient(135deg, var(--lab-blue), var(--lab-blue2));
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(11,99,255,.20);
}

/* Hero */
.hero,
.page-header {
    background:
        radial-gradient(circle at 88% 6%, rgba(56,163,255,.20), transparent 30%),
        radial-gradient(circle at 6% 18%, rgba(11,99,255,.10), transparent 26%) !important;
    padding: 46px 0 70px !important;
}

.hero-inner {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 34px;
    align-items: center;
}

.hero-text,
.page-header .container,
.hero-card {
    background: rgba(255,255,255,.78) !important;
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,.9) !important;
    border-radius: 42px !important;
    box-shadow: var(--lab-shadow) !important;
}

.hero-text {
    padding: 42px !important;
}

.hero-text h1,
.page-header h1 {
    color: var(--lab-ink) !important;
    font-size: clamp(44px, 5.8vw, 76px) !important;
    line-height: .96 !important;
    letter-spacing: -.065em !important;
    margin-bottom: 22px !important;
    font-weight: 950;
}

.hero-text p,
.page-header p {
    color: var(--lab-muted) !important;
    font-size: clamp(18px, 1.8vw, 23px);
    line-height: 1.38;
    font-weight: 650;
}

.hero-panel {
    gap: 18px;
}

.hero-card {
    padding: 28px !important;
}

.hero-card h2 {
    color: var(--lab-ink) !important;
    font-size: 30px !important;
    line-height: 1.06;
    letter-spacing: -.04em;
}

.hero-services li,
.hero-card li {
    color: #17264C !important;
    font-weight: 800;
}

.hero-services li::before {
    color: var(--lab-blue) !important;
}

.hero-banner,
.notice {
    background: #F0F6FF !important;
    border: 1px solid var(--lab-line) !important;
    color: #1C3567 !important;
    border-radius: 24px !important;
    box-shadow: var(--lab-shadow2) !important;
}

.hero-banner-text {
    color: var(--lab-muted) !important;
}

.hero-highlights li {
    background: rgba(255,255,255,.86) !important;
    color: #17264C !important;
    border: 1px solid var(--lab-line) !important;
    font-weight: 850;
}

/* Buttons */
.btn {
    min-height: 56px;
    padding: 14px 22px;
    border-radius: 18px !important;
    font-size: 17px;
    font-weight: 950;
    transition: .18s ease;
}

.btn:hover {
    transform: translateY(-2px);
}

.btn-primary {
    background: linear-gradient(135deg, var(--lab-blue), var(--lab-blue2)) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 18px 42px rgba(11,99,255,.28) !important;
}

.btn-outline,
.btn-secondary {
    background: #fff !important;
    border-color: var(--lab-line) !important;
    color: var(--lab-ink) !important;
}

/* Sections */
.section {
    padding: 82px 0 !important;
    background: transparent !important;
}

.section-alt {
    background: rgba(255,255,255,.34) !important;
}

.section-title,
.section h2,
.form-card h2,
.contact-panel h2 {
    color: var(--lab-ink) !important;
    font-size: clamp(34px, 4.2vw, 58px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.06em !important;
    font-weight: 950;
}

.section-title {
    margin-bottom: 32px !important;
}

/* Cards */
.card,
.service-card,
.step,
.package-card,
.info-card,
.faq-card,
.timeline-item,
.contacts-card,
.form-card,
.contact-panel,
.map-card {
    background: rgba(255,255,255,.86) !important;
    border: 1px solid var(--lab-line) !important;
    border-radius: 34px !important;
    box-shadow: 0 22px 62px rgba(7,19,47,.08) !important;
    color: var(--lab-ink) !important;
}

.card,
.service-card,
.step,
.package-card,
.info-card,
.faq-card,
.timeline-item,
.contacts-card {
    padding: 26px !important;
}

.card h3,
.service-card h3,
.step h3,
.package-card h3,
.info-card h3,
.contacts-card h3 {
    color: var(--lab-ink) !important;
    font-weight: 950;
    letter-spacing: -.035em;
}

.card p,
.service-card p,
.step p,
.package-card p,
.info-card p,
.contacts-card p,
.form-card p,
.contact-panel p {
    color: var(--lab-muted) !important;
    font-weight: 650;
}

.step-number,
.num {
    background: linear-gradient(135deg, var(--lab-blue), var(--lab-blue2)) !important;
    color: #fff !important;
    box-shadow: 0 12px 28px rgba(11,99,255,.24);
}

/* Photo blocks */
.gig-work-card,
.work-photo-card,
.work-photo-main,
.work-photo-thumb,
.work-photo-inline,
.gig-work-inline {
    background: #fff !important;
    border: 1px solid var(--lab-line) !important;
    border-radius: 34px !important;
    box-shadow: 0 22px 62px rgba(7,19,47,.08) !important;
    overflow: hidden;
}

.gig-work-img,
.work-photo-card-img,
.work-photo-main,
.work-photo-thumb,
.work-photo-inline,
.gig-work-inline {
    overflow: hidden;
}

.gig-work-img img,
.work-photo-card-img img,
.work-photo-main img,
.work-photo-thumb img,
.work-photo-inline img,
.gig-work-inline img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Form styling only, no PHP logic changes */
input,
select,
textarea {
    width: 100%;
    border: 1px solid #D7E2F3 !important;
    border-radius: 16px !important;
    padding: 15px 16px !important;
    font: inherit;
    color: var(--lab-ink) !important;
    background: #F8FBFF !important;
    outline: none;
    transition: .16s;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--lab-blue) !important;
    box-shadow: 0 0 0 4px rgba(11,99,255,.12) !important;
    background: #fff !important;
}

label {
    color: #10214A !important;
    font-weight: 900;
}

/* Footer */
.site-footer,
.footer {
    background: transparent !important;
    color: var(--lab-muted) !important;
    border-top: 1px solid var(--lab-line) !important;
}

/* Mobile */
@media (max-width: 1040px) {
    .hero-inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .hero,
    .page-header,
    .section {
        padding: 54px 0 !important;
    }

    .hero-text,
    .hero-card,
    .card,
    .service-card,
    .step,
    .package-card,
    .info-card,
    .contacts-card,
    .form-card,
    .contact-panel {
        border-radius: 28px !important;
        padding: 22px !important;
    }

    .hero-text h1,
    .page-header h1 {
        font-size: 42px !important;
    }

    .section-title,
    .section h2,
    .form-card h2,
    .contact-panel h2 {
        font-size: 34px !important;
    }

    .btn {
        width: 100%;
    }
}
