/** * cities.css - Service Areas (Cities) Page Specific Styles * Holiday Lights Decor - Multi-Franchise Template * * Loaded via:$page_css = ['cities.css'] * Dependencies:main.css (global),pages-common.css (shared:breadcrumb) * * @version 10.0.0 (INTERSTATE) */ /* ========================================================================== CITIES HERO ========================================================================== */ .cities-hero{position:relative;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:var(--dark);padding:6rem 0 2.5rem;} .cities-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.25;} .cities-hero .container{position:relative;z-index:2;} .cities-hero-content{text-align:center;margin-bottom:2rem;} .cities-hero .hero-label{display:inline-block;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);color:var(--gold);padding:0.4rem 1.2rem;border-radius:50px;font-size:0.85rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:1rem;} .cities-hero h1{font-size:clamp(1.8rem,4.5vw,2.8rem);color:#fff;font-weight:800;margin-bottom:0.5rem;} .cities-hero-content > p{color:rgba(255,255,255,0.8);font-size:1.1rem;} .cities-hero-stats{display:flex;justify-content:center;gap:2.5rem;margin-bottom:2rem;flex-wrap:wrap;} .hero-stat{text-align:center;} .hero-stat-number{display:block;font-size:1.8rem;font-weight:800;color:var(--gold);line-height:1;} .hero-stat-label{font-size:0.8rem;color:rgba(255,255,255,0.7);font-weight:500;margin-top:0.3rem;display:block;} .cities-search-box{position:relative;max-width:480px;margin:0 auto;} .cities-search-box .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-light);pointer-events:none;} .cities-search-box input{width:100%;padding:0.9rem 1rem 0.9rem 2.8rem;border:2px solid rgba(255,255,255,0.2);border-radius:12px;background:rgba(255,255,255,0.95);font-size:1rem;color:var(--text);transition:all 0.3s;} .cities-search-box input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(255,215,0,0.15);} .cities-search-box input::placeholder{color:var(--text-light);} /* ========================================================================== REGIONS SECTION ========================================================================== */ .cities-regions-section{padding:4rem 0;background:#fff;} .regions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2.5rem;} .region-card{background:var(--light);padding:2rem;border-radius:16px;border:1px solid #e5e7eb;text-align:center;transition:all 0.3s ease;} .region-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.06);border-color:var(--primary);} .region-icon{width:52px;height:52px;background:var(--primary);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#fff;} .region-icon svg{width:24px;height:24px;} .region-card h3{font-size:1.15rem;color:var(--text);margin-bottom:0.5rem;} .region-card > p{font-size:0.88rem;color:var(--text-light);line-height:1.6;margin-bottom:1rem;} .warehouse-badge{display:inline-flex;align-items:center;gap:0.4rem;background:#fff;padding:0.4rem 0.9rem;border-radius:50px;font-size:0.8rem;font-weight:600;color:var(--primary);border:1px solid #e5e7eb;} .warehouse-badge svg{width:14px;height:14px;} /* ========================================================================== FILTER BAR ========================================================================== */ .cities-filter-section{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e5e7eb;padding:0.75rem 0;} .filter-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;} .filter-info{display:flex;align-items:center;gap:0.75rem;font-size:0.9rem;color:var(--text-light);} .filter-count strong{color:var(--primary);font-weight:700;} .filter-divider{width:1px;height:16px;background:#d1d5db;} .filter-controls{display:flex;align-items:center;gap:0.5rem;} .filter-controls label{font-size:0.88rem;color:var(--text-light);font-weight:500;} .filter-select{padding:0.5rem 2rem 0.5rem 0.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:0.88rem;color:var(--text);background:#fff;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.6rem center;} .filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb,200,16,46),0.1);} /* ========================================================================== COUNTY BLOCKS & CITY CARDS ========================================================================== */ .cities-grid-section{padding:2.5rem 0 4rem;background:var(--light);} .county-block{margin-bottom:2.5rem;} .county-block:last-child{margin-bottom:0;} .county-header{display:flex;align-items:baseline;gap:0.75rem;margin-bottom:1rem;padding-bottom:0.75rem;border-bottom:2px solid #e5e7eb;} .county-header h2{font-size:1.2rem;color:var(--text);margin:0;} .county-count{font-size:0.82rem;color:var(--text-light);font-weight:500;} .cities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0.75rem;} .city-card{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:0.85rem 1rem;border-radius:10px;border:1px solid #e5e7eb;text-decoration:none;transition:all 0.2s ease;} .city-card:hover{border-color:var(--primary);box-shadow:0 2px 8px rgba(0,0,0,0.06);transform:translateY(-1px);} .city-card-content h3{font-size:0.92rem;color:var(--text);font-weight:600;margin:0;line-height:1.3;} .city-county{font-size:0.75rem;color:var(--text-light);} .city-card-arrow{flex-shrink:0;width:20px;height:20px;color:#d1d5db;transition:color 0.2s,transform 0.2s;} .city-card:hover .city-card-arrow{color:var(--primary);transform:translateX(2px);} .city-card-arrow svg{width:100%;height:100%;} /* ========================================================================== NO RESULTS ========================================================================== */ .no-results{text-align:center;padding:4rem 1rem;} .no-results-icon{width:64px;height:64px;margin:0 auto 1.25rem;color:#d1d5db;} .no-results-icon svg{width:100%;height:100%;} .no-results h3{font-size:1.15rem;color:var(--text);margin-bottom:0.4rem;} .no-results p{color:var(--text-light);margin-bottom:1.25rem;} /* ========================================================================== CTA SECTION ========================================================================== */ .cities-cta-section{padding:4rem 0;background:var(--primary);text-align:center;} .cities-cta-content{max-width:560px;margin:0 auto;} .cities-cta-icon{width:56px;height:56px;margin:0 auto 1.25rem;color:rgba(255,255,255,0.8);} .cities-cta-icon svg{width:100%;height:100%;} .cities-cta-content h2{font-size:clamp(1.5rem,3vw,2rem);color:#fff;margin-bottom:0.5rem;} .cities-cta-content > p{color:rgba(255,255,255,0.85);font-size:1.05rem;margin-bottom:1.75rem;} .cities-cta-buttons{display:flex;gap:1.25rem;justify-content:center;align-items:center;flex-wrap:wrap;} .cities-cta-buttons .btn-primary{background:#fff;color:var(--primary);border-color:#fff;} .cities-cta-buttons .btn-primary:hover{background:var(--gold);color:var(--dark);border-color:var(--gold);} .cities-cta-phone{display:inline-flex;align-items:center;gap:0.5rem;color:#fff;font-weight:700;font-size:1.1rem;text-decoration:none;transition:color 0.2s;} .cities-cta-phone:hover{color:var(--gold);} .cities-cta-phone svg{width:20px;height:20px;} /* ========================================================================== RESPONSIVE ========================================================================== */ @media (max-width:1024px){.regions-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto;}} @media (max-width:768px){.cities-hero{min-height:340px;padding:5rem 0 2rem;} .cities-hero-stats{gap:1.25rem;} .hero-stat-number{font-size:1.4rem;} .filter-bar{flex-direction:column;align-items:stretch;} .filter-info{justify-content:center;} .filter-controls{justify-content:center;} .cities-grid{grid-template-columns:1fr;} .cities-cta-buttons{flex-direction:column;align-items:center;} .cities-cta-buttons .btn{width:100%;max-width:280px;justify-content:center;}} @media (max-width:480px){.cities-hero h1{font-size:1.5rem;} .cities-hero-stats{gap:1rem;} .hero-stat-number{font-size:1.2rem;}}
