/*
Theme Name: Brulloft Wedding
Description: Wedding website converted from the supplied Brulloft HTML template. Home 02 is the only homepage design.
Version: 1.18.0
Requires at least: 6.4
Requires PHP: 7.4
Author: RRDevs (original design); custom WordPress conversion
Text Domain: brulloft-wedding
*/
:root { --brulloft-color: #b78d65; }
.brulloft-dynamic-work .rr-work-content { width: calc(100% - 80px); overflow-wrap: anywhere; }
.brulloft-dynamic-work .rr-work-item:focus-within .rr-work-thumb::before, .brulloft-dynamic-work .rr-work-item:focus-within .rr-work-content { opacity: 1; visibility: visible; }
.brulloft-work-card-link { display: block; }
.brulloft-work-no-image { height: 470px; background: #d6dedb; }
@media (hover: none) { .brulloft-dynamic-work .rr-work-thumb::before, .brulloft-dynamic-work .rr-work-content { opacity: 1; visibility: visible; } }
.brulloft-dynamic-hero .rr-hero-space { background-color: #485c58; }
.brulloft-hero-description { color: #fff; font-size: 18px; line-height: 1.6; max-width: 680px; margin: 0 auto 28px; }
.brulloft-hero-empty { height: 160px; }
@media (max-width: 767px) { .brulloft-hero-description { font-size: 16px; padding: 0 12px; } .brulloft-hero-empty { height: 100px; } }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link:focus { clip: auto; width: auto; height: auto; z-index: 999999; top: 12px; left: 12px; background: white; padding: 12px; }
.admin-bar .brulloft-header, .admin-bar #header-sticky.header-sticky { top: 32px; }
.brulloft-content { padding: 100px 0; min-height: 45vh; }
.brulloft-content img { max-width: 100%; height: auto; }
.brulloft-content .wp-block-image { margin: 1.5em 0; }
.brulloft-post { padding: 32px; border: 1px solid #eee; margin-bottom: 30px; }
.brulloft-post h2 { font-size: 28px; }
.brulloft-post img { width: 100%; max-height: 320px; object-fit: cover; margin-bottom: 24px; }
.brulloft-pagination { margin-top: 30px; }
.brulloft-pagination .page-numbers { display: inline-block; padding: 10px 16px; border: 1px solid #ddd; }
.brulloft-form-status { margin: 16px 0; }
.brulloft-form-status[data-error="true"] { color: #a12020; }
.brulloft-honeypot { position: absolute; left: -9999px; }
.brulloft-account input:not([type=checkbox]) { width: 100%; padding: 14px; border: 1px solid #ddd; margin-bottom: 20px; }
.brulloft-account button, .brulloft-account input[type=submit] { padding: 14px 24px; background: #b78d65; color: white; border: 0; }
.brulloft-account label { display: block; }
.brulloft-store .woocommerce { padding: 40px 0; }
.brulloft-store .woocommerce button.button, .brulloft-store .woocommerce a.button { background: #b78d65; color: white; }
.brulloft-store .woocommerce input.input-text, .brulloft-store .woocommerce textarea { padding: 12px; border: 1px solid #ddd; }
.rr-header-logo img, .rr-header-logo .custom-logo { max-width: 160px; height: auto; }
.brulloft-header .rr-header-2-menu::before { content: none; }
.brulloft-header .rr-header-menu nav li.brulloft-menu-current > a, .rr-main-menu-mobile li.brulloft-menu-current > a { color: #1b7262 !important; font-weight: 600; text-decoration: underline; text-underline-offset: 7px; }
.rr-main-menu-mobile li.brulloft-menu-current > a { color: #74d2b5 !important; }
/* Content must remain readable even when a host delays or blocks animation scripts. */
.wow { visibility: visible !important; }
.rr-hero-title2, .rr-hero-2-content h4, .rr-hero-btn { opacity: 1; transform: none; }
#loading { display: none !important; }
@media (max-width: 782px) { .admin-bar .brulloft-header, .admin-bar #header-sticky.header-sticky { top: 46px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

#site-footer .rr-footer-2-widget-content p, #site-footer .rr-footer-2-widget-content-item a, #site-footer .rr-copyright-2-area p { overflow-wrap: anywhere; }
#site-footer .rr-footer-2-logo img { max-width: 160px; max-height: 80px; width: auto; height: auto; object-fit: contain; }

#site-footer .rr-footer__widget-gallery a img { aspect-ratio: 1; object-fit: cover; }

.brulloft-dynamic-ceremony { scroll-margin-top: 140px; }
.brulloft-dynamic-ceremony .rr-video-thumb > img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.brulloft-dynamic-ceremony .rr-section-title { overflow-wrap: anywhere; }
.brulloft-ceremony-description { max-width: 800px; margin: 20px auto 0; padding: 0 12px; overflow-wrap: anywhere; }
.brulloft-ceremony-placeholder { aspect-ratio: 16 / 9; min-height: 200px; background: #d6dedb; }
.brulloft-ceremony-player { position: relative; width: calc(100% - 32px); max-width: 1000px; margin: 40px auto; background: #000; }
.brulloft-ceremony-player iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.brulloft-ceremony-player video { display: block; width: 100%; max-height: 80vh; }
.brulloft-ceremony-player .mfp-close { color: white; top: -40px; }
.brulloft-ceremony-play:focus-visible { outline: 3px solid #051145; outline-offset: 5px; }

.brulloft-dynamic-ceremony .rr-section-title br, .brulloft-dynamic-ceremony .brulloft-ceremony-description br { display: initial; }

.brulloft-dynamic-services { scroll-margin-top: 140px; }
.brulloft-dynamic-services .rr-service-thumb img { width: 100%; aspect-ratio: 370 / 300; object-fit: cover; }
.brulloft-service-placeholder { aspect-ratio: 370 / 300; background: #d6dedb; }
.brulloft-dynamic-services .rr-service-title, .brulloft-dynamic-services p { overflow-wrap: anywhere; }
.brulloft-dynamic-services p { white-space: normal; }
.brulloft-services-more { margin: 10px 0 30px; }

.brulloft-dynamic-services .rr-service-thumb img.brulloft-service-icon { width: 130px; height: 130px; aspect-ratio: 1; object-fit: contain; }

.brulloft-dynamic-counters, .brulloft-dynamic-who { scroll-margin-top: 140px; }
.brulloft-dynamic-counters .rr-funfact-2-icon img { width: 60px; height: 60px; object-fit: contain; }
.brulloft-dynamic-counters .rr-funfact-2-text { overflow-wrap: anywhere; }
.brulloft-dynamic-counters .rr-funfact-2-info { min-width: 0; }
.brulloft-dynamic-counters .rr-funfact-2-counter { flex-wrap: wrap; overflow-wrap: anywhere; }
.brulloft-counter-long > .rr-funfact-2-number { flex-wrap: wrap; }
.brulloft-counter-long .rr-funfact-2-icon { width: 100%; margin: 0 0 8px; }
.brulloft-counter-long .rr-funfact-2-counter h5, .brulloft-counter-long .rr-funfact-2-counter b { font-size: 30px; }
.brulloft-dynamic-who .rr-about-thumb-2 img { width: 100%; height: auto; aspect-ratio: 630 / 670; object-fit: cover; }
.brulloft-dynamic-who .rr-section-title, .brulloft-dynamic-who p { overflow-wrap: anywhere; }
.brulloft-dynamic-who .rr-section-title br, .brulloft-dynamic-who p br { display: initial; }
.brulloft-who-no-image .rr-about-info { margin: 0 auto; max-width: 900px; padding: 60px 40px; }
@media (max-width: 1199px) { .brulloft-dynamic-who .rr-about-info { margin-left: 0; padding: 40px 24px; margin-top: 24px; } }

.brulloft-dynamic-banner { background-color: #397465; scroll-margin-top: 140px; }
.brulloft-dynamic-banner h3, .brulloft-dynamic-banner .rr-btn-white { overflow-wrap: anywhere; }
.brulloft-dynamic-banner h3 br { display: initial; }
.brulloft-dynamic-banner .rr-btn-white { max-width: 100%; white-space: normal; }
.brulloft-dynamic-banner .rr-cta-2-btns, .brulloft-dynamic-banner .rr-cta-btn { position: relative; z-index: 2; }
.brulloft-dynamic-banner + .brulloft-dynamic-work { padding-top: 90px; }
@media (max-width: 767px) { .brulloft-dynamic-banner .rr-cta-title-2 { font-size: 32px; line-height: 1.35; } .brulloft-dynamic-banner + .brulloft-dynamic-work { padding-top: 60px; } }

.brulloft-dynamic-about, .brulloft-dynamic-about-services, .brulloft-dynamic-projects { scroll-margin-top: 140px; }
.brulloft-about-copy { margin: 0; padding-left: 40px; }
.brulloft-dynamic-about .rr-about-3-thumb img { width: 100%; height: auto; aspect-ratio: 525 / 585; object-fit: cover; }
.brulloft-dynamic-about h3, .brulloft-dynamic-about p, .brulloft-dynamic-about-services h3, .brulloft-dynamic-about-services h4, .brulloft-dynamic-about-services p, .brulloft-dynamic-projects h3, .brulloft-dynamic-projects span { overflow-wrap: anywhere; }
.brulloft-dynamic-about br, .brulloft-dynamic-about-services br, .brulloft-dynamic-projects br { display: initial !important; }
.brulloft-dynamic-about-services .rr-service-3-item { padding: 30px 24px; height: 100%; }
.brulloft-dynamic-about-services .rr-service-3-icon { display: flex; align-items: center; justify-content: center; }
.brulloft-dynamic-about-services .rr-service-3-icon img { width: 64px; height: 64px; object-fit: contain; }
.brulloft-dynamic-projects .rr-project-slider-thumb img, .brulloft-project-placeholder { display: block; width: 100%; aspect-ratio: 370 / 400; object-fit: cover; background: #d6dedb; }
.brulloft-dynamic-projects .rr-project-slider-content { padding: 24px 16px; }
.brulloft-dynamic-projects .rr-project-slider-content span { display: block; }
.brulloft-project-carousel { background: #f6f8ff; }
.brulloft-carousel-controls { display: flex; justify-content: flex-end; gap: 12px; margin: 0 0 24px; }
.brulloft-carousel-controls[hidden] { display: none; }
.brulloft-carousel-controls button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #397465; color: #397465; background: white; }
.brulloft-carousel-controls button:hover { background: #397465; color: white; }
.brulloft-carousel-controls button:focus-visible { outline: 3px solid #051145; outline-offset: 3px; }
.brulloft-about-services-slider, .brulloft-about-projects-slider { overflow: hidden; }
.brulloft-about-services-slider .swiper-slide, .brulloft-about-projects-slider .swiper-slide { height: auto; }
.brulloft-about-services-slider:not(.brulloft-slider-ready) .swiper-wrapper, .brulloft-about-projects-slider:not(.brulloft-slider-ready) .swiper-wrapper { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
@media (max-width: 1199px) { .brulloft-about-services-slider:not(.brulloft-slider-ready) .swiper-wrapper, .brulloft-about-projects-slider:not(.brulloft-slider-ready) .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991px) { .brulloft-about-copy { padding-left: 0; margin-top: 30px; } }
@media (max-width: 767px) { .brulloft-about-services-slider:not(.brulloft-slider-ready) .swiper-wrapper, .brulloft-about-projects-slider:not(.brulloft-slider-ready) .swiper-wrapper { grid-template-columns: minmax(0, 1fr); } .brulloft-dynamic-about .rr-about-3-thumb { border-width: 16px; } }
.brulloft-dynamic-contact .rr-contact-item-icon { flex: 0 0 auto; }
.brulloft-dynamic-contact .rr-contact-item-icon i { color: #1b7262; font-size: 22px; }
.brulloft-dynamic-contact .rr-contact-item-content { min-width: 0; overflow-wrap: anywhere; }
.brulloft-dynamic-contact .rr-contact-item-content br, .brulloft-dynamic-contact .rr-contact__title br { display: initial !important; }
.brulloft-dynamic-contact .rr-contact-item-content > span { font-size: 16px; line-height: 22px; color: #051145; }
.brulloft-dynamic-contact .rr-contact__title { overflow-wrap: anywhere; }
.brulloft-contact-map iframe { display: block; width: 100%; }
@media (max-width: 767px) { .brulloft-contact-map iframe { height: 360px; } }
.brulloft-dynamic-details { overflow-wrap: anywhere; }
.brulloft-dynamic-details > .container { padding-left: 15px; padding-right: 15px; }
.brulloft-dynamic-details img { width: 100%; height: auto; }
.brulloft-detail-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.brulloft-detail-gallery > img:only-child { grid-column: 1 / -1; }
.brulloft-detail-star { color: #ff9e0d; }
.brulloft-dynamic-details .rr-project-details-content li > i { color: #1b7262; margin-right: 6px; }
.brulloft-dynamic-details .rr-btn, .brulloft-dynamic-details .rr-btn-3 { white-space: normal; max-width: 100%; }
.brulloft-dynamic-details .project-sidebar p { color: #fff; }
.brulloft-detail-breadcrumb .breadcrumb__title { overflow-wrap: anywhere; }
@media (max-width: 767px) { .brulloft-detail-gallery { grid-template-columns: minmax(0, 1fr); } }
