/* Default Styles */ @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap'); :root { --brand-primary: #00B2A8; --brand-dark: #171e1d; --brand-light: #00B2A820; --brand-accent: #00D4C7; --brand-neutral: #4a5568; --white: #FFFFFF; --light-gray: #E5E7EB; --medium-gray: #9CA3AF; --dark-gray: #374151; --success: #10B981; --error: #EF4444; --warning: #F59E0B; --info: #3B82F6; --font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-6: 24px; --space-8: 32px; --space-12: 48px; --space-16: 64px; } /* Base Styles */ body { font-family: var(--font-family); line-height: 1.5; margin: 0; padding: 0; } /* Primary */ .cms-bg-primary { background-color: var(--brand-primary) !important; } .cms-text-primary { color: var(--brand-primary) !important; } .cms-border-primary { border-color: var(--brand-primary) !important; } /* Dark */ .cms-bg-dark { background-color: var(--brand-dark) !important; } .cms-text-dark { color: var(--brand-dark) !important; } .cms-border-dark { border-color: var(--brand-dark) !important; } /* Light */ .cms-bg-light { background-color: var(--brand-light) !important; } .cms-text-light { color: var(--brand-light) !important; } .cms-border-light { border-color: var(--brand-light) !important; } /* Accent */ .cms-bg-accent { background-color: var(--brand-accent) !important; } .cms-text-accent { color: var(--brand-accent) !important; } .cms-border-accent { border-color: var(--brand-accent) !important; } /* Neutral - Not available in Tailwind */ .cms-text-neutral { color: var(--brand-neutral) !important; } .cms-bg-neutral { background-color: var(--brand-neutral) !important; } .cms-border-neutral { border-color: var(--brand-neutral) !important; } /* Typography */ .cms-h1 { font-size: 48px; font-weight: 700; line-height: 56px; margin-bottom: 24px; } .cms-h2 { font-size: 36px; font-weight: 700; line-height: 44px; margin-bottom: 16px; } .cms-h3 { font-size: 28px; font-weight: 600; line-height: 36px; margin-bottom: 12px; } .cms-h4 { font-size: 22px; font-weight: 600; line-height: 28px; margin-bottom: 8px; } .cms-h5 { font-size: 18px; font-weight: 500; line-height: 24px; margin-bottom: 8px; } .cms-body { font-size: 16px; font-weight: 400; line-height: 24px; margin-bottom: 8px; } .cms-small { font-size: 14px; font-weight: 400; line-height: 20px; margin-bottom: 8px; } /* Links */ .cms-link { text-decoration: none; transition: all 150ms ease; } .cms-link:hover { text-decoration: underline; } /* Buttons */ .cms-btn { font-size: 14px; font-weight: 500; padding: 8px 16px; border-radius: 4px; cursor: pointer; text-decoration: none; transition: all 150ms ease; } .cms-btn-disabled { opacity: 0.6; cursor: not-allowed; } /* Cards */ .cms-card { border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); padding: 16px; transition: box-shadow 150ms ease; } .cms-card:hover { box-shadow: 0 8px 16px rgba(0,0,0,0.15); } .cms-card-header { margin-bottom: 16px; } .cms-card-title { font-size: 22px; font-weight: 600; line-height: 28px; } .cms-card-content { font-size: 16px; line-height: 24px; } .cms-card-footer { margin-top: 16px; } /* Form Elements */ .cms-form-control { display: block; width: 100%; height: 40px; padding: 8px 12px; font-size: 16px; font-family: var(--font-family); color: var(--dark-gray); background-color: var(--white); border: 1px solid var(--light-gray); border-radius: 4px; transition: border-color 150ms ease; box-sizing: border-box; } .cms-form-control:hover { border-color: var(--brand-primary); } .cms-form-control:focus { border: 2px solid var(--brand-primary); outline: none; } .cms-form-label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; color: var(--dark-gray); } .cms-form-select { display: block; width: 100%; height: 40px; padding: 8px 12px; font-size: 16px; font-family: var(--font-family); color: var(--dark-gray); background-color: var(--white); border: 1px solid var(--light-gray); border-radius: 4px; appearance: none; background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; box-sizing: border-box; } .cms-form-select:focus { outline: none; } .cms-form-textarea { width: 100%; min-height: 100px; padding: 8px 12px; font-size: 16px; font-family: var(--font-family); border-radius: 4px; resize: vertical; transition: border-color 150ms ease; box-sizing: border-box; } .cms-form-textarea:focus { outline: none; } .cms-form-checkbox, .cms-form-radio { opacity: 0; width: 0; height: 0; } .cms-form-checkbox + label, .cms-form-radio + label { padding-left: 28px; cursor: pointer; font-size: 16px; line-height: 20px; } .cms-form-checkbox + label:before { content: ''; left: 0; top: 0; width: 18px; height: 18px; border-radius: 4px; } .cms-form-checkbox:checked + label:after { content: ''; left: 6px; top: 2px; width: 6px; height: 10px; border-width: 0 2px 2px 0; transform: rotate(45deg); } .cms-form-radio + label:before { content: ''; left: 0; top: 0; width: 18px; height: 18px; border-radius: 50%; } .cms-form-radio:checked + label:after { content: ''; left: 5px; top: 5px; width: 10px; height: 10px; border-radius: 50%; } .cms-error-message { font-size: 14px; margin-top: 4px; } .cms-success-message { font-size: 14px; margin-top: 4px; } /* Media Queries */ @media (max-width: 768px) { .cms-h1 { font-size: 32px; line-height: 40px; } .cms-h2 { font-size: 28px; line-height: 36px; } .cms-h3 { font-size: 24px; line-height: 32px; } .cms-btn { margin-bottom: 8px; } }