/* WeddingZa November UI polish: accessible, quick, consistent and compact. */
:root { --wzr-wine:#652d43; --wzr-cream:#fff9f5; --wzr-ease:cubic-bezier(.22,1,.36,1); }
#siteHeader .vision-brand {align-items:center}
#siteHeader .wz-brand-mark {width:40px;height:40px;border-radius:13px;box-shadow:0 2px 10px #280b1730}
.vision-footer-brand {display:inline-flex!important;align-items:center;gap:11px}
.vision-footer-brand .wz-footer-mark {display:block;width:38px;height:38px;border-radius:12px}
/* Calm, no floating number animation. All these are actual links, never faux buttons. */
.wz-contact-dock {position:fixed;z-index:91;right:max(14px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:grid;gap:10px}
.wz-contact-dock a {min-width:55px;min-height:55px;padding:11px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:18px;text-decoration:none;box-shadow:0 7px 22px #25111936;border:1px solid #ffffff80;transition:transform .25s var(--wzr-ease),box-shadow .25s,background .25s;color:#fff}
.wz-contact-dock a:hover {transform:translateY(-3px);box-shadow:0 13px 29px #25111945}
.wz-contact-dock a:focus-visible {outline:3px solid #edb96b;outline-offset:4px}
.wz-contact-dock svg {width:21px;height:21px;flex:none}
.wz-contact-dock span {font:700 9px/1.1 Manrope,Arial,sans-serif;letter-spacing:.01em}
.wz-contact-dock-call {background:#652d43}
.wz-contact-dock-wa {background:#148c57}
@media(max-width:700px){.wz-contact-dock{right:max(10px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));gap:8px}.wz-contact-dock a{min-height:50px;min-width:50px;border-radius:15px;padding:8px 6px}.wz-contact-dock svg{width:20px;height:20px}.wz-contact-dock span{font-size:8px}.vision-footer,.wz-journey-links{padding-bottom:55px}}
/* Homepage shortcuts: every tile directly leads to a working internal page. */
.wz-home-quicklinks {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding-top:17px;padding-bottom:20px}
.wz-home-quicklinks a {min-width:0;padding:18px 15px;display:grid;grid-template-columns:1fr auto;gap:6px;align-items:end;color:#402c34;background:#fffaf4;border:1px solid #e6d9d2;border-radius:16px;text-decoration:none;box-shadow:0 5px 15px #3e1e2b0b;transition:transform .35s var(--wzr-ease),background .3s,border-color .3s,box-shadow .35s}
.wz-home-quicklinks a:hover {transform:translateY(-5px);background:#fff;border-color:#cbaaba;box-shadow:0 12px 26px #652d431d}
.wz-home-quicklinks span {grid-column:1/-1;font:800 9px Manrope,Arial,sans-serif;color:#936f7e;letter-spacing:.12em}
.wz-home-quicklinks strong {font:700 clamp(11px,1.05vw,14px) Manrope,Arial,sans-serif}
.wz-home-quicklinks b {color:#652d43;font-size:17px}
.wz-home-quicklinks a:focus-visible {outline:3px solid #b77b56;outline-offset:2px}
@media(max-width:940px){.wz-home-quicklinks{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.wz-home-quicklinks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:13px}.wz-home-quicklinks a{padding:13px 12px;border-radius:13px}}
/* Venue directory: lightweight cards, 3 columns on desktop; preserve meaningful action space. */
.vc-page .vc-results .vc-grid{gap:16px;align-items:start}
.vc-page .vc-results .vc-card{min-height:0;border-radius:16px;box-shadow:0 4px 13px #49213110;background:#fff;transition:transform .4s var(--wzr-ease),box-shadow .35s,border-color .35s,opacity .5s}
.vc-page .vc-results .vc-card:hover{transform:translateY(-6px);box-shadow:0 15px 31px #49213122}
.vc-page .vc-results .vc-card-media{aspect-ratio:1.62}
.vc-page .vc-results .vc-card-media img{transition:transform .7s var(--wzr-ease),filter .7s}
.vc-page .vc-results .vc-card:hover .vc-card-media img{transform:scale(1.055)}
.vc-page .vc-results .vc-card-media-wrap::before{width:27px;height:27px;top:10px;right:10px;font-size:8px}
.vc-page .vc-results .vc-card .vc-media-type{top:10px;left:10px;padding:6px 9px;font-size:8px;border-radius:7px}
.vc-page .vc-results .vc-card-body{padding:14px 16px 15px;gap:5px}
.vc-page .vc-results .vc-card h3{font-size:clamp(21px,1.9vw,25px);line-height:1.08;min-height:0;margin:2px 0 3px;letter-spacing:-.025em}
.vc-page .vc-results .vc-card h3::after{display:none}
.vc-page .vc-results .vc-card .vc-location{font-size:10px;line-height:1.5}
.vc-page .vc-results .vc-card .vc-card-summary{font-size:10px;line-height:1.55;min-height:0;-webkit-line-clamp:2;line-clamp:2}
.vc-mini-facts {display:flex;flex-wrap:wrap;gap:5px 12px;color:#6b5361;font-size:10px;font-weight:700;line-height:1.35;margin:7px 0 0}
.vc-page .vc-results .vc-card .vc-card-bottom{margin:4px 0 0;padding:11px 0 4px;border-top:1px solid #f0e7e1}
.vc-page .vc-results .vc-card .vc-card-bottom small{font-size:8px;margin-bottom:4px}
.vc-page .vc-results .vc-card .vc-card-bottom strong{font-size:12px;line-height:1.3}
.vc-page .vc-results .vc-card .vc-card-actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 43px;gap:6px;margin-top:7px}
.vc-page .vc-results .vc-card .vc-card-actions .vc-btn{font-size:10px;min-height:40px;max-height:40px;padding:8px;border-radius:9px}
.vc-card-view,.vc-card-call {display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px;border:1px solid #e3d5d8;border-radius:9px;font:800 10px Manrope,Arial,sans-serif;color:#652d43!important;background:#fffaf6;text-decoration:none;transition:background .25s,transform .25s}
.vc-card-view:hover,.vc-card-call:hover {background:#f1e6e5;transform:translateY(-2px)}
.vc-card-call svg{width:17px;height:17px;flex:none}
.vc-page .vc-card-hover-call,.vc-call-number,.vc-call-label {display:none!important}
@media(min-width:761px) and (max-width:1120px){.vc-page .vc-results .vc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.vc-page .vc-results .vc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vc-page .vc-results .vc-card h3{font-size:clamp(19px,3.3vw,24px)}.vc-page .vc-results .vc-card-media{aspect-ratio:1.48}.vc-page .vc-results .vc-card-body{padding:12px}.vc-page .vc-results .vc-card .vc-card-actions{grid-template-columns:1fr 40px}.vc-page .vc-results .vc-card .vc-card-actions .vc-card-view{display:none}.vc-page .vc-results .vc-card .vc-card-summary{-webkit-line-clamp:2;line-clamp:2}}
@media(max-width:550px){.vc-page .vc-results .vc-grid{grid-template-columns:1fr;gap:12px}.vc-page .vc-results .vc-card-media{aspect-ratio:1.85}.vc-page .vc-results .vc-card h3{font-size:23px}.vc-page .vc-results .vc-card-body{padding:14px 15px}.vc-page .vc-results .vc-card .vc-card-actions{grid-template-columns:1fr 1fr 41px}.vc-page .vc-results .vc-card .vc-card-actions .vc-card-view{display:flex}}
/* Venue detail integrated enquiry: adjacent on desktop, stacked within venue on phone. */
.vc-detail-page .vc-enquiry{background:linear-gradient(160deg,#fffdf9,#fbf4f0);border:1px solid #ddc8c7;box-shadow:0 12px 30px #49213110;border-radius:18px;scroll-margin-top:115px}
.vc-detail-page .vc-enquiry h2{font-size:clamp(27px,2.5vw,36px);line-height:1.05;overflow-wrap:anywhere}
.vc-detail-page .vc-enquiry-price{font-size:12px;font-weight:800;color:#652d43;padding:0 0 13px;border-bottom:1px solid #e6d6d0}
.vc-detail-page .vc-enquiry-direct{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 17px}
.vc-detail-page .vc-enquiry-direct a{min-height:43px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;border:1px solid #d7b6c1;border-radius:9px;background:#fff;text-align:center;color:#652d43;font-size:12px;font-weight:800;text-decoration:none}
.vc-detail-page .vc-enquiry-direct a:last-child{background:#e6f8ed;border-color:#a5d8bd;color:#137449}
.vc-detail-page .vc-enquiry-direct a:hover{transform:translateY(-2px)}
.vc-detail-page .vc-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px}
.vc-detail-page .vc-hero-actions .vc-link{white-space:nowrap}
.wz-venue-next{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin:12px 0 45px;padding:20px 0;border-top:1px solid #eadfda}
.wz-venue-next span{font:800 9px Manrope,Arial,sans-serif;color:#967081;letter-spacing:.13em;width:100%}
.wz-venue-next a{display:inline-flex;padding:10px 13px;border:1px solid #e5d4d7;border-radius:22px;background:#fff9f6;color:#652d43;font:800 11px Manrope,Arial,sans-serif;text-decoration:none;transition:transform .25s,background .25s}
.wz-venue-next a:hover{background:white;transform:translateY(-2px)}
/* Vendor directory: no number reveal, modest card size, visible quick phone access. */
.wz-vendors .wv-grid .wv-card-media{aspect-ratio:1.62}
.wz-vendors .wv-grid .wv-card-body{padding:14px 16px 17px}
.wz-vendors .wv-grid .wv-card h3{font-size:clamp(22px,1.9vw,27px);line-height:1.08;margin:7px 0}
.wz-vendors .wv-hover-call{display:none!important}
.wz-vendors .wv-card .wv-quick-call{position:absolute;z-index:5;bottom:11px;right:11px;display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:13px;background:#fffaf4;color:#652d43;box-shadow:0 5px 19px #26141a55;border:1px solid #fff;text-decoration:none;opacity:1;transform:none;transition:background .25s,transform .25s}
.wz-vendors .wv-quick-call svg{width:19px;height:19px}
.wz-vendors .wv-card .wv-quick-call:hover{transform:translateY(-3px);background:white}
@media(max-width:620px){.wz-vendors .wv-card-media{aspect-ratio:1.45}.wz-vendors .wv-card-body{padding:12px}.wz-vendors .wv-grid .wv-card h3{font-size:23px}}
/* Homepage featured cards are also smaller: they remain clickable/profile linked. */
.home-refreshed .vision-featured-vendors{gap:16px}
.home-refreshed .vision-featured-vendors .vision-vendor-card .vendor-media{aspect-ratio:1.18}
.home-refreshed .vision-featured-vendors .vision-vendor-card h3{font-size:clamp(22px,2vw,30px);line-height:1.05}
.home-refreshed .vision-featured-vendors .vision-vendor-card .vendor-card-body{padding-top:12px}
.home-refreshed .vision-featured-vendors .vision-vendor-card .vendor-open{width:66px;height:66px;font-size:8px}
/* Reduce motion without hiding content. */
@media(prefers-reduced-motion:reduce){.wz-contact-dock a,.wz-home-quicklinks a,.vc-page .vc-results .vc-card,.vc-page .vc-results .vc-card-media img,.vc-card-view,.vc-card-call,.vc-detail-page .vc-enquiry-direct a,.wz-venue-next a,.wz-vendors .wv-quick-call{transition:none!important;animation:none!important;transform:none!important}}
