﻿/* Ya Kun Store Locator */
.yks-wrap{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;max-width:100%}
.yks-wrap *{box-sizing:border-box}

/* Top bar with filters */
.yks-top{background:#fff;border:1px solid #e2e2e2;border-radius:12px;padding:14px 16px;margin-bottom:12px}
.yks-title{margin:0 0 12px;font-size:24px;line-height:1.2;font-weight:700}
.yks-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;position:relative}
.yks-search{position:relative;flex:1 1 260px;min-width:220px}
.yks-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#999;display:flex;pointer-events:none;width:18px;height:18px}
.yks-search-input{width:100%;padding:10px 88px 10px 42px !important;border:1px solid #d4d4d4;border-radius:8px;font-size:14px;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
.yks-search-input:focus{border-color:#c8102e;box-shadow:0 0 0 3px rgba(200,16,46,.12)}
.yks-locate{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background-color:#1a1a1a;width:34px;height:34px;border-radius:6px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:18px 18px}
.yks-locate:hover{background-color:#c8102e}
.yks-locate.is-active{background:#1a5fb4}
.yks-locate.is-loading{opacity:.5}
.yks-dd-wrap{position:relative;display:inline-flex;flex-direction:column}
.yks-dd-toggle,.yks-toggle-amenities{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #d4d4d4;border-radius:8px;background:#fff;font-size:14px;font-weight:600;cursor:pointer;color:#1a1a1a;white-space:nowrap;max-width:220px}
.yks-dd-toggle .yks-caret,.yks-toggle-amenities .yks-caret{border:solid #888;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);transition:transform .15s;margin-left:2px;flex-shrink:0}
.yks-dd-toggle.is-open .yks-caret,.yks-toggle-amenities.is-open .yks-caret{transform:rotate(-135deg)}
.yks-dd-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.yks-dd{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:40;min-width:200px;max-width:min(280px,calc(100vw - 20px));max-height:340px;overflow:auto;background:#fff;border:1px solid #e2e2e2;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:6px}
.yks-dd.is-open{display:block}
.yks-dd-option{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:none;font-size:14px;color:#1a1a1a;cursor:pointer;border-radius:6px}
.yks-dd-option:hover{background:#f5f5f5}
.yks-dd-option.is-selected{background:#fff3f4;color:#c8102e;font-weight:600}
.yks-reset{border:1px solid transparent;background:none;color:#1a5fb4;font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline;padding:6px 8px}

/* Amenities dropdown */
.yks-amenities-wrap{position:relative;display:inline-flex;flex-direction:column}
.yks-amenities{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:300px;max-width:min(300px,calc(100vw - 20px));max-height:340px;overflow:auto;background:#fff;border:1px solid #e2e2e2;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:12px 14px}
.yks-amenities.is-open{display:block}
.yks-amenity{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:14px;cursor:pointer}
.yks-amenity input{margin:0;flex-shrink:0}
.yks-amenity .yks-am-icon{width:18px;height:18px;flex-shrink:0}
.yks-amenity img{display:block;width:16px;height:16px;flex-shrink:0}
.yks-amenity-hint{margin:8px 0 0;font-size:12px;color:#888}

/* Map stage with overlay results panel */
.yks-stage{position:relative}
.yks-map{width:100%;border-radius:12px;overflow:hidden;border:1px solid #e0e0e0;background:#e5e3df}
.yks-map .gm-style{font-family:inherit}
.yks-panel{position:absolute;top:12px;left:12px;bottom:12px;width:380px;max-width:46%;background:#fff;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.18);display:flex;flex-direction:column;overflow:hidden;z-index:5;transition:width .2s ease}
.yks-panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #eee;background:#fff}
.yks-count{font-size:14px;font-weight:700;color:#c8102e;white-space:nowrap}
.yks-collapse{border:none;background:none;color:#555;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px}
.yks-collapse:hover{background:#f1f1f1}
.yks-collapse svg{transition:transform .2s}
.yks-panel.is-collapsed{width:56px}
.yks-panel.is-collapsed .yks-collapse svg{transform:rotate(180deg)}
.yks-panel.is-collapsed .yks-list{display:none}
.yks-panel.is-collapsed .yks-count{display:none}
.yks-list{flex:1;overflow:auto;max-height:100%}
.yks-none{padding:20px;text-align:center;color:#888;font-size:14px}
.yks-item{display:flex;align-items:flex-start;gap:10px;padding:14px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .12s}
.yks-item:last-child{border-bottom:none}
.yks-item:hover{background:#fafafa}
.yks-item.is-active{background:#fff3f4;box-shadow:inset 3px 0 0 #c8102e}
.yks-item-main{flex:1;min-width:0}
.yks-item h3{margin:0 0 4px;font-size:15px;font-weight:700}
.yks-item-addr{margin:0 0 8px;font-size:13px;color:#666;line-height:1.5}
.yks-item-hours{margin:-2px 0 8px;font-size:12px;color:#1a5fb4;font-weight:600}
.yks-item-dir{flex-shrink:0;font-size:12px;color:#1a5fb4;text-decoration:none;font-weight:600;margin-top:2px}
.yks-item-dist{flex-shrink:0;font-size:12px;color:#888;margin-top:2px;font-weight:600}
.yks-chip-row{display:flex;flex-wrap:wrap;gap:6px}
.yks-chip{display:inline-block;padding:8px;border-radius:999px;background:#f1f1f1;font-size:11px;color:#444;font-weight:500}
.yks-chip-region{background:#1a1a1a;color:#fff}

/* Amenity icons */
.yks-am-row{display:flex;flex-wrap:wrap;gap:6px}
.yks-am-icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:7px;background:#c8102e;color:#fff;cursor:help}
.yks-am-icon svg{display:block}
.yks-pop .yks-am-row{margin:8px 0}
.yks-pop .yks-chip-row{margin-top:2px}


/* Google InfoWindow */
/* Google InfoWindow card */
.gm-style .gm-style-iw-c{padding:0!important;border-radius:14px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.22)}
.gm-style .gm-style-iw-d{overflow:hidden!important}
.gm-style .gm-style-iw-chr{position:absolute;top:8px;right:8px;width:auto!important;height:auto!important;padding:0!important;background:transparent;z-index:2}
.gm-style .gm-style-iw-chr button.gm-ui-hover-effect{position:absolute!important;top:0!important;right:0!important;width:28px!important;height:28px!important;padding:0!important;margin:0!important;background:#f1f1f1!important;border-radius:50%!important;opacity:1!important;overflow:hidden}
.gm-style .gm-style-iw-chr button.gm-ui-hover-effect span{display:block!important;width:14px!important;height:14px!important;margin:7px!important;padding:0!important;background-color:#555!important;pointer-events:none}
.gm-style .gm-style-iw-t::after{background:linear-gradient(45deg,rgba(255,255,255,0) 50%,rgba(255,255,255,0) 51%),linear-gradient(135deg,#fff 50%,rgba(255,255,255,0) 51%)!important}

.yks-pop{position:relative;display:flex;flex-direction:column;gap:8px;min-width:220px;max-width:300px;padding:20px 20px 22px;background:#fff;color:#1a1a1a}
.yks-pop h4{margin:0;font-size:17px;line-height:1.3;padding-right:24px}
.yks-pop-type{margin:0;font-size:12px;color:#c8102e;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.yks-pop-addr{margin:0;font-size:13px;color:#555;line-height:1.55}
.yks-pop-hours{margin:0;font-size:13px;color:#1a5fb4;font-weight:600}
.yks-pop-cms{margin:0;font-size:13px;color:#333;line-height:1.6}
.yks-pop .yks-am-row{margin:2px 0 0;gap:6px}
.yks-pop .yks-chip-row{margin:2px 0 0}
.yks-pop-dir{display:block;margin-top:2px;padding:9px 14px;background:#c8102e;color:#fff !important;text-decoration:none;border-radius:8px;font-size:13px;font-weight:600;text-align:center}
.yks-pop-dir:hover{background:#a80d26}
.yks-pop-cms-btn{display:block;width:100%;margin-top:0;padding:9px 14px;background:#1a1a1a;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;text-align:center}
.yks-pop-cms-btn:hover{background:#c8102e}

/* No key notice */
.yks-no-key{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f7f7f7;border-radius:12px;z-index:2;text-align:center;padding:30px}
.yks-no-key h3{margin:0 0 8px}
.yks-no-key p{max-width:420px;color:#666;margin:0}

/* CMS details modal */
.yks-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.yks-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
.yks-modal-box{position:relative;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.3);max-width:520px;width:100%;max-height:86vh;display:flex;flex-direction:column;overflow:hidden}
.yks-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid #eee}
.yks-modal-head-text{flex:1;min-width:0}
.yks-modal-title{margin:0;font-size:19px;font-weight:700;line-height:1.3}
.yks-modal-type{margin:3px 0 0;font-size:12px;color:#c8102e;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.yks-modal-close{border:none;background:none;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;flex-shrink:0}
.yks-modal-close:hover{background:#f1f1f1;color:#1a1a1a}
.yks-modal-map{height:180px;border-bottom:1px solid #eee;background:#e5e3df}
.yks-modal-body{padding:18px;overflow:auto;font-size:14px;line-height:1.7;color:#333}
.yks-modal-addr{margin:0 0 14px;font-size:14px;color:#555;line-height:1.6}
.yks-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.yks-modal-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 auto;padding:10px 16px;border:1px solid #d4d4d4;border-radius:8px;font-size:13px;font-weight:600;color:#1a1a1a;text-decoration:none;background:#fff;text-align:center}
.yks-modal-btn-primary{background:#c8102e;border-color:#c8102e;color:#fff !important}
.yks-modal-btn-primary:hover{background:#a80d26}
.yks-modal-btn:hover{background:#f7f7f7}
.yks-modal-btn-primary:hover{background:#a80d26;color:#fff}
.yks-modal-section{margin:18px 0 0;padding-top:18px;border-top:1px solid #eee}
.yks-modal-sec-title{margin:0 0 10px;font-size:14px;font-weight:700;color:#1a1a1a}
.yks-modal-extra{font-size:14px;line-height:1.7}
.yks-modal-extra img{max-width:100%;height:auto;border-radius:8px}
.yks-modal-foot{padding:12px 18px;border-top:1px solid #eee;text-align:right;background:#fafafa}
.yks-modal-foot .yks-pop-dir{margin-top:0}

/* Opening hours table */
.yks-hours-table{width:100%;border-collapse:collapse;font-size:13px}
.yks-hours-table th,.yks-hours-table td{padding:6px 8px;text-align:left;border-bottom:1px solid #f1f1f1;vertical-align:middle}
.yks-hours-table th{font-weight:600;color:#555;width:1%;white-space:nowrap}
.yks-hours-table td{color:#1a1a1a}
.yks-hours-today th,.yks-hours-today td{background:#fff6f7}
.yks-hours-today th{color:#c8102e;font-weight:700}
.yks-hours-opennow{font-size:11px;font-weight:700;color:#c8102e;white-space:nowrap;text-align:right}

/* Amenities list in modal */
.yks-modal-amenities{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px}
.yks-modal-amenity{display:flex;align-items:center;gap:10px;font-size:13px;color:#1a1a1a}
.yks-modal-amenity .yks-am-icon{width:22px;height:22px;flex-shrink:0}
.yks-modal-amenity span{line-height:1.3}

body.yks-modal-open{overflow:hidden}
@media (max-width:560px){
	.yks-modal{padding:10px}
	.yks-modal-box{max-height:92vh}
}

@media (max-width:860px){
	.yks-panel{position:static;width:100%;max-width:none;margin-top:10px;max-height:360px;border:1px solid #e2e2e2}
	.yks-panel.is-collapsed{width:100%}
	.yks-panel.is-collapsed .yks-count{display:block}
	.yks-panel.is-collapsed .yks-list{display:block}
	.yks-panel.is-collapsed .yks-collapse svg{transform:rotate(0deg)}
	.yks-dd-toggle,.yks-toggle-amenities{max-width:none;flex:1 1 auto}
	.yks-dd-wrap{flex:1 1 160px}
	.yks-dd{min-width:0;width:100%}
	.yks-amenities{width:min(300px,90vw)}
}
