/* VIFOOD V501 — public article location + related products only */
.vf501-location{overflow:hidden;margin:24px 0 22px!important;border:1px solid #d7e9df!important;border-radius:16px!important;padding:0!important;background:#fff!important;box-shadow:0 10px 30px rgba(14,74,43,.08);font-family:inherit}
.vf501-location-head{display:flex;gap:16px;align-items:center;background:linear-gradient(110deg,#075a36,#168356);padding:20px 24px;color:#fff}
.vf501-location-head .vf501-pin{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#ffffff24;color:#fff;font-size:25px;flex-shrink:0}
.vf501-location-head .vf501-eyebrow{display:block;color:#d4f5e2;font-size:11px;letter-spacing:1.2px;font-weight:750;margin-bottom:4px}
.vf501-location-head h2{color:#fff!important;font-size:clamp(19px,2.4vw,27px)!important;font-weight:800!important;line-height:1.3!important;margin:0!important}
.vf501-location-body{display:grid;gap:10px;padding:20px 23px}
.vf501-location-row{display:flex;align-items:center;gap:14px;background:#f4f8f6;border:1px solid #edf2ee;border-radius:12px;padding:14px 16px;min-width:0}
.vf501-location-row .vf501-row-icon{flex:0 0 42px;height:42px;border-radius:50%;background:#d9f1e4;color:#08643b;display:grid;place-items:center;font-size:22px;font-weight:800}
.vf501-location-row>div{flex:1;min-width:0}
.vf501-location-row small{display:block;color:#62786d;font-size:12px;margin-bottom:4px}
.vf501-location-row strong{display:block;color:#0b5034;font-size:clamp(15px,1.8vw,19px);line-height:1.4;overflow-wrap:anywhere}
.vf501-location-row p{margin:3px 0 0!important;font-size:13px;color:#4e6559;line-height:1.6}
.vf501-call{display:inline-flex;align-items:center;justify-content:center;background:#09663e;color:#fff!important;border-radius:9px;padding:11px 16px;text-decoration:none!important;font-weight:750;white-space:nowrap;min-height:43px}
.vf501-call:hover{background:#064c2e;color:#fff!important}
/* Product cards: preserve SQL values, links and existing images. */
.vf-v281-products{background:#f5faf7!important;border:1px solid #dcece2!important;border-radius:16px!important;padding:22px!important;margin:24px 0!important;box-shadow:0 6px 22px rgba(8,79,45,.045)}
.vf-v281-products #vf-v281-products-title{color:#0b5537!important;font-size:clamp(19px,2.1vw,25px)!important;font-weight:800!important;margin:0 0 17px!important}
.vf-v281-products .vf-v281-products-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important}
.vf-v281-products .vf-v281-product{display:grid!important;grid-template-columns:minmax(100px,36%) minmax(0,1fr)!important;gap:12px!important;align-items:stretch!important;background:#fff!important;border:1px solid #dfeae3!important;border-radius:12px!important;padding:12px!important;margin:0!important;min-width:0!important;box-shadow:0 3px 10px rgba(0,0,0,.03)}
.vf-v281-products .vf-v281-product-image{display:block!important;min-width:0!important;height:100%!important;min-height:140px!important;border-radius:9px!important;overflow:hidden!important}
.vf-v281-products .vf-v281-product-image img{display:block!important;width:100%!important;height:100%!important;min-height:140px!important;object-fit:cover!important}
.vf-v281-products .vf-v281-product-info{min-width:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important}
.vf-v281-products .vf-v281-product-info h3{font-size:15px!important;line-height:1.4!important;color:#103d2b!important;margin:0!important;font-weight:800!important}
.vf-v281-products .vf-v281-product-info dl{margin:0!important;display:grid!important;gap:3px!important}
.vf-v281-products .vf-v281-product-info dl>div{display:flex!important;flex-wrap:wrap!important;gap:3px!important;line-height:1.45!important;font-size:12px!important}
.vf-v281-products .vf-v281-product-info dt{color:#69786f!important;font-weight:500!important;margin:0!important}
.vf-v281-products .vf-v281-product-info dd{color:#234b36!important;font-weight:650!important;margin:0!important}
.vf-v281-products .vf-v281-product-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;margin-top:auto!important;border:1px solid #168356!important;border-radius:8px!important;padding:9px 10px!important;background:#fff!important;color:#08613b!important;font-size:12px!important;font-weight:750!important;text-decoration:none!important}
.vf-v281-products .vf-v281-product-cta:hover{background:#08613b!important;color:#fff!important}
.vf-v281-products .vf-v281-product-note{font-size:12px!important;color:#697b70!important;margin:14px 0 0!important}
@media(max-width:950px){.vf-v281-products .vf-v281-products-grid{grid-template-columns:1fr!important}}
@media(max-width:600px){.vf501-location-head{padding:17px;gap:11px}.vf501-location-body{padding:12px;gap:8px}.vf501-location-row{padding:12px;gap:9px;flex-wrap:wrap}.vf501-location-row .vf501-row-icon{flex-basis:35px;height:35px;font-size:18px}.vf501-call{width:100%}.vf-v281-products{padding:13px!important}.vf-v281-products .vf-v281-product{grid-template-columns:110px minmax(0,1fr)!important;padding:9px!important;gap:10px!important}.vf-v281-products .vf-v281-product-image{min-height:125px!important}.vf-v281-products .vf-v281-product-image img{min-height:125px!important}}
@media(max-width:380px){.vf-v281-products .vf-v281-product{grid-template-columns:95px minmax(0,1fr)!important}.vf-v281-products .vf-v281-product-info h3{font-size:13px!important}}

/* V502 – exact two-column hierarchy, responsive, map as reliable live visual. */
.vf502-location{border-radius:18px!important;box-shadow:0 12px 34px rgba(10,75,43,.1)!important}
.vf502-location .vf501-location-head{justify-content:space-between;min-height:90px;background:linear-gradient(115deg,#075637,#0d8251)!important}
.vf502-location .vf501-location-head>div{flex:1;min-width:0}
.vf502-location .vf502-head-note{font-size:13px;color:#e2f7e9;font-weight:600;text-align:right}
.vf502-location .vf502-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:22px;padding:20px 23px;align-items:stretch}
.vf502-location .vf502-details{display:grid;gap:12px;min-width:0}
.vf502-location .vf501-location-row{padding:16px 17px;background:#f3f7f5;min-height:80px}
.vf502-location .vf501-location-row strong{font-size:clamp(16px,1.9vw,21px)}
.vf502-location .vf502-buttons{flex:0 0 auto}
.vf502-location .vf502-footer{display:flex;flex-wrap:wrap;gap:14px;padding:3px 6px;color:#285e42;font-size:12px;font-weight:700}
.vf502-location .vf502-visual{position:relative;display:flex;flex-direction:column;min-height:350px;overflow:hidden;border-radius:15px;background:linear-gradient(145deg,#e0f4e9,#cce6df);border:1px solid #d7e8dc}
.vf502-location .vf502-map-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 16px;background:#e6f5ec;color:#084f33}
.vf502-location .vf502-map-caption strong{font-size:16px}.vf502-location .vf502-map-caption span{font-size:12px}
.vf502-location .vf502-map{width:100%;height:100%;min-height:260px;flex:1;border:0;display:block;background:#e2efe7}
.vf502-location .vf502-map-link{display:block;background:#075a39;color:#fff!important;text-align:center;padding:13px;text-decoration:none!important;font-weight:700;font-size:13px}
.vf502-location .vf502-map-fallback{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;padding:30px;color:#0b5838;font-size:20px;font-weight:800}
.vf502-location .vf502-map-fallback small{font-size:13px;font-weight:400}
@media(max-width:950px){.vf502-location .vf502-layout{grid-template-columns:1fr}.vf502-location .vf502-visual{min-height:280px}.vf502-location .vf502-head-note{display:none}}
@media(max-width:600px){.vf502-location .vf502-layout{padding:12px;gap:12px}.vf502-location .vf501-location-row{min-height:0;padding:12px}.vf502-location .vf502-visual{min-height:260px}.vf502-location .vf502-map{min-height:220px}.vf502-location .vf502-footer{gap:7px}}
