/* ==========================================================================
   WedInGreece — single venue page
   Photo mosaic → title → content + sticky price card → map + FAQs →
   reviews → enquiry → more venues. Type + buttons follow the homepage.
   ========================================================================== */

.wig-venue { font-family: var(--wig-sans); color: var(--wig-text); background: var(--wig-bg-body, #fff); }
.wig-vgallery-sec { background: var(--wig-bg-gallery, #fff); }
.wig-vloc-sec { background: var(--wig-bg-location, #fff); }
.wig-vmore { background: var(--wig-bg-more, #fff); }
.wig-vgallery__all { margin: 28px 0 0; text-align: center; }
.wig-vgallery__all .wig-btn { display: inline-flex; align-items: center; gap: 10px; }
.wig-vgallery__all svg { width: 16px; height: 16px; }
.wig-venue :where(p, span, a, li, dt, dd, label, button, input, select, textarea, summary, figcaption, small) { font-family: inherit; }
/* ListingPro's dynamic CSS greys out bare p / span / li a. */
.wig-venue :where(p, span, li, dt, dd, li a, small) { color: inherit; }
.wig-venue img { max-width: 100%; height: auto; }
.wig-vwrap { max-width: var(--wig-max); margin: 0 auto; padding: 0 var(--wig-gutter); }
.wig-vsec { padding: clamp(56px, 7vw, 96px) 0; }
.wig-vsec--stone { background: var(--wig-stone); }
.wig-venue .wig-sub { margin-bottom: 36px; }
.wig-venue .wig-prose { font: 400 16px/1.75 var(--wig-sans); color: var(--wig-muted); }
.wig-venue .wig-prose p { margin: 0 0 14px; font: inherit; color: inherit; }
.wig-venue .wig-prose a { color: var(--wig-primary); }
html.wig-noscroll { overflow: hidden; }
/* ListingPro's empty notification box (only meant to slide in with a message). */
.wig-venue-page .lp-notifaction-area:has(.lp-notifaction-inner h4:empty) { display: none !important; }

/* ---------- Hero: big photo with the venue name ---------- */
.wig-vhero { position: relative; display: flex; align-items: flex-end; min-height: clamp(420px, 72vh, 760px); overflow: hidden; background: #2b2724; }
.wig-vhero--noimg { min-height: 0; background: var(--wig-stone); }
.wig-venue .wig-vhero__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.wig-vhero__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .18) 42%, rgba(0, 0, 0, 0) 65%); pointer-events: none; }
.wig-vhero__in { position: relative; z-index: 2; width: 100%; }
.wig-vhero__tools { position: absolute; top: 20px; right: var(--wig-gutter); z-index: 3; display: flex; gap: 8px; }
.wig-vhero:not(.wig-vhero--noimg) .wig-vhead { border-bottom: 0; padding-bottom: clamp(28px, 4vw, 48px); }
.wig-vhero:not(.wig-vhero--noimg) .wig-vhead__title { color: #fff; font-size: clamp(36px, 4.6vw, 56px); }
.wig-vhero:not(.wig-vhero--noimg) .wig-vhead__meta,
.wig-vhero:not(.wig-vhero--noimg) .wig-vhead__rating { color: rgba(255, 255, 255, .92); }
.wig-vhero:not(.wig-vhero--noimg) .wig-stars { color: rgba(255, 255, 255, .45); }
.wig-vhero:not(.wig-vhero--noimg) .wig-vhead__actions .wig-btn--outline { background: rgba(255, 255, 255, .92); border-color: transparent; }

/* ---------- Gallery mosaic ---------- */
.wig-vgallery-sec { padding-top: 0; }
.wig-mosaic {
	position: relative; display: grid; gap: 8px;
	height: clamp(300px, 40vw, 520px);
	grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr;
}
.wig-mosaic__item { position: relative; margin: 0; padding: 0; border: 0; border-radius: 2px; overflow: hidden; background: #ece8e2; cursor: zoom-in; }
.wig-mosaic__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--wig-ease), filter .3s; }
.wig-mosaic__item:hover img { transform: scale(1.03); filter: brightness(.95); }
.wig-mosaic__item:first-child { grid-row: 1 / 3; }
.wig-mosaic--1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.wig-mosaic--2 { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
.wig-mosaic--2 .wig-mosaic__item:first-child { grid-row: auto; }
.wig-mosaic--3 { grid-template-columns: 2fr 1fr; }
.wig-mosaic--4 { grid-template-columns: 2fr 1fr 1fr; }
.wig-mosaic--4 .wig-mosaic__item:nth-child(2) { grid-row: 1 / 3; }
.wig-mosaic__tools { position: absolute; right: 14px; bottom: 14px; display: flex; gap: 8px; }
.wig-tool {
	display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px;
	border: 0; border-radius: var(--wig-radius); background: rgba(255, 255, 255, .92); color: var(--wig-ink);
	font: 400 13px/1 var(--wig-sans); cursor: pointer; box-shadow: 0 1px 4px rgba(0, 0, 0, .15);
}
.wig-tool:hover { background: #fff; color: var(--wig-primary); }

/* ---------- Title ---------- */
.wig-vhead {
	display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap;
	width: min(calc(100% - 2 * var(--wig-gutter)), calc(var(--wig-max) - 2 * var(--wig-gutter)));
	margin: 0 auto; padding: clamp(24px, 3vw, 36px) 0 24px;
	border-bottom: 1px solid var(--wig-line);
}
.wig-venue .wig-vhead__title { margin: 0 0 8px; font: 100 clamp(32px, 3.6vw, 42px)/1.15 var(--wig-serif); letter-spacing: 1px; color: var(--wig-ink); text-transform: none; }
.wig-vhead__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin: 0; font: 400 14px/1.4 var(--wig-sans); color: var(--wig-muted); }
.wig-vhead__place { letter-spacing: .06em; text-transform: uppercase; font-size: 13px; }
.wig-vhead__rating { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; background: none; cursor: pointer; font: 400 14px/1.4 var(--wig-sans); color: var(--wig-text); }
.wig-vhead__rating:hover span:last-child { color: var(--wig-primary); }
.wig-vhead__rating span:last-child { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--wig-line); }
.wig-vhead__actions { display: flex; gap: 8px; }
.wig-vhead__actions .wig-btn { min-height: 40px; padding: 8px 16px; text-transform: none; letter-spacing: 0; font-size: 14px; }
.wig-venue-save i.fa { display: none; }
.wig-venue-save i.fa-spinner { display: inline-block; }
.wig-venue-save.remove-fav-v2 { color: var(--wig-primary); border-color: var(--wig-primary); }
.wig-venue-save.remove-fav-v2 .wig-icon--heart { fill: currentColor; }

/* Stars (gold only here) */
.wig-stars { display: inline-flex; gap: 1px; color: #d9d3ca; vertical-align: -2px; }
.wig-stars .is-on { color: var(--wig-gold); }
.wig-stars .is-on .wig-icon { fill: currentColor; }

/* ---------- Body: content + price card ---------- */
.wig-vbody {
	display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(32px, 5vw, 72px); align-items: start;
	max-width: var(--wig-max); margin: 0 auto; padding: clamp(28px, 3.5vw, 44px) var(--wig-gutter) clamp(56px, 7vw, 88px);
}
.wig-venue .wig-vlede { margin: 0 0 28px; font: 400 19px/1.6 var(--wig-sans); color: var(--wig-text); }
.wig-vfacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; margin: 0 0 8px; padding: 20px 0; list-style: none; border-top: 1px solid var(--wig-line); border-bottom: 1px solid var(--wig-line); }
.wig-vfacts li { display: flex; align-items: flex-start; gap: 12px; margin: 0; font: 400 16px/1.35 var(--wig-sans); color: var(--wig-ink); }
.wig-vfacts .wig-icon { width: 24px; height: 24px; color: var(--wig-primary); margin-top: 2px; }
.wig-vfacts small { display: block; margin-bottom: 2px; font-size: 12.5px; color: var(--wig-secondary); }
.wig-vblock { padding: 32px 0 0; }
.wig-vblock + .wig-vblock { margin-top: 8px; border-top: 1px solid var(--wig-line); }
.wig-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 0; padding: 0; list-style: none; }
.wig-checks li { display: flex; align-items: center; gap: 10px; margin: 0; font: 400 15px/1.5 var(--wig-sans); color: var(--wig-text); }
.wig-checks .wig-icon { color: var(--wig-primary); }

/* Accordion */
.wig-accordion details { border-bottom: 1px solid var(--wig-line); }
.wig-accordion details:first-child { border-top: 1px solid var(--wig-line); }
.wig-accordion summary {
	display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; cursor: pointer; list-style: none;
	font: 700 15px/1.4 var(--wig-sans); color: var(--wig-ink);
}
.wig-accordion summary::-webkit-details-marker { display: none; }
.wig-accordion summary::after { content: ""; flex: none; width: 9px; height: 9px; margin-right: 4px; border-right: 1.5px solid var(--wig-secondary); border-bottom: 1.5px solid var(--wig-secondary); transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s; }
.wig-accordion details[open] summary::after { transform: rotate(-135deg) translate(-2px, -2px); }
.wig-accordion summary:hover { color: var(--wig-primary); }
.wig-accordion .wig-prose { padding: 0 0 18px; font-size: 15px; }

/* Details table */
.wig-venue .wig-table { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; margin: 0; }
.wig-venue .wig-table > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--wig-line); }
.wig-venue .wig-table dt { margin: 0; font: 400 14px/1.5 var(--wig-sans); color: var(--wig-secondary); }
.wig-venue .wig-table dd { margin: 0; font: 700 14px/1.5 var(--wig-sans); color: var(--wig-ink); text-align: right; }

/* Price card */
.wig-vaside { position: sticky; top: 110px; }
.wig-pricecard { padding: 28px; border: 1px solid var(--wig-line); border-radius: var(--wig-radius); background: #fff; box-shadow: 0 10px 30px -18px rgba(36, 27, 27, .25); }
.wig-venue .wig-pricecard__label { margin: 0; font: 400 13px/1.4 var(--wig-sans); color: var(--wig-secondary); }
.wig-venue .wig-pricecard__price { margin: 2px 0 4px; font: 400 34px/1.15 var(--wig-serif); color: var(--wig-ink); }
.wig-venue .wig-pricecard__price--ask { font-size: 26px; margin-bottom: 16px; }
.wig-venue .wig-pricecard__note { margin: 0 0 20px; font: 400 13.5px/1.5 var(--wig-sans); color: var(--wig-muted); }
.wig-pricecard .wig-btn { min-height: 48px; }
.wig-venue .wig-pricecard__hint { margin: 10px 0 0; text-align: center; font: 400 12.5px/1.4 var(--wig-sans); color: var(--wig-secondary); }
.wig-pricecard__contacts { margin: 20px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid var(--wig-line); }
.wig-pricecard__contacts li { margin: 0; }
.wig-pricecard__contacts a { display: flex; align-items: center; gap: 10px; padding: 6px 0; font: 400 14px/1.4 var(--wig-sans); color: var(--wig-text); text-decoration: none; overflow-wrap: anywhere; }
.wig-pricecard__contacts a:hover { color: var(--wig-primary); }
.wig-pricecard__contacts .wig-icon { color: var(--wig-primary); }

/* ---------- Location + FAQ (info + FAQs left, smaller map right) ---------- */
.wig-vloc { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.wig-vloc--single { grid-template-columns: minmax(0, 720px); justify-content: center; }
.wig-vloc__info .wig-table { margin-bottom: 28px; }
.wig-venue .wig-vloc__ask { margin: 0; font: 400 15px/1.6 var(--wig-sans); color: var(--wig-muted); }
.wig-vloc__ask a { color: var(--wig-primary); }
.wig-vmap { position: relative; z-index: 1; height: 360px; border-radius: var(--wig-radius); overflow: hidden; background: #e8e6e1; }
.wig-vmap__link { position: absolute; left: 12px; bottom: 12px; z-index: 500; padding: 7px 12px; border-radius: var(--wig-radius); background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.15); font: 400 13px/1 var(--wig-sans); color: var(--wig-ink); text-decoration: none; }
.wig-vmap__link:hover { color: var(--wig-primary); }
.wig-vmap .wig-pin span { display: block; width: 22px; height: 22px; border-radius: 50%; background: var(--wig-primary); border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .35); }

/* ---------- Reviews dialog ---------- */
.wig-rdialog { width: min(680px, calc(100vw - 32px)); max-height: min(86vh, 900px); margin: auto; padding: 0; border: 0; border-radius: var(--wig-radius); background: #fff; color: var(--wig-text); box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .45); }
.wig-rdialog[open] { display: flex; flex-direction: column; }
.wig-rdialog::backdrop { background: rgba(20, 16, 16, .55); }
.wig-rdialog__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--wig-line); }
.wig-rdialog__head .wig-h3 { margin: 0; }
.wig-rdialog__close { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--wig-line); border-radius: 50%; background: #fff; color: var(--wig-ink); cursor: pointer; }
.wig-rdialog__close:hover { border-color: var(--wig-primary); color: var(--wig-primary); }
.wig-rdialog__body { overflow-y: auto; padding: 20px 24px 28px; }
.wig-venue .wig-rdialog__summary { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; font: 400 15px/1.4 var(--wig-sans); }
.wig-venue .wig-rdialog__empty { margin: 0 0 8px; font: 400 15px/1.6 var(--wig-sans); color: var(--wig-muted); }
.wig-rdialog .wig-review { margin: 0 0 14px; }
.wig-rdialog .wig-reviewform { max-width: none; margin: 18px 0 0; }

/* ---------- Reviews ---------- */
.wig-reviews-grid-unused { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 360px)); justify-content: center; gap: 20px; }
.wig-review { padding: 26px 26px 22px; border: 1px solid var(--wig-line); border-radius: var(--wig-radius); background: #fff; }
.wig-review__stars { margin: 0 0 10px; }
.wig-venue .wig-review__title { margin: 0 0 10px; font: 400 20px/1.3 var(--wig-serif); color: var(--wig-ink); text-transform: none; }
.wig-venue .wig-review__text { margin: 0; font: 400 15px/1.7 var(--wig-sans); color: var(--wig-muted); }
.wig-venue .wig-review__by { margin: 16px 0 0; font: 700 13px/1.4 var(--wig-sans); color: var(--wig-ink); }
.wig-reviewform { max-width: 720px; margin: 36px auto 0; }
.wig-reviewform > * { border-radius: var(--wig-radius) !important; border-color: var(--wig-line) !important; background: #fff !important; box-shadow: none !important; }
.wig-reviewform :is(h2, h3, h4, h5, a, span, label, p, button, input, textarea) { font-family: var(--wig-sans) !important; }
.wig-reviewform :is(h2, h3, h4, h5) { font-size: 15px !important; font-weight: 700 !important; color: var(--wig-ink) !important; }
.wig-reviewform .fa-star-o, .wig-reviewform .fa-star { color: var(--wig-gold) !important; }
.wig-reviewform :is(input[type=text], input[type=email], textarea) { border-radius: var(--wig-radius) !important; border-color: var(--wig-line) !important; box-shadow: none !important; }
.wig-venue .wig-reviewform #submit, .wig-venue .wig-reviewform .lp-review-btn, .wig-venue .wig-reviewform .browse-imgs { border-radius: var(--wig-radius) !important; background: var(--wig-primary) !important; border-color: var(--wig-primary) !important; color: #fff !important; font-size: 13px !important; font-weight: 400 !important; text-transform: uppercase; letter-spacing: .06em; }

/* ---------- Enquiry ---------- */
.wig-venquire { padding: clamp(56px, 7vw, 96px) var(--wig-gutter); background: var(--wig-bg-form, var(--wig-stone)); scroll-margin-top: 90px; }
.wig-venquire__card { max-width: 680px; margin: 0 auto; }
.wig-form { padding: clamp(24px, 4vw, 40px); border-radius: var(--wig-radius); background: #fff; font: 400 14px/1.4 var(--wig-sans); }
.wig-form.is-sending { opacity: .6; pointer-events: none; }
.wig-form__love { margin: 0 0 22px; padding: 0; border: 0; }
.wig-form__love legend { width: 100%; margin: 0 0 10px; padding: 0; border: 0; font: 700 13px/1.4 var(--wig-sans); color: var(--wig-ink); }
.wig-form__love.is-invalid .wig-tile span { border-color: #b4483c; }
.wig-form__tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.wig-tile { position: relative; margin: 0; cursor: pointer; }
.wig-tile input { position: absolute; opacity: 0; }
.wig-tile span {
	display: grid; place-items: center; height: 44px; border: 1px solid var(--wig-line); border-radius: var(--wig-radius); background: #fff;
	font: 400 14px/1 var(--wig-sans); color: var(--wig-text); transition: border-color .15s, color .15s, background .15s;
}
.wig-tile input:checked + span { border-color: var(--wig-primary); background: rgba(58, 135, 164, .07); color: var(--wig-primary); }
.wig-tile input:focus-visible + span { outline: 2px solid var(--wig-primary); outline-offset: 2px; }
.wig-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.wig-form__grid--4 { grid-template-columns: 1.4fr 1fr .8fr 1fr; }
.wig-venue .wig-field { margin: 0 0 16px; }
.wig-venue .wig-field label { display: block; margin: 0 0 6px; font: 700 13px/1.4 var(--wig-sans); color: var(--wig-ink); }
.wig-venue .wig-field label span { color: var(--wig-primary); }
.wig-venue .wig-field :is(input, select, textarea) {
	display: block; width: 100%; height: 44px; margin: 0; padding: 0 12px;
	border: 1px solid var(--wig-line); border-radius: var(--wig-radius); background: #fff; box-shadow: none;
	font: 400 14px/1.4 var(--wig-sans); color: var(--wig-ink);
}
.wig-venue .wig-field textarea { height: auto; min-height: 120px; padding: 10px 12px; resize: vertical; }
.wig-venue .wig-field select { appearance: none; -webkit-appearance: none; padding-right: 32px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2354595F' stroke-width='1.3'%3E%3Cpath d='m2 4 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 12px center; }
.wig-venue .wig-field :is(input, select, textarea):focus { outline: none; border-color: var(--wig-primary); box-shadow: 0 0 0 3px rgba(58, 135, 164, .15); }
.wig-venue .wig-field .is-invalid { border-color: #b4483c; }
.wig-venue .wig-field ::placeholder { color: #a39d96; }
.wig-venue .wig-check { margin: 4px 0 0; font: 400 13.5px/1.5 var(--wig-sans); color: var(--wig-text); }
.wig-venue .wig-check input { margin: 0 8px 0 0; vertical-align: -1px; accent-color: var(--wig-primary); }
.wig-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.wig-form__error { margin: 16px 0 0; padding: 12px 14px; border-radius: var(--wig-radius); background: #f7e9e6; color: #8a2f25; font: 400 13px/1.5 var(--wig-sans); }
.wig-form__submit { margin: 24px 0 0; }
.wig-form__submit .wig-btn { width: 100%; min-height: 48px; }
.wig-venue .wig-form__privacy { margin: 14px 0 0; text-align: center; font: 400 12.5px/1.5 var(--wig-sans); color: var(--wig-secondary); }
.wig-form__privacy a { color: inherit; }
.wig-form__done { padding: 40px; border-radius: var(--wig-radius); background: #fff; text-align: center; font: 400 15px/1.7 var(--wig-sans); color: var(--wig-muted); }
.wig-form__done:focus { outline: none; }

/* ---------- More venues ---------- */
.wig-vmore .wig-grid { margin-top: 8px; }

/* ---------- Mobile bar ---------- */
.wig-mbar { display: none; }

/* ---------- Lightbox ---------- */
.wig-lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(20, 16, 16, .96); color: #fff; }
.wig-lightbox[open] { display: grid; grid-template-columns: 64px 1fr 64px; align-items: center; }
.wig-lightbox::backdrop { background: rgba(20, 16, 16, .96); }
.wig-lightbox__fig { grid-column: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; margin: 0; padding: 56px 0 24px; }
.wig-lightbox__fig img { max-width: 100%; max-height: calc(100vh - 120px); width: auto; height: auto; object-fit: contain; }
.wig-lightbox__fig figcaption { display: flex; gap: 18px; margin-top: 14px; font: 400 13px/1.4 var(--wig-sans); color: rgba(255,255,255,.75); }
.wig-lightbox button { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; cursor: pointer; }
.wig-lightbox button:hover { background: rgba(255,255,255,.2); }
.wig-lightbox button .wig-icon { width: 22px; height: 22px; }
.wig-lightbox__nav--prev { grid-column: 1; justify-self: center; }
.wig-lightbox__nav--next { grid-column: 3; justify-self: center; }
.wig-lightbox__close { position: absolute; top: 14px; right: 14px; z-index: 2; }
.wig-lightbox__video { position: absolute; inset: 72px 6vw 48px; }
.wig-lightbox__video iframe { width: 100%; height: 100%; border: 0; }
.wig-lightbox.is-video .wig-lightbox__nav, .wig-lightbox.is-video .wig-lightbox__fig { visibility: hidden; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.wig-vbody { grid-template-columns: minmax(0, 1fr) 300px; }
	.wig-form__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.wig-vbody { grid-template-columns: 1fr; }
	.wig-vaside { display: none; }
	.wig-vloc { grid-template-columns: 1fr; }
	.wig-vmap { height: 320px; }
	.wig-mbar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		display: flex; align-items: center; justify-content: space-between; gap: 16px;
		padding: 10px var(--wig-gutter) calc(10px + env(safe-area-inset-bottom));
		background: #fff; border-top: 1px solid var(--wig-line);
	}
	.wig-venue .wig-mbar p { margin: 0; font: 400 20px/1.2 var(--wig-serif); color: var(--wig-ink); }
	.wig-mbar small { display: block; font: 400 12px/1.3 var(--wig-sans); color: var(--wig-secondary); }
	.wig-mbar .wig-btn { min-width: 150px; }
	.wig-venue { padding-bottom: 70px; }
	.wig-lightbox[open] { grid-template-columns: 0 1fr 0; }
	.wig-lightbox__nav { position: absolute; bottom: 18px; }
	.wig-lightbox__nav--prev { left: 18px; }
	.wig-lightbox__nav--next { right: 18px; }
}
@media (max-width: 760px) {
	.wig-vhero { min-height: 72vh; }
	.wig-vhero__tools { top: 14px; }
	.wig-mosaic { height: auto; grid-template-columns: 1fr 1fr; grid-template-rows: none; }
	.wig-mosaic .wig-mosaic__item { grid-row: auto !important; aspect-ratio: 1; }
	.wig-mosaic .wig-mosaic__item:first-child { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
	.wig-mosaic--4 { grid-template-columns: repeat(3, 1fr); }
	.wig-mosaic--2 .wig-mosaic__item:first-child { grid-column: auto; aspect-ratio: 1; }
	.wig-vhead { align-items: flex-start; }
	.wig-checks, .wig-venue .wig-table { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.wig-form__grid, .wig-form__grid--4 { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.wig-mosaic__item img { transition: none; }
}
.wig-venue .wig-table--single { grid-template-columns: 1fr; }



/* Share menu inside the hero photo opens upwards (room above, page content below). */
.wig-vhero:not(.wig-vhero--noimg) .wig-share__menu { top: auto; bottom: calc(100% + 6px); }

/* ---------- Mobile hero: clean photo, title block below ---------- */
@media (max-width: 760px) {
	.wig-vhero:not(.wig-vhero--noimg) { display: block; min-height: 0; overflow: visible; background: var(--wig-bg-body, #fff); }
	.wig-venue .wig-vhero:not(.wig-vhero--noimg) .wig-vhero__img { position: relative; inset: auto; display: block; height: auto; aspect-ratio: 4 / 3; }
	.wig-vhero__shade { display: none; }
	.wig-vhero__tools { top: calc(75vw - 50px); right: 14px; gap: 6px; }
	.wig-vhero__tools .wig-tool { height: 34px; padding: 0 12px; font-size: 12px; }
	.wig-vhero:not(.wig-vhero--noimg) .wig-vhead { display: block; padding: 22px 0 20px; border-bottom: 1px solid var(--wig-line); }
	.wig-venue .wig-vhero:not(.wig-vhero--noimg) .wig-vhead__title { margin-bottom: 6px; font-size: 30px; color: var(--wig-ink); }
	.wig-vhero:not(.wig-vhero--noimg) .wig-vhead__meta { gap: 4px 14px; color: var(--wig-muted); }
	.wig-vhero:not(.wig-vhero--noimg) .wig-vhead__rating { color: var(--wig-text); font-size: 13px; }
	.wig-vhero:not(.wig-vhero--noimg) .wig-stars { color: #d9d3ca; }
	.wig-vhero:not(.wig-vhero--noimg) .wig-vhead__actions { margin-top: 16px; }
	.wig-vhero:not(.wig-vhero--noimg) .wig-vhead__actions .wig-btn--outline { background: #fff; border-color: var(--wig-line); }
	.wig-vhead__actions .wig-btn { min-height: 38px; padding: 6px 14px; font-size: 13px; }
	.wig-vhero:not(.wig-vhero--noimg) .wig-share__menu { top: calc(100% + 6px); bottom: auto; left: 0; right: auto; }
}

/* Review form always open (ListingPro hides it behind a toggle). */
.wig-venue .wig-reviewform #rewies_form,
.wig-venue .wig-reviewform #rewies_formm { display: block !important; height: auto !important; }
.wig-venue .wig-reviewform #reply-title { cursor: default; pointer-events: none; }
.wig-venue .wig-reviewform #reply-title .fa-caret-down { display: none; }
.wig-reviewform__note { margin: 28px 0 10px; font: italic 400 14px/1.5 var(--wig-sans); color: var(--wig-muted); }

/* "Is this your venue?" under the price card */
.wig-claim { margin: 14px 0 0; text-align: center; font: 400 13px/1.4 var(--wig-sans); }
.wig-claim a { color: var(--wig-secondary); text-decoration: underline; text-underline-offset: 3px; }
.wig-claim a:hover { color: var(--wig-primary); }
.wig-rdialog__thanks { margin: 20px 0 0; padding: 12px 16px; border-left: 3px solid var(--wig-green, #446E4A); background: #eef4ef; font: 400 15px/1.5 var(--wig-sans); color: var(--wig-green, #446E4A); }

/* Offers */
.wig-vhead__offer { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px 5px 10px; border: 1px solid var(--wig-line); border-radius: 14px; background: #fff; font: 700 11px/1.3 var(--wig-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--wig-ink); text-decoration: none; }
.wig-vhead__offer .wig-icon { width: 14px; height: 14px; color: var(--wig-primary); }
.wig-vhead__offer:hover { border-color: var(--wig-primary); color: var(--wig-primary); }
.wig-voffer { margin: 18px 0 0; padding: 24px 26px; border: 1px solid var(--wig-line); border-radius: 3px; background: var(--wig-ivory, #FAF8F4); }
.wig-voffer + .wig-voffer { margin-top: 14px; }
.wig-voffer__type { margin: 0 0 6px; font: 700 11px/1.4 var(--wig-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--wig-primary); }
.wig-voffer__title { margin: 0 0 10px; font: 400 22px/1.3 var(--wig-serif); letter-spacing: .5px; color: var(--wig-ink); }
.wig-voffer__intro { margin: 0; font: 400 15px/1.65 var(--wig-sans); color: var(--wig-text); }
.wig-voffer__more { margin: 12px 0 0; }
.wig-voffer__more summary { display: inline-block; cursor: pointer; font: 400 14px var(--wig-sans); color: var(--wig-primary); text-decoration: underline; text-underline-offset: 3px; list-style: none; }
.wig-voffer__more summary::-webkit-details-marker { display: none; }
.wig-voffer__more[open] summary { margin-bottom: 8px; }
.wig-voffer__more .wig-prose { font-size: 15px; }
.wig-voffer__more .wig-prose ul { margin: 0 0 10px; padding-left: 18px; }
.wig-voffer__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--wig-line); }
.wig-voffer__valid { font: italic 400 14px var(--wig-sans); color: var(--wig-muted); }
.wig-btn--sm { min-height: 38px; padding: 8px 18px; font-size: 12px; }
@media (max-width: 600px) { .wig-voffer { padding: 20px 18px; } .wig-voffer__foot .wig-btn { width: 100%; justify-content: center; } }
.wig-voffer__more .wig-prose ul li { list-style: disc; margin: 0 0 4px; padding: 0; }
