.page-header {

    margin-top: 100px;
}

.page-breadcrumb {

    padding: 0;
}

.routine-kbeauty {
    ol.routine-step-list {
        counter-reset: step-counter;
        list-style: none;
        padding-left: 0;
        max-width: 800px;
        margin: 0 auto;

        li {
            position: relative;
            padding-left: 2.2rem;
            font-size: 1rem;
            margin-bottom: 1.5rem;
            line-height: 1.6;

            &::before {
                content: counter(step-counter) ".";
                counter-increment: step-counter;
                position: absolute;
                left: 0;
                top: 0;
                font-weight: bold;
                color: #f08c00;
            }

            strong {
                font-weight: bold;
                display: inline-block;
                margin-bottom: 0.25rem;
            }
        }
    }

    h2 {
        font-size: 1.5rem;
        font-weight: bold;
        margin-top: 3rem;
    }

    p {
        max-width: 700px;
        margin: 0 auto;
        font-size: 0.9rem;
        color: #555;
    }

    @media (max-width: 768px) {
        ol.routine-step-list {
            padding-left: 1rem;
        }
    }
}

.routine-footer {
    border-top: 1px solid #ddd;
    padding-top: 2rem;
    padding-bottom: 2rem;
    font-size: 0.95rem;

    .badge {
        font-size: 0.85rem;
        padding: 0.4rem 0.7rem;
        border-radius: 30px;
    }

    a {
        transition: color 0.2s ease;

        &:hover {
            text-decoration: underline;
        }
    }

    .footer-nav-link {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 0.4rem 0.8rem;
        font-weight: 600;
        border-radius: 5px;
        text-decoration: none;
        color: #333;
        transition: background 0.3s ease;

        &:hover {
            background-color: #f8f8f8;
        }
    }

    @media (max-width: 768px) {
        font-size: 0.9rem;

        .badge {
            font-size: 0.75rem;
        }

        .footer-nav-link {
            width: 100%;
            justify-content: center;
            font-size: 0.95rem;
            padding: 0.6rem 1rem;
            background-color: #f8f8f8;
            margin-bottom: 0.5rem;
            border: 1px solid #ddd;
        }

        .footer-nav-link:last-of-type {
            margin-bottom: 0;
        }

        .d-flex.flex-md-row {
            flex-direction: column !important;
            align-items: stretch !important;
        }
    }
}
