| class CustomFooter extends HTMLElement { | |
| connectedCallback() { | |
| this.attachShadow({ mode: 'open' }); | |
| this.shadowRoot.innerHTML = ` | |
| <style> | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| footer { | |
| background: linear-gradient(180deg, rgba(17, 24, 39, 0.5), rgba(17, 24, 39, 0.9)); | |
| border-top: 1px solid rgba(75, 85, 99, 0.3); | |
| padding: 3rem 1rem 2rem; | |
| margin-top: 4rem; | |
| } | |
| .footer-container { | |
| max-width: 1280px; | |
| margin: 0 auto; | |
| } | |
| .footer-content { | |
| display: grid; | |
| grid-template-columns: 2fr 1fr 1fr 1fr; | |
| gap: 3rem; | |
| margin-bottom: 3rem; | |
| } | |
| .footer-brand h3 { | |
| font-size: 1.5rem; | |
| font-weight: bold; | |
| margin-bottom: 1rem; | |
| background: linear-gradient(135deg, #0ea5e9, #d946ef); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| .footer-brand p { | |
| color: #9ca3af; | |
| line-height: 1.6; | |
| margin-bottom: 1.5rem; | |
| } | |
| .social-links { | |
| display: flex; | |
| gap: 1rem; | |
| } | |
| .social-link { | |
| width: 40px; | |
| height: 40px; | |
| background: rgba(75, 85, 99, 0.2); | |
| border: 1px solid rgba(75, 85, 99, 0.3); | |
| border-radius: 0.5rem; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: #d1d5db; | |
| text-decoration: none; | |
| transition: all 0.2s ease; | |
| } | |
| .social-link:hover { | |
| background: rgba(14, 165, 233, 0.2); | |
| border-color: #0ea5e9; | |
| color: #0ea5e9; | |
| transform: translateY(-2px); | |
| } | |
| .footer-column h4 { | |
| color: white; | |
| font-size: 1rem; | |
| font-weight: 600; | |
| margin-bottom: 1rem; | |
| } | |
| .footer-links { | |
| list-style: none; | |
| } | |
| .footer-links li { | |
| margin-bottom: 0.75rem; | |
| } | |
| .footer-links a { | |
| color: #9ca3af; | |
| text-decoration: none; | |
| transition: color 0.2s ease; | |
| } | |
| .footer-links a:hover { | |
| color: #0ea5e9; | |
| } | |
| .footer-bottom { | |
| padding-top: 2rem; | |
| border-top: 1px solid rgba(75, 85, 99, 0.3); | |
| display: flex; | |
| justify-content: space-between; | |
| align-items: center; | |
| flex-wrap: wrap; | |
| gap: 1rem; | |
| } | |
| .footer-bottom p { | |
| color: #6b7280; | |
| font-size: 0.875rem; | |
| } | |
| .footer-bottom-links { | |
| display: flex; | |
| gap: 2rem; | |
| } | |
| .footer-bottom-links a { | |
| color: #6b7280; | |
| text-decoration: none; | |
| font-size: 0.875rem; | |
| transition: color 0.2s ease; | |
| } | |
| .footer-bottom-links a:hover { | |
| color: #0ea5e9; | |
| } | |
| @media (max-width: 1024px) { | |
| .footer-content { | |
| grid-template-columns: 1fr 1fr; | |
| } | |
| } | |
| @media (max-width: 640px) { | |
| .footer-content { | |
| grid-template-columns: 1fr; | |
| gap: 2rem; | |
| } | |
| .footer-bottom { | |
| flex-direction: column; | |
| text-align: center; | |
| } | |
| .footer-bottom-links { | |
| gap: 1rem; | |
| } | |
| } | |
| </style> | |
| <footer> | |
| <div class="footer-container"> | |
| <div class="footer-content"> | |
| <div class="footer-brand"> | |
| <h3>TextTo3D Studio</h3> | |
| <p>Transform your ideas into stunning 3D designs with the power of AI. Create, explore, and share your digital masterpieces.</p> | |
| <div class="social-links"> | |
| <a href="#" class="social-link"> | |
| <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> | |
| <path d="M24 4.557c-.883.392-1.832.656-2.828.775 1.017-.609 1.798-1.574 2.165-2.724-.951.564-2.005.974-3.127 1.195-.897-.957-2.178-1.555-3.594-1.555-3.179 0-5.515 2.966-4.797 6.045-4.091-.205-7.719-2.165-10.148-5.144-1.29 2.213-.669 5.108 1.523 6.574-.806-.026-1.566-.247-2.229-.616-.054 2.281 1.581 4.415 3.949 4.89-.693.188-1.452.232-2.224.084.626 1.956 2.444 3.379 4.6 3.419-2.07 1.623-4.678 2.348-7.29 2.04 2.179 1.397 4.768 2.212 7.548 2.212 9.142 0 14.307-7.721 13.995-14.646.962-.695 1.797-1.562 2.457-2.549z"/> | |
| </svg> | |
| </a> | |
| <a href="#" class="social-link"> | |
| <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> | |
| <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zM5.838 12a6.162 6.162 0 1 1 12.324 0 6.162 6.162 0 0 1-12.324 0zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm4.965-10.405a1.44 1.44 0 1 1 2.881.001 1.44 1.44 0 0 1-2.881-.001z"/> | |
| </svg> | |
| </a> | |
| <a href="#" class="social-link"> | |
| <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"> | |
| <path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/> | |
| </svg> | |
| </a> | |
| </div> | |
| </div> | |
| <div class="footer-column"> | |
| <h4>Product</h4> | |
| <ul class="footer-links"> | |
| <li><a href="#">Features</a></li> | |
| <li><a href="#">Pricing</a></li> | |
| <li><a href="#">API</a></li> | |
| <li><a href="#">Documentation</a></li> | |
| </ul> | |
| </div> | |
| <div class="footer-column"> | |
| <h4>Company</h4> | |
| <ul class="footer-links"> | |
| <li><a href="#">About Us</a></li> | |
| <li><a href="#">Blog</a></li> | |
| <li><a href="#">Careers</a></li> | |
| <li><a href="#">Contact</a></li> | |
| </ul> | |
| </div> | |
| <div class="footer-column"> | |
| <h4>Resources</h4> | |
| <ul class="footer-links"> | |
| <li><a href="#">Community</a></li> | |
| <li><a href="#">Tutorials</a></li> | |
| <li><a href="#">Support</a></li> | |
| <li><a href="#">Status</a></li> | |
| </ul> | |
| </div> | |
| </div> | |
| <div class="footer-bottom"> | |
| <p>© 2024 TextTo3D Studio. All rights reserved.</p> | |
| <div class="footer-bottom-links"> | |
| <a href="#">Privacy Policy</a> | |
| <a href="#">Terms of Service</a> | |
| <a href="#">Cookie Policy</a> | |
| </div> | |
| </div> | |
| </div> | |
| </footer> | |
| `; | |
| } | |
| } | |
| customElements.define('custom-footer', CustomFooter); |