/* Stage 4.17 — consolidated mobile UX fix, scoped and cache-versioned */
/* Opening hours — readable 2-row grid on narrow viewports */
.s3-hours{min-width:0;max-width:100%;overflow:hidden}
.s3-hours .s3-hour-row{min-width:0;max-width:100%;box-sizing:border-box}
.s3-hours .s3-hour-row > *{min-width:0;box-sizing:border-box}
@media(max-width:760px){
 .s3-hours{padding:18px 14px!important}
 .s3-hours .s3-hour-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)!important;gap:9px 12px!important;align-items:center!important;padding:12px 0!important}
 .s3-hours .s3-hour-row>span:first-child{grid-column:1!important;grid-row:1!important;overflow-wrap:normal!important;white-space:nowrap!important;font-size:14px!important}
 .s3-hours .s3-hour-row>select{grid-column:2!important;grid-row:1!important;width:100%!important;max-width:100%!important;margin:0!important}
 .s3-hours .s3-hour-row>input[type=time]{grid-row:2!important;width:100%!important;max-width:100%!important;margin:0!important;font-size:14px!important;padding:10px 4px!important;min-height:42px!important}
 .s3-hours .s3-hour-row>input[type=time]:nth-of-type(1){grid-column:1!important}
 .s3-hours .s3-hour-row>input[type=time]:nth-of-type(2){grid-column:2!important}
}
/* Replace Unicode/emoji icons with predictable SVG assets */
.cat-tile .cat-tile-icon{font-size:0!important;line-height:0!important;display:inline-grid!important;place-items:center!important;background:#e6f6f4!important;color:#0c8b91!important}
.cat-tile .cat-tile-icon::before{content:"";display:block;width:22px;height:22px;background-image:url('data:image/svg+xml,<svg%20xmlns="http://www.w3.org/2000/svg"%20viewBox="0%200%2024%2024"%20fill="none"%20stroke="%230c8b91"%20stroke-width="1.9"%20stroke-linecap="round"%20stroke-linejoin="round"><rect%20x="4"%20y="7"%20width="16"%20height="14"%20rx="1"/><path%20d="M9%2021v-6h6v6M7%207V3h10v4M8%2011h1m6%200h1"/></svg>');background-size:contain;background-position:center;background-repeat:no-repeat}
.cat-tile .cat-chevron,.card-arrow{display:none!important}
.s414-footer .s414-partner-icon,.s414-footer .s414-promo-icon{font-size:0!important;line-height:0!important;display:grid!important;place-items:center!important}
.s414-footer .s414-partner-icon::before,.s414-footer .s414-promo-icon::before{content:"";display:block;width:21px;height:21px;background:url('data:image/svg+xml,<svg%20xmlns="http://www.w3.org/2000/svg"%20viewBox="0%200%2024%2024"%20fill="none"%20stroke="%2386e4e6"%20stroke-width="2"%20stroke-linecap="round"><path%20d="M10%2013a5%205%200%200%200%207%20.3l3-3a5%205%200%200%200-7-7l-1.7%201.7M14%2011a5%205%200%200%200-7-.3l-3%203a5%205%200%200%200%207%207l1.7-1.7"/></svg>') no-repeat center/contain}
.s414-footer .s414-promo-icon::before{width:28px;height:28px}
.nav-cta span,.button .button-arrow,.button .arrow,.s414-promo .arrow{display:none!important}
/* Business profile link controls */
.deep-links{display:grid!important;gap:10px!important}
.deep-links a{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:14px!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere!important;text-decoration:none!important;min-width:0!important}
.deep-links a .d4-service-mark{font-size:0!important;line-height:0!important;display:grid!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;background:#e7f5f3!important;border-radius:8px!important}
.deep-links a .d4-service-mark::before{content:"";display:block;width:19px;height:19px;background:url('data:image/svg+xml,<svg%20xmlns="http://www.w3.org/2000/svg"%20viewBox="0%200%2024%2024"%20fill="none"%20stroke="%2386e4e6"%20stroke-width="2"%20stroke-linecap="round"><path%20d="M10%2013a5%205%200%200%200%207%20.3l3-3a5%205%200%200%200-7-7l-1.7%201.7M14%2011a5%205%200%200%200-7-.3l-3%203a5%205%200%200%200%207%207l1.7-1.7"/></svg>') center/contain no-repeat;filter:brightness(.55)}
.profile-section .s417-section-icon,.profile-side .s417-info-icon{font-size:0!important;line-height:0!important}
.profile-section .s417-section-icon::before{content:"";display:inline-block;width:19px;height:19px;background:url('data:image/svg+xml,<svg%20xmlns="http://www.w3.org/2000/svg"%20viewBox="0%200%2024%2024"%20fill="none"%20stroke="%2386e4e6"%20stroke-width="2"%20stroke-linecap="round"><path%20d="M10%2013a5%205%200%200%200%207%20.3l3-3a5%205%200%200%200-7-7l-1.7%201.7M14%2011a5%205%200%200%200-7-.3l-3%203a5%205%200%200%200%207%207l1.7-1.7"/></svg>') center/contain no-repeat;filter:brightness(.55)}
.profile-side .s417-info-icon::before{content:"i";font-size:16px!important;font-weight:800;color:#097e84;display:inline-grid;place-items:center;border:2px solid #097e84;width:21px;height:21px;border-radius:50%;line-height:1}
/* Real in-page gallery modal — avoid opening raw image files in Safari */
.s417-viewer[hidden]{display:none!important}
.s417-viewer{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:rgba(4,18,27,.95);padding:70px 16px 75px;box-sizing:border-box}
.s417-viewer figure{margin:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}
.s417-viewer img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px}
.s417-viewer button{appearance:none;border:1px solid rgba(255,255,255,.45);background:rgba(8,30,43,.94);color:#fff;border-radius:10px;cursor:pointer;font-size:22px;display:grid;place-items:center;width:48px;height:48px;touch-action:manipulation}
.s417-viewer button:focus-visible{outline:3px solid #5ddbd8;outline-offset:3px}
.s417-viewer-close{position:absolute;right:20px;top:max(20px,env(safe-area-inset-top));font-size:27px!important}
.s417-viewer-prev,.s417-viewer-next{position:absolute;top:50%;transform:translateY(-50%)}
.s417-viewer-prev{left:12px}.s417-viewer-next{right:12px}
.s417-viewer-count{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));color:#fff;font-size:14px;font-weight:700;letter-spacing:.04em}
body.s417-viewer-open{overflow:hidden}
@media(max-width:650px){.s417-viewer{padding:85px 12px 90px}.s417-viewer button{width:42px;height:42px}.s417-viewer-prev,.s417-viewer-next{top:auto;bottom:17px;transform:none}.s417-viewer-count{bottom:30px}}
