:root {
--bg: #FAF9F6;
--text: #000;
--border: #355e3b;
--hover-bg: #224422;
--hover-text: #fef9f0;
}*, *::before, *::after {
box-sizing: border-box;
}html, body {
margin: 0;
padding: 0;
font-family: Montserrat, sans-serif;
background-color: var(--bg) !important;
color: var(--text);
line-height: 1.5;
min-height: 100vh;
}a {
color: var(--border);
text-decoration: underline;
cursor: pointer;
transition: color 0.3s ease;
}a:hover,
a:focus {
color: var(--hover-bg);
outline: none;
}h2, h3 {
font-weight: 700;
margin-top: 1.5rem;
margin-bottom: 1rem;
color: var(--text);
}h2 {
text-align: center;
font-size: 1.75rem;
}h3 {
font-size: 1.2rem;
}/* Carousel Layout */
.carousel-container {
position: relative;
overflow: hidden;
margin-bottom: 3rem;
max-width: 1000px;
margin-left: auto;
margin-right: auto;
padding: 0 1rem;
background-color: var(--bg);
}.carousel-track {
display: flex;
transition: transform 0.4s ease;
scroll-behavior: smooth;
}.rate-card {
flex: 0 0 75%;
min-height: 260px;
background: var(--bg);
border: 2px solid var(--border);
border-radius: 12px;
margin: 0 1.5%;
padding: 1rem 1rem 1.5rem;
display: flex;
flex-direction: column;
justify-content: space-between;
word-wrap: break-word;
color: var(--text);
transition: border-color 0.3s ease, color 0.3s ease;
}.rate-card .subtitle {
font-size: 0.85rem;
font-style: italic;
margin-bottom: 1rem;
color: #555;
}.rate-card .price {
font-weight: 700;
font-size: 1.1rem;
color: var(--border);
}.rate-card .price-small {
font-weight: 400;
font-size: 0.9rem;
color: #888;
}.btn-book {
margin-top: auto;
background: var(--border);
color: var(--bg);
border: none;
border-radius: 8px;
padding: 10px;
font-weight: 700;
font-size: 1rem;
cursor: pointer;
text-align: center;
text-decoration: none;
display: inline-block;
user-select: none;
transition: background-color 0.3s ease, color 0.3s ease;
}.btn-book:hover,
.btn-book:focus {
background: var(--hover-bg);
color: var(--hover-text);
outline: none;
}.carousel-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: transparent;
border: 2px solid var(--border);
border-radius: 50%;
width: 36px;
height: 36px;
cursor: pointer;
font-size: 1.5rem;
padding: 0;
color: var(--text);
user-select: none;
z-index: 2;
transition: background-color 0.3s ease, color 0.3s ease;
}.carousel-btn:hover,
.carousel-btn:focus {
background: var(--hover-bg);
color: var(--hover-text);
outline: none;
}.carousel-btn.prev {
left: 5px;
}.carousel-btn.next {
right: 5px;
}/* Contact Section */
.contact-email {
text-align: center;
margin: 3rem 0 2rem;
font-size: 1rem;
max-width: 700px;
margin-left: auto;
margin-right: auto;
color: var(--text);
}/* Footer Logo */
#footer-logo {
text-align: center;
margin: 2rem 0;
}#footer-logo a img {
max-width: 200px;
height: auto;
display: inline-block;
}/* === WIDE SCREEN CAROUSEL GRID === */
@media (min-width: 700px) {
.carousel-track {
display: grid !important;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 1.5rem;
transform: none !important;
}.carousel-container {
overflow: visible;
}.carousel-btn {
display: none;
}.rate-card {
margin: 0;
flex: none;
}
}/* Make all form fields and buttons fully responsive */
input,
select,
textarea,
button {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
}/* Forminator-specific fixes for multi-step forms */
.forminator-ui,
.forminator-row,
.forminator-col,
.forminator-button,
.forminator-pagination-footer {
display: block !important;
width: 100% !important;
max-width: 100% !important;
}.forminator-pagination-footer {
flex-direction: column !important;
gap: 10px;
}Book Affordable Photography, Videography &amp; Arts Workshops in Ottawa | Grove613
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Grove613",
"image": "https://www.grove613.ca/images/logo.png",
"url": "https://www.grove613.ca/booking",
"telephone": "+1-613-555-1234",
"address": {
"@type": "PostalAddress",
"streetAddress": "613 Wellness Way",
"addressLocality": "Ottawa",
"addressRegion": "ON",
"postalCode": "K1A 0B1",
"addressCountry": "CA"
},
"priceRange": "$$",
"openingHours": "Mo-Su 10:00-20:00",
"sameAs": [
"https://www.instagram.com/grove613",
"https://www.facebook.com/grove613"
],
"description": "Affordable photography, videography, arts workshops and creative events in Ottawa."
}
/* Reset + base tweaks */
html, body {
margin: 0;
padding: 0;
font-family: 'Montserrat', sans-serif;
color: #222;
background-color: #fff;
line-height: 1.6;
}/* Mobile Booking Warning Banner */
.mobile-booking-warning {
display: none; /* Hidden by default; shown via  or conditionally */
background: #e6f4ea;
color: #2e7d32;
border: 1px solid #4caf50;
padding: 1rem;
border-radius: 8px;
margin-bottom: 1.5rem;
font-weight: 600;
font-size: 0.95rem;
}.mobile-booking-warning strong {
font-weight: 700;
}/* Utility classes */
.text-center { text-align: center; }
.mt-2 { margin-top: 0.5rem; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }/* Accessibility-friendly focus states */
a, button, input, textarea, select {
outline-color: #4caf50;
outline-offset: 2px;
}/* Responsive container */
.container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 1rem;
}/* Typography tweaks */
h1, h2, h3, h4, h5, h6 {
color: #1a1a1a;
margin-top: 0;
margin-bottom: 0.75rem;
font-weight: 700;
}p {
margin: 0 0 1rem 0;
font-size: 1rem;
}/* Image responsiveness */
img {
max-width: 100%;
height: auto;
display: block;
}
.mobile-booking-warning { display: block !important; }html, body {
font-family: 'Montserrat', sans-serif !important;
}
<!--
*** This site runs WP Super Minify plugin v2.0.1 - http://wordpress.org/plugins/wp-super-minify ***
*** Total size saved: 21.584% | Size before compression: 7237 bytes | Size after compression: 5675 bytes. ***
-->