| class StepsComponent extends HTMLElement { |
| connectedCallback() { |
| this.attachShadow({ mode: 'open' }); |
| this.shadowRoot.innerHTML = ` |
| <style> |
| :host { |
| display: block; |
| padding: 3rem 2rem; |
| background: #f8f9fa; |
| } |
| |
| .steps-section { |
| max-width: 1200px; |
| margin: 0 auto; |
| } |
| |
| .section-header { |
| text-align: center; |
| margin-bottom: 3rem; |
| } |
| |
| .section-header h2 { |
| font-size: 2rem; |
| color: #3a0ca3; |
| margin-bottom: 1rem; |
| } |
| |
| .steps-grid { |
| display: grid; |
| grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); |
| gap: 2rem; |
| } |
| |
| .step-card { |
| background: white; |
| border-radius: 1rem; |
| padding: 2rem; |
| text-align: center; |
| box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); |
| transition: all 0.3s ease; |
| } |
| |
| .step-card:hover { |
| transform: translateY(-5px); |
| box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); |
| } |
| |
| .step-number { |
| display: inline-flex; |
| align-items: center; |
| justify-content: center; |
| width: 50px; |
| height: 50px; |
| background: #4361ee; |
| color: white; |
| border-radius: 50%; |
| font-size: 1.5rem; |
| font-weight: 700; |
| margin-bottom: 1.5rem; |
| } |
| |
| .step-card h3 { |
| font-size: 1.5rem; |
| color: #3a0ca3; |
| margin-bottom: 1rem; |
| } |
| |
| .step-card p { |
| color: #555; |
| line-height: 1.6; |
| } |
| |
| @media (max-width: 768px) { |
| .steps-grid { |
| grid-template-columns: 1fr; |
| } |
| } |
| </style> |
| |
| <section class="steps-section"> |
| <div class="section-header"> |
| <h2>Så här fungerar coaching</h2> |
| </div> |
| |
| <div class="steps-grid"> |
| <div class="step-card"> |
| <div class="step-number">1</div> |
| <h3>Konsultation</h3> |
| <p>Vi diskuterar dina mål, erfarenhet och behov.</p> |
| </div> |
| |
| <div class="step-card"> |
| <div class="step-number">2</div> |
| <h3>Personligt program</h3> |
| <p>Du får ett anpassat tränings- och kostupplägg.</p> |
| </div> |
| |
| <div class="step-card"> |
| <div class="step-number">3</div> |
| <h3>Veckovis uppföljning</h3> |
| <p>Vi följer upp framsteg och justerar programmet.</p> |
| </div> |
| |
| <div class="step-card"> |
| <div class="step-number">4</div> |
| <h3>Resultat</h3> |
| <p>Du når dina mål på ett hållbart sätt.</p> |
| </div> |
| </div> |
| </section> |
| `; |
| } |
| } |
|
|
| customElements.define('steps-component', StepsComponent); |