/* Shared structural styles across all CSG widgets */

.csg-section {
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}

.csg-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.csg-section__header {
    text-align: center;
    margin-bottom: 64px;
}

.csg-section__label {
    display: inline-block;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--csg-primary, #D4AF37);
    margin-bottom: 16px;
}

.csg-section__title {
    font-size: 2.75rem;
    font-weight: 800;
    line-height: 1.15;
    color: var(--csg-dark, #0f172a);
    margin-bottom: 16px;
}

.csg-section__subtitle {
    font-size: 1.125rem;
    color: #64748b;
    line-height: 1.7;
    max-width: 640px;
    margin: 0 auto;
}

.csg-gradient-text {
    background: var(--csg-gradient, linear-gradient(135deg, var(--csg-secondary, #0B1C2C), var(--csg-primary, #D4AF37)));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

@media (max-width: 1024px) {
    .csg-section { padding: 72px 0; }
    .csg-section__title { font-size: 2.25rem; }
}

@media (max-width: 768px) {
    .csg-section { padding: 56px 0; }
    .csg-section__header { margin-bottom: 40px; }
    .csg-section__title { font-size: 1.875rem; }
}

@media (max-width: 480px) {
    .csg-container { padding: 0 16px; }
    .csg-section__title { font-size: 1.625rem; }
}
