UNPKG

@plumber-ai/modern-template

Version:

Modern professional plumbing website template - Generated by Plumber AI

213 lines (185 loc) 4.21 kB
/* src/templates/modern/components/Hero.module.css */ .hero { background: var(--color-brand); color: var(--color-text-on-dark); padding: var(--spacing-xl) 0; } .grid { display: grid; grid-template-columns: 1fr; gap: var(--spacing-lg); max-width: 1200px; margin: 0 auto; padding: 0 var(--spacing-lg); } .textColumn { display: flex; flex-direction: column; justify-content: center; } .formColumn { display: flex; flex-direction: column; justify-content: center; } .formTitle { font-family: var(--font-heading); font-size: 2.5rem; text-align: center; margin-bottom: var(--spacing-lg); color: var(--color-text-on-dark); font-weight: 700; } .title { font-family: var(--font-heading); font-size: 3.5rem; margin-bottom: var(--spacing-md); text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); } .subtitle { font-family: var(--font-body); font-size: 1.3rem; margin-bottom: var(--spacing-lg); max-width: 600px; } .imageWrapper { margin-top: var(--spacing-lg); margin-bottom: var(--spacing-lg); } .heroImage { width: 100%; height: auto; border-radius: var(--border-radius-lg); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2); } .promises { display: flex; justify-content: flex-start; gap: var(--spacing-lg); margin-bottom: var(--spacing-lg); flex-wrap: wrap; } .promiseBadge { background: rgba(255, 255, 255, 0.2); padding: var(--spacing-sm) var(--spacing-md); border-radius: var(--border-radius-lg); font-weight: 600; backdrop-filter: blur(10px); } .form { background: white; color: var(--color-text-on-light); padding: var(--spacing-lg); border-radius: var(--border-radius-lg); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); } .formGroup { margin-bottom: var(--spacing-md); } .formGroup input, .formGroup textarea { width: 100%; padding: var(--spacing-sm) var(--spacing-md); border: 1px solid #ccc; border-radius: var(--border-radius-md); font-size: 1rem; box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.06); transition: border-color 0.2s; } .formGroup input:focus, .formGroup textarea:focus { outline: none; border-color: var(--color-brand); } .formGroup textarea { height: 80px; resize: vertical; } .checkboxGroup { display: flex; align-items: flex-start; gap: var(--spacing-sm); margin-bottom: var(--spacing-md); font-size: 0.8rem; color: var(--color-text-light); } .checkboxGroup input { margin-top: 3px; } .submitBtn { width: 100%; background: var(--color-accent); color: var(--color-text-on-dark); padding: var(--spacing-md); border-radius: var(--border-radius-lg); /* Rounded rectangle */ font-size: 1.3rem; font-weight: 700; cursor: pointer; transition: all 0.2s ease; border: none; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15); text-transform: uppercase; } .submitBtn:hover { background: var(--color-brand); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); } .submitBtn:active { transform: translateY(0); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15); } .callCta { margin-top: var(--spacing-lg); text-align: center; font-family: var(--font-body); font-size: 1.5rem; font-weight: 600; color: var(--color-text-on-dark); } .phoneBtn { display: inline-block; margin-left: var(--spacing-sm); background: var(--color-accent); padding: var(--spacing-sm) var(--spacing-lg); border-radius: 999px; /* Pill shape */ text-decoration: none; color: var(--color-text-on-dark); transition: all 0.2s ease; border: none; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25); font-family: var(--font-body); font-weight: 700; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); } .phoneBtn:hover { background: var(--color-brand); transform: translateY(-2px); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); } /* Responsive styles */ @media (min-width: 992px) { .grid { grid-template-columns: 1fr 1fr; } } @media (max-width: 991px) { .textColumn { text-align: center; } .promises { justify-content: center; } .subtitle { margin-left: auto; margin-right: auto; } } @media (max-width: 768px) { .title { font-size: 2.5rem; } .subtitle { font-size: 1.1rem; } }