/* Temporary compatibility layer for global rules awaiting page-by-page migration. */

.badge,
.price {
    font-family: var(--ctc-font-display);
    text-transform: uppercase;
}

.hero {
    background-image: linear-gradient(to right, var(--ctc-color-brand-red), #ff4d4d);
    color: var(--ctc-color-white);
    text-align: center;
    padding: 60px 20px;
}

.hero h2 {
    font-size: 3em;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.hero .hero-subtitle {
    font-size: 1.2em;
    font-weight: 600;
    color: var(--ctc-color-brand-yellow);
    max-width: 800px;
    margin: 0 auto 30px auto;
}

.badge {
    background-color: var(--ctc-color-brand-red);
    color: var(--ctc-color-white);
    padding: 5px 10px;
    position: absolute;
    top: -15px;
    right: -15px;
    font-size: 1.1em;
    border-radius: 5px;
    transform: rotate(15deg);
    z-index: 10;
}

.price {
    font-size: 2.5em;
    color: #008000;
    margin: 15px 0;
}

.old-price {
    text-decoration: line-through;
    color: #999;
    font-size: 0.5em;
}

.testimonials {
    background-color: var(--ctc-color-white);
    padding: 60px 20px;
    text-align: center;
    border-top: 2px dashed var(--ctc-color-border);
    margin-top: 40px;
}

.testimonial-box {
    font-style: italic;
    color: var(--ctc-color-muted);
    margin-top: 20px;
    max-width: 600px;
    margin: 20px auto;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .hero h2 {
        font-size: 2.2em;
    }

    html,
    body {
        max-width: 100vw;
        overflow-x: hidden;
        margin: 0;
        padding: 0;
    }

    * {
        box-sizing: border-box;
    }
}
