/* Header "Wedding Venues" dropdown panel (inc/menu_panel.php, assets/js/menu_panel.js), styled like the home search city picker. */
.elementor-nav-menu--main li.pvp-mp-on { position: relative; }
.elementor-nav-menu--main li.pvp-mp-on > ul.sub-menu { display: none !important; } /* the plain list stays in the HTML for phones / no JS */

.pvp-mp { position: absolute; z-index: 1000; top: calc(100% + 10px); left: 50%; width: 470px; max-width: calc(100vw - 32px); padding: 14px; border-radius: 20px; background: #fff; box-shadow: 0 28px 70px rgba(10,20,40,.28); color: #1A1A2E; text-align: left; transform: translateX(-50%); animation: pvpMpIn .16s ease-out; font-family: 'Fira Sans', sans-serif; white-space: normal; }
.pvp-mp[hidden] { display: none; }
.pvp-mp::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px; } /* hover bridge between the menu item and the panel */
@keyframes pvpMpIn { from { opacity: 0; transform: translate(-50%, -6px); } to { opacity: 1; transform: translateX(-50%); } }

.pvp-mp__head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 2px 6px 10px; }
.pvp-mp__head b { font: 700 13px 'Fira Sans', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #0A6B68; }
.pvp-mp__head span { font-size: 13.5px; color: #6b7780; }

.pvp-mp__search { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; padding: 10px 14px; border-radius: 12px; background: #F2F6F6; color: #44515c; cursor: text; }
.pvp-mp__search input, html body .pvp-mp__search input[type=text] { flex: 1; min-width: 0; height: auto; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; outline: 0; font: 400 15.5px 'Fira Sans', sans-serif !important; color: #1A1A2E !important; }
.pvp-mp__search input::placeholder { color: #6b7780; }
.pvp-mp__search:focus-within { box-shadow: 0 0 0 2px #0BB7B3; }

.pvp-mp__body { max-height: min(430px, 60vh); overflow: auto; }
.pvp-mp__group[hidden] { display: none; }
.pvp-mp .pvp-mp__state { margin: 10px 6px 6px; padding: 0; font: 700 12px 'Fira Sans', sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #6b7780; }
.pvp-mp__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }

html body .pvp-mp a.pvp-mp__city { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 7px; border: 1px solid #E3E9E9; border-radius: 12px; background: #fff; color: #1A1A2E; text-decoration: none; line-height: 1.25; transition: border-color .12s, background .12s; }
html body .pvp-mp a.pvp-mp__city[hidden] { display: none; }
html body .pvp-mp a.pvp-mp__city:hover, html body .pvp-mp a.pvp-mp__city:focus-visible { border-color: #0BB7B3; background: #F2FAFA; outline: 0; }
html body .pvp-mp a.pvp-mp__city.is-current { border-color: #0BB7B3; background: #E8F7F6; }
.pvp-mp__city img, .pvp-mp__ph { width: 52px !important; height: 42px !important; flex: none; border-radius: 8px; object-fit: cover; background: #E3F6F5; }
.pvp-mp__city > span:last-child { min-width: 0; }
.pvp-mp__city b { display: block; overflow: hidden; font: 600 15px 'Fira Sans', sans-serif; color: #1A1A2E; text-overflow: ellipsis; white-space: nowrap; }
.pvp-mp__city small { display: block; font-size: 13px; color: #44515c; }

.pvp-mp .pvp-mp__none { margin: 10px 8px; padding: 0; font-size: 14.5px; color: #44515c; }
.pvp-mp .pvp-mp__none a { color: #0A7F7C; font-weight: 600; }
.pvp-mp .pvp-mp__foot { margin: 10px 6px 2px; padding: 10px 0 0; border-top: 1px solid #EEF2F2; font-size: 13.5px; line-height: 1.45; color: #6b7780; }

/* Menu item looks "open" while the panel shows */
.elementor-nav-menu--main li.pvp-mp-on.is-open > a { color: #0A7F7C; }
