diff --git a/angular.json b/angular.json index 45b6930..25e3369 100644 --- a/angular.json +++ b/angular.json @@ -100,5 +100,8 @@ } } } + }, + "cli": { + "analytics": false } } diff --git a/src/app/components/cta-button/cta-button.scss b/src/app/components/cta-button/cta-button.scss index 57cb0d8..d523896 100644 --- a/src/app/components/cta-button/cta-button.scss +++ b/src/app/components/cta-button/cta-button.scss @@ -1,8 +1,11 @@ .cta-button { - width: 360px; + width: 100%; + max-width: 360px; height: 66px; - margin-top: 50px; /* Adiciona espaço entre os cards e o botão */ - margin-bottom: 100px; /* Adiciona espaço após o botão */ + margin-top: 50px; + margin-bottom: 100px; + padding-left: 50px; + padding-right: 50px; background-color: rgba(201, 30, 181, 0.76); color: #FFFFFF; @@ -17,6 +20,29 @@ border-radius: 4px; transition: background-color 0.3s ease; + + // --- MOBILE PEQUENO (até 360px) --- + @media (max-width: 360px) { + max-width: 260px; + height: 56px; + font-size: 16px; + } + + // --- CELULARES (até 480px) --- + @media (max-width: 480px) { + max-width: 300px; + height: 60px; + } + + // --- TABLETS (até 768px) --- + @media (max-width: 768px) { + max-width: 330px; + } + + // --- DESKTOPS MÉDIOS (1024px ou menos) --- + @media (max-width: 1024px) { + max-width: 350px; + } } .cta-button:hover { diff --git a/src/app/components/cta-button/cta-button.spec.ts b/src/app/components/cta-button/cta-button.spec.ts index 0861fdb..585031a 100644 --- a/src/app/components/cta-button/cta-button.spec.ts +++ b/src/app/components/cta-button/cta-button.spec.ts @@ -1,18 +1,18 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { CtaButtonComponent } from './cta-button'; -import { CtaButton } from './cta-button'; describe('CtaButton', () => { - let component: CtaButton; - let fixture: ComponentFixture; + let component: CtaButtonComponent; + let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [CtaButton] + imports: [CtaButtonComponent] }) .compileComponents(); - fixture = TestBed.createComponent(CtaButton); + fixture = TestBed.createComponent(CtaButtonComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/src/app/components/feature-card/feature-card.scss b/src/app/components/feature-card/feature-card.scss index 4116ac6..4eb5754 100644 --- a/src/app/components/feature-card/feature-card.scss +++ b/src/app/components/feature-card/feature-card.scss @@ -1,72 +1,136 @@ .feature-card-container { - /* Garante que o container flexível do Bootstrap organize bem os cards */ - padding: 10px; + padding: 10px; } -/* Container principal do card */ +/* CARD BASE — mantém o design exato do Figma em desktops */ .feature-card { - /* ... estilos anteriores ... */ border: 1px solid #000000; background-color: #FFFFFF; padding: 30px; border-radius: 5px; - - /* ❌ Remover: cursor: pointer; (ou definir como default) */ - cursor: default; - - /* 📐 DEFININDO TAMANHO FIXO DO FIGMA */ - width: 365px; /* Largura EXATA solicitada */ - height: 169px; /* Altura EXATA solicitada */ - - /* Permite que o texto quebre ou esconda se exceder o limite */ - overflow: hidden; - - /* Garante que o texto comece sempre do topo, mesmo com altura fixa */ + cursor: default; + + /* DESKTOP (layout original) */ + width: 365px; + height: 169px; + + overflow: hidden; display: flex; flex-direction: column; justify-content: flex-start; - - transition: background-color 0.2s ease-in-out; + + transition: background-color 0.2s ease-in-out; + + /* ================================ + 📱 RESPONSIVIDADE + ================================ */ + + @media (min-width: 1200px) and (max-width: 1399.98px) { + width: 330px; + height: auto; + padding: 24px; + } + + + /* Telas MUITO pequenas (≤ 360px) */ + @media (max-width: 360px) { + width: 95%; + height: auto; + padding: 20px; + } + + /* Celulares (≤ 480px) */ + @media (max-width: 480px) { + width: 95%; + height: auto; /* Permite texto quebrar */ + } + + /* Tablets pequenos (≤ 768px) */ + @media (max-width: 768px) { + width: 300px; + height: auto; + } + + /* Tablets grandes e monitores pequenos (≤ 1024px) */ + @media (max-width: 1024px) { + width: 330px; + height: auto; + } } -/* ... o restante do CSS se mantém ... */ - -/* Efeito de HOVER (Mouse passa por cima) */ +/* HOVER */ .feature-card.hover-state { - background-color: #E1E1E1; /* Cor cinza #E1E1E1 ao passar o mouse */ + background-color: #E1E1E1; } -/* --- TÍTULO DO CARD --- */ +/* ------------------------- + TÍTULO DO CARD +-------------------------- */ .card-title { - /* Propriedades do Figma: Inter, Bold, 21, #E33DCF */ font-family: 'Inter', sans-serif; font-size: 20px; - font-weight: 700; /* Bold */ - color: #E33DCF; /* Rosa */ + font-weight: 700; + color: #E33DCF; + margin-top: -15px; margin-bottom: 10px; - display: flex; /* Para alinhar ícone e texto */ + + display: flex; align-items: center; - justify-content: center + justify-content: center; + + @media (min-width: 1200px) and (max-width: 1399.98px) { + font-size: 18px; + margin-top: -10px; + } + + + /* Mobile */ + @media (max-width: 480px) { + font-size: 18px; + margin-top: -5px; + } } -/* Estilização do Ícone */ +/* ÍCONE */ .card-icon { margin-right: 10px; - font-size: 24px; /* Tamanho ligeiramente maior que o texto */ + font-size: 24px; + + @media (min-width: 1200px) and (max-width: 1399.98px) { + font-size: 22px; + } + + + /* Mobile */ + @media (max-width: 480px) { + font-size: 20px; + } } -/* --- DESCRIÇÃO/PARÁGRAFO DO CARD --- */ +/* ------------------------- + DESCRIÇÃO DO CARD +-------------------------- */ .card-description { - /* Propriedades do Figma: Inter, Mixed, 18, Preto */ font-family: 'Inter', sans-serif; font-size: 17px; color: #000000; line-height: 1; padding-left: 15px; + + @media (min-width: 1200px) and (max-width: 1399.98px) { + font-size: 16px; + line-height: 1.2; + } + + + /* Mobile */ + @media (max-width: 480px) { + font-size: 15px; + padding-left: 8px; + } } -/* Garante que o começo da frase (em negrito) tenha o peso correto */ .card-description strong { - font-weight: 700; /* Bold */ -} \ No newline at end of file + font-weight: 700; +} diff --git a/src/app/components/footer/footer.html b/src/app/components/footer/footer.html index 208b169..260839a 100644 --- a/src/app/components/footer/footer.html +++ b/src/app/components/footer/footer.html @@ -31,7 +31,7 @@ height="46.84" background="rgba(201, 30, 181, 0.76)" color="#FFFFFF" - fontSize="13" + fontSize="11" fontWeight="700"> diff --git a/src/app/components/footer/footer.scss b/src/app/components/footer/footer.scss index 2b5f053..9c6594a 100644 --- a/src/app/components/footer/footer.scss +++ b/src/app/components/footer/footer.scss @@ -5,7 +5,7 @@ .footer-container { width: 100%; background: rgba(3, 15, 170, 0.93); - padding: 25px 60px; + padding: 10px 60px; /* ⬅️ TOPO/FUNDO DO FOOTER (antes 16px 60px) */ display: flex; justify-content: space-between; @@ -13,6 +13,27 @@ font-family: "Inter", sans-serif; color: #FFFFFF; + + /* 💻 NOTEBOOKS 1200–1399px */ + @media (min-width: 1200px) and (max-width: 1399.98px) { + padding: 6px 50px; /* ⬅️ TOPO/FUNDO NO NOTEBOOK (antes 8px 50px) */ + } + + /* Telas < 1200px — empilha esquerda e direita */ + @media (max-width: 1199.98px) { + flex-direction: column; + justify-content: center; + align-items: center; + padding: 14px 30px; /* ⬅️ TOPO/FUNDO EM TELAS MÉDIAS (antes 18px 30px) */ + text-align: center; + } + + /* Tablets e celulares */ + @media (max-width: 768px) { + padding: 14px 20px; /* ⬅️ TOPO/FUNDO EM MOBILE (antes 18px 20px) */ + align-items: flex-start; + text-align: left; + } } /* ===================================== */ @@ -20,13 +41,46 @@ /* ===================================== */ .footer-left { - margin-top: 100px; /* move bloco todo sem mexer no espaçamento entre linhas */ + margin-top: 100px; /* ⬅️ DISTÂNCIA DO TEXTO PRO TOPO NO DESKTOP (antes 100px) */ + + /* 💻 NOTEBOOKS 1200–1399px */ + @media (min-width: 1200px) and (max-width: 1399.98px) { + margin-top: 80px; /* ⬅️ DISTÂNCIA NO NOTEBOOK (antes 100px) */ + } + + /* Telas < 1200px */ + @media (max-width: 1199.98px) { + margin-top: 24px; + } + + @media (max-width: 768px) { + margin-top: 20px; + } + + @media (max-width: 480px) { + margin-top: 16px; + } } .footer-left p { - margin: 0 0 4px 270px; - font-size: 14px; /* levemente menor como no exemplo */ + /* 🔁 PADRÃO PARA DESKTOPS E NOTEBOOKS: MESMO ESPAÇAMENTO HORIZONTAL */ + margin: 0 0 4px 120px; + font-size: 14px; font-weight: 600; + + /* Telas < 1200px */ + @media (max-width: 1199.98px) { + margin: 0 0 8px 0; + } + + @media (max-width: 768px) { + margin-left: 0; + font-size: 13px; + } + + @media (max-width: 480px) { + font-size: 12px; + } } /* ===================================== */ @@ -36,11 +90,34 @@ .footer-right { display: flex; flex-direction: column; - align-items: center; /* << alinhado igual sua segunda imagem */ - margin-top: 100px; /* << move bloco da direita para baixo */ + align-items: center; + margin-top: 100px; /* ⬅️ DISTÂNCIA DO BLOCO DIREITO PRO TOPO (antes 100px) */ gap: 0px; - margin-right: 300px; /* ajuste como quiser */ + margin-right: 120px; /* espaçamento horizontal já ajustado */ + + /* 💻 NOTEBOOKS 1200–1399px */ + @media (min-width: 1200px) and (max-width: 1399.98px) { + margin-top: 80px; /* ⬅️ MESMO IDEA DO ESQUERDO (antes 100px) */ + gap: 10px; + } + + /* Telas < 1200px */ + @media (max-width: 1199.98px) { + margin-top: 20px; + margin-right: 0; + align-items: center; + gap: 10px; + } + + @media (max-width: 768px) { + align-items: flex-start; + margin-top: 18px; + } + + @media (max-width: 480px) { + margin-top: 16px; + } } /* Redes sociais */ @@ -48,29 +125,53 @@ .social-wrapper { width: 100%; display: flex; - justify-content: flex-start; /* joga pra esquerda */ - margin-bottom: 0px; /* distância entre redes e botão */ -} + justify-content: flex-start; + margin-bottom: 0; + @media (min-width: 1200px) and (max-width: 1399.98px) { + margin-top: 4px; + } + + @media (max-width: 1199.98px) { + justify-content: center; + margin-top: 4px; + } + + @media (max-width: 768px) { + justify-content: flex-start; + margin-top: 5px; + } +} .social-section { display: flex; align-items: center; gap: 10px; - margin-bottom: 0px; /* aproxima do botão */ + margin-bottom: 0; + + @media (max-width: 480px) { + gap: 6px; + } } .social-label { font-size: 14px; font-weight: 500; + + @media (max-width: 480px) { + font-size: 13px; + } } -/* ÍCONES — agora brancos */ .social-icon i { font-size: 22px; - color: #FFF; /* << branquinho */ + color: #FFF; cursor: pointer; transition: 0.2s; + + @media (max-width: 480px) { + font-size: 19px; + } } .social-icon i:hover { @@ -79,5 +180,17 @@ /* Botão */ .footer-button-wrapper { - margin-top: 0; /* tiramos o espaço que empurrava demais */ + margin-top: 0; + + @media (min-width: 1200px) and (max-width: 1399.98px) { + margin-top: 6px; + } + + @media (max-width: 1199.98px) { + margin-top: 6px; + } + + @media (max-width: 768px) { + margin-top: 10px; + } } diff --git a/src/app/components/header/header.html b/src/app/components/header/header.html index 2d5dcab..491af6e 100644 --- a/src/app/components/header/header.html +++ b/src/app/components/header/header.html @@ -2,14 +2,14 @@
- - +