/* ============================================================
   Innsbruck Jewelers — Cleaning & Inspection Page
   Scope: .ijw-cleaning
   Paste into: Punchmark Site Manager > Design > Theme Settings > Global CSS
   Do NOT paste into the page editor.
   ============================================================ */

/* --- Palette tokens --- */
:root {
    --ijw-navy:     #2C4A5A;
    --ijw-navy-dk:  #213944;
    --ijw-glacier:  #D7E2E6;
    --ijw-mist:     #F1F3F4;
    --ijw-pewter:   #8B9197;
    --ijw-white:    #FFFFFF;
    --ijw-text:     #262B33;
}

/* --- Base wrapper --- */
.ijw-cleaning {
    font-family: inherit;
    color: var(--ijw-text);
}

/* ============================================================
   HERO
   ============================================================ */
.ijw-cleaning__hero {
    background-color: var(--ijw-navy) !important;
    padding: 80px 40px !important;
    text-align: center !important;
}

.ijw-cleaning__eyebrow {
    font-size: 0.78rem !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--ijw-glacier) !important;
    margin-bottom: 16px !important;
    font-weight: 500 !important;
}

.ijw-cleaning__headline {
    font-size: clamp(2rem, 5vw, 3.2rem) !important;
    font-weight: 400 !important;
    color: var(--ijw-white) !important;
    margin-bottom: 20px !important;
    line-height: 1.15 !important;
}

.ijw-cleaning__subhead {
    font-size: 1.05rem !important;
    color: var(--ijw-glacier) !important;
    max-width: 620px !important;
    margin: 0 auto !important;
    line-height: 1.7 !important;
}

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.ijw-cleaning__process {
    background-color: var(--ijw-mist) !important;
    padding: 72px 20px !important;
}

.ijw-cleaning__section-title {
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
    font-weight: 400 !important;
    text-align: center !important;
    color: var(--ijw-navy) !important;
    margin-bottom: 48px !important;
}

.ijw-cleaning__step {
    background-color: var(--ijw-white) !important;
    border: 1px solid var(--ijw-glacier) !important;
    border-top: 3px solid var(--ijw-navy) !important;
    padding: 36px 28px !important;
    height: 100% !important;
}

.ijw-cleaning__step-number {
    font-size: 0.72rem !important;
    letter-spacing: 0.2em !important;
    font-weight: 600 !important;
    color: var(--ijw-pewter) !important;
    margin-bottom: 12px !important;
    text-transform: uppercase !important;
}

.ijw-cleaning__step-title {
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: var(--ijw-navy) !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
}

.ijw-cleaning__step-body {
    font-size: 0.95rem !important;
    color: var(--ijw-text) !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

/* ============================================================
   WALK-IN SECTION
   ============================================================ */
.ijw-cleaning__walkin {
    background-color: var(--ijw-white) !important;
    padding: 72px 20px !important;
}

.ijw-cleaning__walkin-title {
    font-size: clamp(1.4rem, 3vw, 2rem) !important;
    font-weight: 400 !important;
    color: var(--ijw-navy) !important;
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
}

.ijw-cleaning__walkin-body {
    font-size: 0.98rem !important;
    color: var(--ijw-text) !important;
    line-height: 1.75 !important;
    margin-bottom: 16px !important;
}

.ijw-cleaning__hours {
    margin-top: 32px !important;
    border-top: 1px solid var(--ijw-glacier) !important;
    padding-top: 24px !important;
}

.ijw-cleaning__hours-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--ijw-glacier) !important;
    font-size: 0.93rem !important;
}

.ijw-cleaning__hours-day {
    color: var(--ijw-text) !important;
    font-weight: 500 !important;
}

.ijw-cleaning__hours-time {
    color: var(--ijw-navy) !important;
    font-weight: 400 !important;
}

.ijw-cleaning__hours-row--closed .ijw-cleaning__hours-time {
    color: var(--ijw-pewter) !important;
}

.ijw-cleaning__img {
    width: 100% !important;
    display: block !important;
    object-fit: cover !important;
}

/* ============================================================
   PRODUCTS
   ============================================================ */
.ijw-cleaning__products {
    background-color: var(--ijw-mist) !important;
    padding: 72px 20px !important;
}

.ijw-cleaning__products-intro {
    text-align: center !important;
    font-size: 1rem !important;
    color: var(--ijw-text) !important;
    margin-bottom: 40px !important;
    max-width: 540px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.ijw-cleaning__product-card {
    background-color: var(--ijw-white) !important;
    border: 1px solid var(--ijw-glacier) !important;
    padding: 40px 32px !important;
    text-align: center !important;
    height: 100% !important;
}

.ijw-cleaning__product-icon {
    color: var(--ijw-navy) !important;
    margin-bottom: 20px !important;
}

.ijw-cleaning__product-name {
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    color: var(--ijw-navy) !important;
    margin-bottom: 10px !important;
}

.ijw-cleaning__product-desc {
    font-size: 0.93rem !important;
    color: var(--ijw-text) !important;
    line-height: 1.7 !important;
    margin-bottom: 16px !important;
}

.ijw-cleaning__product-price {
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    color: var(--ijw-navy) !important;
    margin: 0 !important;
}

/* ============================================================
   CTA BAND
   ============================================================ */
.ijw-cleaning__cta {
    background-color: var(--ijw-navy) !important;
    padding: 80px 20px !important;
}

.ijw-cleaning__cta-inner {
    text-align: center !important;
    max-width: 680px !important;
    margin: 0 auto !important;
}

.ijw-cleaning__cta-title {
    font-size: clamp(1.6rem, 3.5vw, 2.4rem) !important;
    font-weight: 400 !important;
    color: var(--ijw-white) !important;
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
}

.ijw-cleaning__cta-body {
    font-size: 1rem !important;
    color: var(--ijw-glacier) !important;
    line-height: 1.75 !important;
    margin-bottom: 36px !important;
}

.ijw-cleaning__cta-buttons {
    display: flex !important;
    gap: 16px !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    margin-bottom: 28px !important;
}

.ijw-cleaning__btn {
    display: inline-block !important;
    padding: 13px 28px !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    text-decoration: none !important;
    transition: background-color 0.2s, color 0.2s !important;
}

.ijw-cleaning__btn--primary {
    background-color: var(--ijw-white) !important;
    color: var(--ijw-navy) !important;
}

.ijw-cleaning__btn--primary:hover {
    background-color: var(--ijw-glacier) !important;
    color: var(--ijw-navy) !important;
}

.ijw-cleaning__btn--secondary {
    background-color: transparent !important;
    color: var(--ijw-white) !important;
    border: 1px solid var(--ijw-glacier) !important;
}

.ijw-cleaning__btn--secondary:hover {
    background-color: var(--ijw-navy-dk) !important;
    color: var(--ijw-white) !important;
}

.ijw-cleaning__cta-address {
    font-size: 0.83rem !important;
    color: var(--ijw-pewter) !important;
    margin: 0 !important;
    letter-spacing: 0.03em !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 767px) {
    .ijw-cleaning__hero {
        padding: 56px 24px !important;
    }

    .ijw-cleaning__process,
    .ijw-cleaning__walkin,
    .ijw-cleaning__products,
    .ijw-cleaning__cta {
        padding: 56px 16px !important;
    }

    .ijw-cleaning__step {
        margin-bottom: 16px !important;
    }

    .ijw-cleaning__cta-buttons {
        flex-direction: column !important;
        align-items: center !important;
    }

    .ijw-cleaning__btn {
        width: 100% !important;
        text-align: center !important;
    }
}
