/* Hide theme-printed page titles (pages have their own headings) */
body.page .post-head { display: none; }
/* Hide the empty shop sidebar box everywhere */
#sidebar { display: none; }
/* Home page: full-bleed hero right under the header */
body.page-id-951 .content_inn { padding-top: 0; }
body.page-id-951 .postbar { padding-top: 0; }
/* Outline buttons: fill logo red with white text on hover */
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	  background-color: #ff0000 !important;
	  color: #ffffff !important;
	  border-color: #ff0000 !important;
}
/* Service columns: keep Learn More buttons on the same line */
.specialties-row .wp-block-column { display: flex; flex-direction: column; }
.specialties-row .wp-block-column .wp-block-buttons { margin-top: auto; }
/* Dark CTA bands: center heading + buttons as a group */
.wp-block-group.alignfull.has-background h2.wp-block-heading { margin-top: 0; }
/* Shrink header logo so it fits inside the header bar */
img.this-is-logo { max-height: 48px; width: auto; }
/* Home: hero flush against the header */
body.page-id-951 .postbar { padding-top: 0 !important; }
body.page-id-951 .wp-block-cover.alignfull { margin-top: 0 !important; }
/* Centered bullet lists (AVL page sections) */
.centered-list { text-align: center; list-style-position: inside; padding-left: 0; }
/* Inner pages: halve the gap between header and page heading */
body.page .content_inn { padding-top: 24px; }
body.page .postbar { padding-top: 15px !important; }
/* Home stays flush against the header */
body.page-id-951 .content_inn { padding-top: 0 !important; }
body.page-id-951 .postbar { padding-top: 0 !important; }
/* Dark bands: remove first-heading top margin so content centers vertically */
.wp-block-group.alignfull.has-background h3.wp-block-heading { margin-top: 0; }
/* Vertical white divider between columns in dark bands */
.divided-columns > .wp-block-column:not(:last-child) { border-right: 1px solid rgba(255,255,255,0.7); padding-right: 2em; }
@media (max-width: 781px) {
	.divided-columns > .wp-block-column:not(:last-child) { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.7); padding-right: 0; padding-bottom: 24px; margin-bottom: 24px; }
}
/* Remove blank white bar at the bottom of pages */
body.page .content_inn { padding-bottom: 0 !important; }
/* Remove empty comments box + pagination gap under page content */
body.page #comments { display: none; }
body.page .post-pagination { display: none; }
body.page .entry > :last-child { margin-bottom: 0; }
/* FAQ accordion (details blocks) */
.faq-accordion .wp-block-details { border-bottom: 1px solid #d5d5d5; padding: 18px 8px; margin: 0 !important; }
.faq-accordion .wp-block-details:first-child { border-top: 1px solid #d5d5d5; }
.faq-accordion .wp-block-details summary { font-weight: 700; font-size: 1.15rem; cursor: pointer; }
.faq-accordion .wp-block-details summary:hover { color: #ff0000; }
.faq-accordion .wp-block-details p { margin-top: 12px; margin-bottom: 0; }
/* Full-width video carousel: edge to edge, no gaps, swipe/scroll with snap */
.video-carousel { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0; -webkit-overflow-scrolling: touch; }
.video-carousel > .wp-block-embed { flex: 0 0 50%; min-width: 50%; margin: 0; scroll-snap-align: start; }
.video-carousel .wp-block-embed__wrapper iframe { display: block; width: 100%; }
@media (max-width: 781px) { .video-carousel > .wp-block-embed { flex: 0 0 100%; min-width: 100%; } }
/* Carousel fix: theme wraps group content in an inner container */
.video-carousel { display: block; }
.video-carousel > .wp-block-group__inner-container { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0; -webkit-overflow-scrolling: touch; }
.video-carousel .wp-block-embed { flex: 0 0 50%; min-width: 50%; margin: 0; scroll-snap-align: start; }
.video-carousel iframe { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; }
/* Self-hosted videos in the carousel */
.video-carousel video { flex: 0 0 50%; min-width: 50%; display: block; aspect-ratio: 16 / 9; object-fit: cover; background: #000; scroll-snap-align: start; }
@media (max-width: 781px) { .video-carousel video { flex: 0 0 100%; min-width: 100%; } }
/* Carousel: 3 videos across on desktop */
.video-carousel video { flex: 0 0 33.34%; min-width: 33.34%; }
@media (max-width: 1399px) { .video-carousel video { flex: 0 0 50%; min-width: 50%; } }
@media (max-width: 781px) { .video-carousel video { flex: 0 0 100%; min-width: 100%; } }
/* Carousel arrows + hidden scrollbar */
.video-carousel { position: relative; }
.video-carousel > .wp-block-group__inner-container { scrollbar-width: none; }
.video-carousel > .wp-block-group__inner-container::-webkit-scrollbar { display: none; }
.carousel-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 5; width: 48px; height: 48px; border-radius: 50%; border: none; background: rgba(0,0,0,0.55); color: #ffffff; font-size: 20px; line-height: 48px; text-align: center; cursor: pointer; padding: 0; }
.carousel-arrow:hover { background: #ff0000; }
.carousel-prev { left: 16px; }
.carousel-next { right: 16px; }
@media (max-width: 781px) { .carousel-arrow { display: none; } }
/* Thick full-width separators around the carousel */
hr.thick-sep { border: 0; border-top: 3px solid #111111; width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-top: 0; margin-bottom: 0; }
/* Wedding page: tighter top spacing */

body.page h1.wp-block-heading { margin-top: 0; margin-bottom: 10px; }
p.page-intro { margin-bottom: 14px !important; }

/* Package lists: keep long bullets on one line, price styling */
.pkg-row { padding-left: 3vw; padding-right: 3vw; }
@media (min-width: 782px) {
  .wp-block-columns.pkg-row .centered-list li { font-size: clamp(16px, 1.05vw, 19px); }
}
.pkg-price { margin-top: 0; margin-bottom: 10px; }
/* Contact form: full-width select and date to match text inputs */
.wpcf7 select { width: 100%; padding: 10px 12px; background-color: #ffffff; }
.wpcf7 input[type="date"] { width: 100%; }
/* Home bio: larger text, symmetric vertical centering */
.bio-row p { font-size: 1.1rem; }
.bio-row h3 { margin-top: 0; }
.bio-row .wp-block-column > p:last-child { margin-bottom: 0; }
.bio-row figure { margin-top: 0; margin-bottom: 0; }
/* Services block: condensed */
#services { margin-bottom: 10px; }
.specialties-row h3 { margin-top: 0; margin-bottom: 10px; }
.specialties-row p { margin-bottom: 14px; }
/* AVL install photo ticker */
.photo-ticker { overflow: hidden; }
.photo-ticker > .wp-block-group__inner-container { max-width: none; }
.photo-ticker .ticker-track { display: flex; width: max-content; will-change: transform; }
.photo-ticker img { height: 230px; width: auto; display: block; flex: 0 0 auto; }
@media (max-width: 781px) { .photo-ticker img { height: 140px; } }
/* ticker hover pop-out (mouse only) */
@media (hover: hover) and (pointer: fine) {
  .photo-ticker .ticker-track { position: relative; }
  .photo-ticker .ticker-track:hover { z-index: 10; }
  .photo-ticker img { position: relative; transition: transform 0.25s ease, box-shadow 0.25s ease; }
  .photo-ticker img:hover { transform: scale(1.35); z-index: 5; box-shadow: 0 10px 34px rgba(0, 0, 0, 0.5); }
  .photo-ticker .ticker-track:first-child img:hover { transform-origin: top center; }
  .photo-ticker .ticker-track:nth-child(2) img:hover { transform-origin: bottom center; }
}
/* How It Works steps: wider row, bigger one-line headings + bigger descriptions */
.how-row { padding-left: 3vw; padding-right: 3vw; }
@media (min-width: 782px) {
  .wp-block-columns.how-row h4.wp-block-heading { font-size: clamp(17px, 1.62vw, 27px); white-space: nowrap; }
  .wp-block-columns.how-row p { font-size: clamp(15px, 1.05vw, 19px); }
}