Baseline - Eddys Nova Estrutura

This commit is contained in:
Deyson Thomé
2026-09-29 14:03:31 -03:00
commit f08d23dc3c
436 changed files with 21279 additions and 0 deletions
+226
View File
@@ -0,0 +1,226 @@
/* =========================================================
ARTICLE.CSS
Only new article components.
Existing /css/style.css remains the site's baseline.
========================================================= */
.article-page {
padding-top: 60px;
padding-bottom: 40px;
}
.eddys-article {
max-width: 900px;
}
.article-header {
margin-bottom: 32px;
}
.article-category,
.section-label,
.author-label {
font-size: .78rem;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
}
.article-category {
margin-bottom: 12px;
}
.article-header h1 {
margin: 0 0 14px;
}
.article-meta {
display: flex;
flex-wrap: wrap;
gap: 18px;
margin-bottom: 24px;
font-size: .9rem;
}
.article-featured-image {
display: block;
width: 100%;
height: auto;
}
.article-content {
line-height: 1.75;
}
.article-content h2 {
margin-top: 38px;
margin-bottom: 14px;
}
.article-note {
margin: 32px 0;
padding: 22px 24px;
border-left: 4px solid currentColor;
background: rgba(0, 0, 0, .04);
}
.article-author-box {
display: flex;
gap: 22px;
align-items: flex-start;
margin-top: 48px;
padding: 28px;
border: 1px solid rgba(0, 0, 0, .12);
}
.author-avatar {
width: 64px;
height: 64px;
flex: 0 0 64px;
display: grid;
place-items: center;
border-radius: 50%;
font-size: 1.5rem;
font-weight: 700;
background: rgba(0, 0, 0, .08);
}
.author-info h2 {
margin: 4px 0;
}
.author-role {
margin-top: 0;
font-weight: 600;
}
.article-categories {
margin-top: 60px;
padding-top: 40px;
border-top: 1px solid rgba(0, 0, 0, .12);
}
.article-categories h2,
.latest-articles h2 {
margin-top: 8px;
}
.category-list {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 22px;
}
.category-list a {
display: inline-block;
padding: 9px 14px;
border: 1px solid rgba(0, 0, 0, .16);
border-radius: 999px;
text-decoration: none;
}
.latest-articles {
margin-top: 56px;
padding-top: 40px;
border-top: 1px solid rgba(0, 0, 0, .12);
}
.latest-articles-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 22px;
margin-top: 24px;
}
.latest-article-card {
min-width: 0;
}
.latest-article-card h3 {
margin-top: 12px;
}
.latest-article-card p {
line-height: 1.55;
}
.placeholder-image {
display: flex;
align-items: center;
justify-content: center;
aspect-ratio: 16 / 10;
background: rgba(0, 0, 0, .06);
border: 1px solid rgba(0, 0, 0, .12);
}
.placeholder-image span {
font-size: .75rem;
font-weight: 700;
letter-spacing: .08em;
}
@media (max-width: 900px) {
.latest-articles-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 700px) {
.article-author-box {
flex-direction: column;
}
.latest-articles-grid {
grid-template-columns: 1fr;
}
.article-meta {
flex-direction: column;
gap: 6px;
}
}
/* ---- Template completo: componentes adicionais ---- */
.article-meta span+span::before{content:"\2022";margin-right:18px;opacity:.5}
.article-featured-image{border-radius:2px}
.article-figure{margin:0}
.article-figure figcaption{margin-top:8px;font-size:.85rem;opacity:.7}
.article-takeaways{margin:0 0 32px;padding:22px 26px;background:#f9f9f9;border-left:4px solid #ffbf00}
.article-takeaways h2{margin:0 0 10px!important;font-size:1.1rem}
.article-takeaways ul{margin:0;padding-left:20px;line-height:1.7}
.article-content ol,.article-content ul{margin:0 0 20px;padding-left:22px}
.article-content li{margin-bottom:8px}
.article-content h2[id]{scroll-margin-top:90px}
.article-toc ol{margin:0;padding-left:18px;line-height:1.9;font-size:.92rem}
.article-toc a{text-decoration:none}
.article-inline-cta{margin:34px 0;padding:24px 28px;background:#ffbf00;border-radius:3px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.article-inline-cta p{margin:0;font-weight:700;color:#111}
.article-inline-cta .btn{background:#111;color:#fff;border-color:#111}
.article-faq{margin-top:44px}
.article-faq details{border-top:1px solid rgba(0,0,0,.12);padding:14px 0}
.article-faq details:last-child{border-bottom:1px solid rgba(0,0,0,.12)}
.article-faq summary{cursor:pointer;font-weight:700}
.article-faq summary:focus-visible{outline:3px solid #ffbf00;outline-offset:3px}
.article-faq details p{margin:10px 0 0;line-height:1.7}
.article-related{margin-top:44px}
.article-related ul{margin:12px 0 0;padding-left:20px;line-height:1.9}
.article-review-note{margin-top:28px;font-size:.85rem;opacity:.7}
.article-categories,.latest-articles{clear:both}
/* ---- Intro em duas colunas (TOC + Key takeaways) e sidebar de recursos ---- */
.article-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:22px;margin:0 0 32px}
.article-intro .article-takeaways{margin:0}
.article-toc{padding:22px 26px;background:#fff;border:1px solid rgba(0,0,0,.12)}
.article-toc h2{margin:0 0 10px;font-size:1.1rem}
.article-sidebar-cta{padding:26px 24px;background:#111;color:#fff;border-radius:3px}
.article-sidebar-cta h3{margin:0 0 10px;color:#fff;font-size:1.15rem}
.article-sidebar-cta p{margin:0 0 18px;line-height:1.6;color:rgba(255,255,255,.85)}
.article-sidebar-cta .btn{display:block;text-align:center;background:#ffbf00;border-color:#ffbf00;color:#111}
@media (max-width:991px){
.article-page .main-content{order:1}
.article-page .sidebar{order:2;margin-top:40px}
}
@media (max-width:700px){
.article-intro{grid-template-columns:1fr}
}
+40
View File
@@ -0,0 +1,40 @@
/* Eddys Construction & Masonry
Category Index Template — v1
Scope: category index pages only.
Global site styles remain in /css/style.css.
*/
.category-index-page .eddys-category-index {
width: 100%;
}
.category-index-page .eddys-section-intro {
max-width: 900px;
margin-left: auto;
margin-right: auto;
}
/* Future category-card styles belong here so the same component
can be reused by Resources, Services and Portfolio indexes. */
.category-index-page .eddys-category-card {
height: 100%;
}
/* Keep category grids adaptable as the number of categories grows. */
.category-index-page .eddys-category-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 30px;
}
@media (max-width: 991px) {
.category-index-page .eddys-category-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 600px) {
.category-index-page .eddys-category-grid {
grid-template-columns: 1fr;
}
}
+126
View File
@@ -0,0 +1,126 @@
/*
* Eddys Construction & Masonry
* Category / Section Index Pages
*
* Purpose:
* Reusable CSS hooks for index pages that organize categories and content.
*
* Scope:
* Resources, Services and Portfolio category/index pages.
*
* Important:
* This file does NOT redefine the site's global design system.
* Existing /css/style.css and existing component CSS remain authoritative.
* These rules are intentionally conservative and avoid overlays, new
* visual effects, or forced redesigns.
*/
.eddys-category-index-page {
/* Page-level hook only. */
}
/* ---------------------------------------------------------
Shared index-page regions
--------------------------------------------------------- */
.eddys-category-index-page .eddys-index-hero {
/* Uses the existing hero/parallax system. */
}
.eddys-category-index-page .eddys-index-trust {
/* Uses the existing trust-strip component. */
}
.eddys-category-index-page .eddys-index-intro {
/* Uses the existing section spacing and typography. */
}
.eddys-category-index-page .eddys-index-content {
/* Uses the existing content/card system. */
}
.eddys-category-index-page .eddys-index-cta {
/* Uses the existing final CTA component. */
}
/* ---------------------------------------------------------
Universal category components
---------------------------------------------------------
These classes are available for future category indexes.
They intentionally inherit the site's existing typography,
spacing and colors unless a component needs a specific rule.
--------------------------------------------------------- */
.eddys-index-category-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 30px;
}
.eddys-index-category-card {
height: 100%;
}
.eddys-index-category-card__label {
display: block;
}
.eddys-index-category-card__title {
margin-top: 0;
}
.eddys-index-category-card__text {
margin-bottom: 0;
}
.eddys-index-category-card__link {
display: inline-block;
}
.eddys-index-category-list {
margin: 0;
padding: 0;
list-style: none;
}
.eddys-index-category-list__item {
margin: 0;
}
.eddys-index-category-list__link {
display: block;
}
/* ---------------------------------------------------------
Optional grouping helpers
--------------------------------------------------------- */
.eddys-index-section {
width: 100%;
}
.eddys-index-section__inner {
width: 100%;
}
.eddys-index-section__intro {
max-width: 900px;
margin-left: auto;
margin-right: auto;
}
/* ---------------------------------------------------------
Responsive behavior
--------------------------------------------------------- */
@media (max-width: 991px) {
.eddys-index-category-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 600px) {
.eddys-index-category-grid {
grid-template-columns: 1fr;
}
}
+473
View File
@@ -0,0 +1,473 @@
/*
* EDDY'S CONSTRUCTION & MASONRY LLC
* HOME PAGE SPECIFIC STYLES (home.css)
* =========================================================
* Classes exclusivas da página inicial (Index).
* =========================================================
*/
/* =========================================================
00. HOME — HEADER CONTACT BAR (independent of style.css)
========================================================= */
.header-container {
column-gap: 56px;
}
.info-contact {
flex: 1 1 auto;
min-width: 0;
margin-left: 18px;
}
.info-contact-list {
justify-content: flex-start;
align-items: stretch;
gap: 42px;
}
.info-contact-list li {
align-items: flex-start;
}
.info-contact-list p {
white-space: nowrap;
}
@media (max-width: 1199px) {
.header-container {
column-gap: 36px;
}
.info-contact {
margin-left: 8px;
}
.info-contact-list {
gap: 24px;
}
.info-contact-list p {
white-space: normal;
}
}
@media (max-width: 991px) {
.header-container {
gap: 18px;
align-items: flex-start;
}
.logo {
margin-bottom: 0;
align-self: center;
}
.info-contact {
width: 100%;
margin-left: 0;
}
.info-contact-list {
width: 100%;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 18px;
}
.info-contact-list li {
min-width: 0;
}
.info-contact-list p {
font-size: 12px;
line-height: 1.4;
}
}
@media (max-width: 767px) {
.header-container {
align-items: stretch;
gap: 14px;
}
.logo {
align-self: center;
}
.info-contact {
width: 100%;
padding-top: 12px;
border-top: 1px solid #e8e8e8;
}
.info-contact-list {
display: grid;
grid-template-columns: 1fr;
gap: 10px;
}
.info-contact-list li {
width: 100%;
align-items: flex-start;
gap: 12px;
padding: 4px 0;
}
.info-contact-list i {
flex: 0 0 22px;
text-align: center;
}
}
/* =========================================================
00b. HOME — HERO SLIDER DOT RESET (dots are <button>s)
========================================================= */
.hero-slider .dot {
padding: 0;
border: none;
outline: none;
}
/* =========================================================
01. HOME — TRUST STRIP
========================================================= */
.eddys-trust-strip {
background: #fff;
border-bottom: 1px solid #e8e8e8;
}
.eddys-trust-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
}
.eddys-trust-item {
padding: 24px 18px;
text-align: center;
border-right: 1px solid #e8e8e8;
overflow-wrap: break-word;
}
.eddys-trust-item:last-child {
border-right: 0;
}
.eddys-trust-item strong {
display: block;
margin: 0 0 7px;
font-size: 13px;
font-weight: 700;
line-height: 1.35;
letter-spacing: .8px;
}
.eddys-trust-item span {
display: block;
font-size: 12px;
line-height: 1.6;
}
/* =========================================================
02. HOME — PROMISE (THE EDDY'S PROMISE)
========================================================= */
.eddys-eyebrow {
margin: 0 0 10px;
font-size: 12px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 1.5px;
text-transform: uppercase;
}
.eddys-promise p {
line-height: 1.8;
}
.eddys-promise .btn {
margin-top: 10px;
}
.eddys-promise .btn:focus-visible {
outline: 3px solid currentColor;
outline-offset: 3px;
}
/* =========================================================
03. HOME — WHY EDDY'S
========================================================= */
.eddys-why {
background: #f7f7f7;
}
.eddys-section-intro {
width: 100%;
max-width: 820px;
margin: 0 auto 42px;
}
.eddys-section-intro .section-header {
margin-bottom: 18px;
}
.eddys-feature-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 28px;
}
.eddys-feature {
min-width: 0;
padding: 10px 15px;
text-align: center;
overflow-wrap: break-word;
}
.eddys-feature > i {
display: inline-block;
margin-bottom: 16px;
line-height: 1;
}
.eddys-feature h3 {
margin-top: 0;
margin-bottom: 12px;
}
.eddys-feature p {
margin: 0;
line-height: 1.75;
}
/* =========================================================
04. HOME — RESOURCES
========================================================= */
.eddys-resources {
border-top: 1px solid #ededed;
}
.eddys-resource-cards {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 28px;
}
.eddys-resource-card {
min-width: 0;
padding: 30px;
border: 1px solid #e5e5e5;
background: #fff;
overflow-wrap: break-word;
}
.eddys-resource-card h3 {
margin: 10px 0 14px;
}
.eddys-resource-card p {
margin-bottom: 20px;
line-height: 1.7;
}
.eddys-resource-card a {
display: inline-block;
font-weight: 700;
line-height: 1.5;
}
.eddys-resource-card a i {
margin-left: 5px;
}
.eddys-resource-card a:focus-visible {
outline: 3px solid currentColor;
outline-offset: 3px;
}
.eddys-resource-label {
display: block;
font-size: 11px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 1.2px;
}
/* =========================================================
05. HOME — FINAL CTA
========================================================= */
.eddys-final-cta {
position: relative;
padding-top: 70px;
padding-bottom: 70px;
}
.eddys-final-cta-card {
display: grid;
grid-template-columns: minmax(0, 1.65fr) minmax(250px, .75fr);
width: 100%;
margin: 0 auto;
background: rgba(255, 255, 255, 0.85); /* Fundo claro para contrastar com a imagem Parallax */
border: 1px solid #e5e5e5;
border-radius: 4px;
}
.eddys-final-cta-copy {
min-width: 0;
padding: 38px 42px;
}
.eddys-final-cta-copy h2 {
margin: 0 0 15px;
font-size: 24px;
line-height: 1.35;
}
.eddys-final-cta-copy p {
max-width: 680px;
margin: 0;
line-height: 1.75;
}
.eddys-final-cta-action {
display: flex;
justify-content: center;
align-items: center;
padding: 32px;
background: #ffbf00;
text-align: center;
border-radius: 0 4px 4px 0;
}
.eddys-final-cta-action .btn {
min-width: 210px;
color: #fff;
background: #111;
border-color: #111;
}
.eddys-final-cta-action .btn:hover {
color: #111;
background: #fff;
border-color: #fff;
}
.eddys-final-cta-action .btn:focus-visible {
outline: 3px solid currentColor;
outline-offset: 3px;
}
/* =========================================================
06. ACCESSIBILITY & PRINT (HOME SPECIFIC)
========================================================= */
@media (prefers-reduced-motion: reduce) {
.eddys-resource-card *,
.eddys-feature *,
.eddys-final-cta-action * {
scroll-behavior: auto !important;
transition: none !important;
animation: none !important;
}
}
@media print {
.eddys-trust-strip,
.eddys-why,
.eddys-resources,
.eddys-final-cta {
break-inside: avoid;
}
}
/* =========================================================
07. RESPONSIVE QUERIES (HOME SPECIFIC)
========================================================= */
/* Tabletes em modo paisagem e Laptops menores (991px) */
@media (max-width: 991px) {
.eddys-trust-grid,
.eddys-feature-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.eddys-trust-item:nth-child(2n) {
border-right: 0;
}
.eddys-trust-item:nth-child(-n+2) {
border-bottom: 1px solid #e8e8e8;
}
.eddys-resource-cards {
grid-template-columns: 1fr;
}
}
/* Tablets em modo retrato e Celulares grandes (768px) */
@media (max-width: 768px) {
.eddys-trust-grid,
.eddys-feature-grid {
grid-template-columns: 1fr;
}
.eddys-trust-item {
padding: 20px 16px;
border-right: 0;
border-bottom: 1px solid #e8e8e8;
}
.eddys-trust-item:last-child {
border-bottom: 0;
}
.eddys-feature {
padding: 10px 5px 25px;
}
.eddys-feature:last-child {
padding-bottom: 10px;
}
.eddys-resource-card {
padding: 24px;
}
.eddys-final-cta-card {
grid-template-columns: 1fr;
}
.eddys-final-cta-copy {
padding: 28px 24px;
text-align: center;
}
.eddys-final-cta-copy p {
margin: 0 auto;
}
.eddys-final-cta-action {
padding: 24px;
border-radius: 0 0 4px 4px;
}
.eddys-final-cta-action .btn {
width: 100%;
max-width: 320px;
min-width: 0;
text-align: center;
}
}
+47
View File
@@ -0,0 +1,47 @@
/* ==========================================================================
PROJECT NAVIGATION BAR (PREVIOUS / ALL / NEXT)
========================================================================== */
.project-navigation-bar {
background-color: #f9f9f9;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
padding: 18px 0;
margin-bottom: 0;
}
.project-nav-container {
display: flex;
justify-content: space-between;
align-items: center;
gap: 15px;
}
.project-nav-item {
display: inline-flex;
align-items: center;
gap: 8px;
font-family: "Montserrat", sans-serif;
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
color: #444;
transition: color 0.3s ease;
}
.project-nav-item:hover {
color: #ffbf00;
}
.project-nav-center .btn-portfolio-all {
padding: 10px 20px;
font-size: 12px;
}
@media (max-width: 600px) {
.project-nav-container {
flex-direction: column;
gap: 12px;
text-align: center;
}
}
+121
View File
@@ -0,0 +1,121 @@
/*
* EDDY'S CONSTRUCTION & MASONRY LLC
* SHARED "FINAL CTA" / QUOTE COMPONENT (quote-cta.css)
* =========================================================
* Substitui o antigo bloco ".quote-banner".
* Usado em qualquer página que tenha a seção "eddys-final-cta".
* Depende de classes genéricas já existentes no style.css oficial:
* .bg-parallax, .bg-overlay-black, .container, .pos-r, .btn, .btn-black, .radius
* =========================================================
*/
.eddys-eyebrow {
margin: 0 0 10px;
font-size: 12px;
font-weight: 700;
line-height: 1.4;
letter-spacing: 1.5px;
text-transform: uppercase;
}
.eddys-final-cta {
position: relative; /* mantém o bg-overlay-black contido, sem depender do style.css */
padding-top: 70px;
padding-bottom: 70px;
}
.eddys-final-cta-card {
display: grid;
grid-template-columns: minmax(0, 1.65fr) minmax(250px, .75fr);
width: 100%;
margin: 0 auto;
background: rgba(255, 255, 255, 0.85);
border: 1px solid #e5e5e5;
border-radius: 4px;
}
.eddys-final-cta-copy {
min-width: 0;
padding: 38px 42px;
}
.eddys-final-cta-copy h2 {
margin: 0 0 15px;
font-size: 24px;
line-height: 1.35;
}
.eddys-final-cta-copy p {
max-width: 680px;
margin: 0;
line-height: 1.75;
}
.eddys-final-cta-action {
display: flex;
justify-content: center;
align-items: center;
padding: 32px;
background: #ffbf00;
text-align: center;
border-radius: 0 4px 4px 0;
}
.eddys-final-cta-action .btn {
min-width: 210px;
color: #fff;
background: #111;
border-color: #111;
}
.eddys-final-cta-action .btn:hover {
color: #111;
background: #fff;
border-color: #fff;
}
.eddys-final-cta-action .btn:focus-visible {
outline: 3px solid currentColor;
outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
.eddys-final-cta-action * {
scroll-behavior: auto !important;
transition: none !important;
animation: none !important;
}
}
@media print {
.eddys-final-cta {
break-inside: avoid;
}
}
@media (max-width: 768px) {
.eddys-final-cta-card {
grid-template-columns: 1fr;
}
.eddys-final-cta-copy {
padding: 28px 24px;
text-align: center;
}
.eddys-final-cta-copy p {
margin: 0 auto;
}
.eddys-final-cta-action {
padding: 24px;
border-radius: 0 0 4px 4px;
}
.eddys-final-cta-action .btn {
width: 100%;
max-width: 320px;
min-width: 0;
text-align: center;
}
}
+1480
View File
File diff suppressed because it is too large Load Diff