/* Container Setup & Dynamic Background */
.bb-contact-wrapper {
width: 100%;
min-height: 80vh;
padding: 60px 20px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
background: linear-gradient(-45deg, #f3f4f6, #e0e7ff, #e0f2fe, #f5f3ff);
background-size: 400% 400%;
animation: bbGradientShift 15s ease infinite;
border-radius: 12px;
}
@keyframes bbGradientShift {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
.bb-contact-container {
max-width: 1000px;
width: 100%;
margin: 0 auto;
}
/* Header Styles */
.bb-contact-header {
text-align: center;
margin-bottom: 50px;
}
.bb-badge {
background: #4f46e5;
color: #ffffff;
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
padding: 6px 16px;
border-radius: 50px;
display: inline-block;
margin-bottom: 15px;
box-shadow: 0 4px 10px rgba(79, 70, 229, 0.2);
}
.bb-contact-header h1 {
font-size: 2.5rem;
font-weight: 800;
color: #1f2937;
margin: 0 0 15px 0;
letter-spacing: -0.025em;
}
.bb-lead {
font-size: 1.15rem;
color: #4b5563;
max-width: 700px;
margin: 0 auto;
line-height: 1.6;
}
/* Grid & Cards Layout */
.bb-contact-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 30px;
}
.bb-contact-card {
background: rgba(255, 255, 255, 0.85);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.6);
border-radius: 20px;
padding: 40px 30px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
transition: transform 0.3s ease, box-shadow 0.3s ease;
display: flex;
flex-direction: column;
}
.bb-contact-card:hover {
transform: translateY(-5px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}
/* Card Icons */
.bb-icon-wrapper {
width: 50px;
height: 50px;
background: #4f46e5;
color: white;
border-radius: 14px;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20px;
box-shadow: 0 8px 16px rgba(79, 70, 229, 0.2);
}
.bb-icon-wrapper svg {
width: 26px;
height: 26px;
}
.bb-contact-card h2 {
font-size: 1.5rem;
font-weight: 700;
color: #1f2937;
margin: 0 0 10px 0;
}
.bb-card-instruction {
font-size: 0.95rem;
color: #6b7280;
line-height: 1.5;
margin: 0 0 25px 0;
}
/* Hours List Styles */
.bb-hours-list {
margin-top: auto;
background: rgba(243, 244, 246, 0.7);
border-radius: 12px;
padding: 10px 5px;
}
.bb-hours-row {
display: flex;
justify-content: space-between;
padding: 12px 15px;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.bb-hours-row:last-child {
border-bottom: none;
}
.bb-days {
font-weight: 600;
color: #374151;
font-size: 0.95rem;
}
.bb-time {
color: #4f46e5;
font-weight: 700;
font-size: 0.95rem;
}
/* Channels/Link Styles */
.bb-channels {
margin-top: auto;
display: flex;
flex-direction: column;
gap: 12px;
}
.bb-channel-link {
display: flex;
align-items: center;
padding: 16px 20px;
background: rgba(243, 244, 246, 0.7);
border-radius: 12px;
text-decoration: none;
transition: background 0.2s ease, transform 0.2s ease;
border: 1px solid transparent;
}
.bb-channel-link:hover {
background: #ffffff;
border-color: #4f46e5;
transform: scale(1.02);
}
.bb-channel-label {
font-weight: 600;
color: #6b7280;
font-size: 0.9rem;
margin-right: 8px;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.bb-channel-value {
font-weight: 700;
color: #1f2937;
font-size: 1rem;
word-break: break-all;
}
.bb-channel-link:hover .bb-channel-value {
color: #4f46e5;
}
/* Responsive Adjustments */
@media (max-width: 600px) {
.bb-contact-header h1 {
font-size: 2rem;
}
.bb-lead {
font-size: 1rem;
}
.bb-contact-card {
padding: 30px 20px;
}
}