/*
Theme Name: usav-regions-replica
Description: Faithful WordPress port of the USAVregions.org source layout, typography, navigation and page markup.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: usavregions-replica
WPVibe: yes
*/

/* Source design rules live in assets/css; these adapt native WordPress output. */
/* Source uses body.collapse for its sticky header; utility CSS must not hide it. */
body.wsite-theme-light { visibility: visible; line-height: normal; }
/* Restore source element defaults overridden by the draft preview reset. */
#usav-main .wsite-image img, #usav-main iframe { display: inline; vertical-align: baseline; }
/* Keep the original 1040px form width while fitting its mobile content column. */
.wsite-page-test-form-2 #usav-main iframe { max-width: 100%; }
/* Contain the portrait recording inside the original fixed player viewport. */
#usav-main .wsite-video-container video { height: 100% !important; object-fit: contain; }
.page-id-213 #usav-main .wsite-video-container { overflow: visible; }
.page-id-213 #usav-main .wsite-video-container > a[download] { position: absolute; top: 100%; left: 0; padding-top: 6px; font: 300 14px/24px Montserrat, sans-serif; text-decoration: underline; }
@media (min-width: 768px) { #usav-main .wsite-multicol-col { box-sizing: content-box; } }
#usav-main .wsite-social-item:before { line-height: normal; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 100001; width: auto; height: auto; clip: auto; top: 8px; left: 8px; padding: 12px; background: white; color: black; }
.nav-wrap { opacity: 1 !important; }
.unite-header .container { overflow: visible; }
.nav button { font: inherit; color: inherit; cursor: pointer; }
.hamburger { border: 0; background: transparent; }
.usav-menu-cell { display: none; }
@media (max-width: 1024px) { .usav-menu-cell { display: table-cell; width: 30px; vertical-align: middle; } .unite-header .usav-menu-cell .hamburger { display: block; } }
.desktop-nav > ul { white-space: nowrap; }
.desktop-nav li { position: relative; }
.desktop-nav .wsite-menu-wrap { display: none; position: absolute; top: 100%; left: 0; min-width: 220px; text-align: left; background: #fff; box-shadow: inset 0 0 0 1px #e1e4e6; white-space: normal; }
.desktop-nav li:hover > .wsite-menu-wrap, .desktop-nav li:focus-within > .wsite-menu-wrap, .desktop-nav li.submenu-open > .wsite-menu-wrap { display: block; }
.desktop-nav .wsite-menu li { display: block; margin: 0; }
.desktop-nav .wsite-menu a { font-size: 12px; font-weight: 400; line-height: normal; padding: 8px 15px; }
.desktop-nav .wsite-menu .wsite-menu-wrap { top: 0; left: 100%; }
.desktop-nav .more-menu > .wsite-menu-wrap { left: auto; right: 0; }
.desktop-nav .more-menu[hidden] { display: none; }
.desktop-nav .more-trigger { display: block; position: relative; padding: 10px 20px; border: 0; background: transparent; font-family: 'Josefin Sans', sans-serif; font-size: 14px; font-weight: 500; line-height: 1; letter-spacing: .05em; text-transform: uppercase; }
.desktop-nav .more-menu .wsite-menu .wsite-menu-wrap { right: 100%; left: auto; }
.desktop-nav .icon-caret { display: none; }
.desktop-nav .wsite-menu-item, .desktop-nav .wsite-menu-subitem { position: relative; }
.mobile-nav .icon-caret { position: absolute; top: 0; right: 0; display: block; width: 60px; height: 34px; padding: 5px 20px; border: 0; background: transparent; }
.mobile-nav .icon-caret:before { display: block; font-size: 24px; content: '\203A'; transform: rotate(90deg); }
.mobile-nav .icon-caret[aria-expanded="true"]:before { transform: rotate(-90deg); }
.mobile-nav li.submenu-open > .wsite-menu-wrap { max-height: 1500px; }
.mobile-nav .wsite-menu-item-wrap.active > a { background: rgba(0,0,0,.05); }
.usav-access-message { max-width: 950px; margin: 0 auto; padding: 60px 40px; }
.usav-access-message a { color: #24678d; text-decoration: underline; }
.usav-lightbox { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100vh; max-height: none; padding: 48px; border: none; box-sizing: border-box; background: rgba(255,255,255,.96); }
.usav-lightbox::backdrop { background: rgba(255,255,255,.95); }
.usav-lightbox img { display: block; max-width: 100%; max-height: calc(100vh - 110px); margin: auto; object-fit: contain; }
.usav-lightbox-close { position: absolute; right: 20px; top: 12px; border: 0; background: transparent; font-size: 38px; cursor: pointer; }
.usav-lightbox figcaption { text-align: center; padding: 12px; }
.usav-lightbox-prev, .usav-lightbox-next { position: absolute; top: 45%; border: 0; background: rgba(255,255,255,.8); font-size: 40px; cursor: pointer; }
.usav-lightbox-prev { left: 8px; } .usav-lightbox-next { right: 8px; }
body.admin-bar.sticky-nav-on .unite-header { top: 32px; }
@media (max-width: 1024px) { .desktop-nav { display: none; } .mobile-nav[aria-hidden="true"] { visibility: hidden; } .mobile-nav[aria-hidden="false"] { visibility: visible; } .mobile-nav .wsite-menu-wrap { position: static; } }
@media (max-width: 782px) { body.admin-bar.sticky-nav-on .unite-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar.collapse.sticky-nav-on .unite-header { top: 0; } .usav-lightbox { padding: 48px 20px 20px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; } }
