.yh-discounts-map {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 14px;
line-height: 1.4;
color: #212121;
box-sizing: border-box;
}
.yh-discounts-map *, .yh-discounts-map *::before, .yh-discounts-map *::after {
box-sizing: inherit;
} .yh-dm-container {
display: flex;
flex-direction: row;
width: 100%;
height: 600px;
border: 1px solid #e0e0e0;
border-radius: 8px;
overflow: hidden;
}
.yh-dm-map {
flex: 0 0 65%;
position: relative;
}
#yh-map {
width: 100%;
height: 100%;
}
.yh-dm-sidebar {
flex: 0 0 35%;
display: flex;
flex-direction: column;
border-left: 1px solid #e0e0e0;
background: #fafafa;
overflow: hidden;
}
.yh-dm-sidebar-header {
padding: 12px 14px 10px;
background: #fff;
border-bottom: 1px solid #e0e0e0;
font-weight: 600;
font-size: 13px;
color: #555;
letter-spacing: 0.03em;
text-transform: uppercase;
flex-shrink: 0;
}
.yh-dm-list {
flex: 1;
overflow-y: auto;
padding: 6px 0;
margin: 0;
list-style: none;
}
.yh-dm-list:focus-within {
outline: none;
} .yh-dm-item {
display: flex;
align-items: flex-start;
gap: 10px;
width: 100%;
padding: 10px 14px;
background: transparent;
border: none;
border-bottom: 1px solid #efefef;
cursor: pointer;
text-align: left;
transition: background 0.15s;
color: inherit;
font-family: inherit;
font-size: inherit;
}
.yh-dm-item:last-child {
border-bottom: none;
}
.yh-dm-item:hover {
background: #f0f4ff;
}
.yh-dm-item:focus-visible {
outline: 2px solid #1E88E5;
outline-offset: -2px;
background: #f0f4ff;
}
.yh-dm-item.yh-active {
background: #e8f0fe;
}
.yh-dm-dot {
flex-shrink: 0;
width: 12px;
height: 12px;
border-radius: 50%;
margin-top: 3px;
}
.yh-dm-info {
flex: 1;
min-width: 0;
}
.yh-dm-name {
font-weight: 600;
font-size: 13px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.yh-dm-address {
font-size: 12px;
color: #666;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
} .yh-dm-detail {
color: #1a73e8;
margin-top: 2px;
} .yh-dm-detail--offer {
font-size: 11px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.yh-dm-detail--pouring {
font-size: 12px;
font-weight: 600;
line-height: 1.35;
}
.yh-dm-detail-label {
color: #555;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.04em;
font-size: 11px;
}
.yh-dm-directions {
flex-shrink: 0;
font-size: 11px;
color: #1a73e8;
text-decoration: none;
padding: 2px 0;
white-space: nowrap;
margin-top: 2px;
}
.yh-dm-directions:hover {
text-decoration: underline;
}
.yh-dm-directions:focus-visible {
outline: 2px solid #1E88E5;
outline-offset: 2px;
border-radius: 2px;
} .yh-dm-footer {
padding: 10px 14px;
font-size: 11px;
color: #888;
border-top: 1px solid #e0e0e0;
background: #fff;
line-height: 1.5;
flex-shrink: 0;
} .yh-iw {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 13px;
max-width: 220px;
}
.yh-iw-name {
font-weight: 700;
font-size: 14px;
margin-bottom: 4px;
color: #212121;
}
.yh-iw-cat {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 6px;
}
.yh-iw-address {
color: #555;
margin-bottom: 4px;
}
.yh-iw-detail {
color: #1a73e8;
font-weight: 600;
margin-bottom: 8px;
}
.yh-iw-detail-label {
color: #555;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.04em;
font-size: 11px;
}
.yh-iw-web {
display: inline-block;
margin: 0 8px 0 0;
color: #1a73e8;
text-decoration: none;
font-size: 12px;
font-weight: 600;
}
.yh-iw-web:hover {
text-decoration: underline;
}
.yh-iw-dir {
display: inline-block;
background: #1a73e8;
color: #fff;
padding: 5px 12px;
border-radius: 4px;
text-decoration: none;
font-size: 12px;
font-weight: 600;
}
.yh-iw-dir:hover {
background: #1557b0;
} @media (max-width: 767px) {
.yh-dm-container {
flex-direction: column;
height: auto !important;
}
.yh-dm-map {
flex: none;
height: 50vh;
min-height: 280px;
}
.yh-dm-sidebar {
flex: none;
border-left: none;
border-top: 1px solid #e0e0e0;
max-height: 360px;
}
.yh-dm-item {
padding: 10px 12px;
} .yh-dm-detail--offer {
display: none;
}
.yh-dm-name {
font-size: 14px;
}
}  .yh-dm-marker {
position: relative;
display: block;
line-height: 0;
padding-bottom: 4px;
}
.yh-dm-marker-img {
display: block; height: 36px;
width: auto;
filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.35));
}
.yh-dm-marker::after {
content: "";
position: absolute;
left: 50%;
bottom: 0;
width: 12px;
height: 3px;
transform: translateX(-50%);
border-radius: 50%;
background: rgba(0, 0, 0, 0.28);
} .yh-dm-bottle {
flex: 0 0 auto;
height: 26px;
width: auto;
margin-top: 1px;
} @media (prefers-reduced-motion: reduce) {
.yh-dm-item {
transition: none;
}
} .yh-venues {
display: grid;
gap: 22px;
grid-template-columns: repeat(var(--yh-venue-cols, 3), minmax(0, 1fr));
}
.yh-venues--cols-2 { --yh-venue-cols: 2; }
.yh-venues--cols-3 { --yh-venue-cols: 3; }
.yh-venues--cols-4 { --yh-venue-cols: 4; }
.yh-venue {
display: flex;
flex-direction: column;
overflow: hidden;
border: 1px solid #e0e0e0;
border-radius: 10px;
background: #fff;
}
.yh-venue-media {
aspect-ratio: 4 / 3;
overflow: hidden;
background: #eceff1;
}
.yh-venue-media img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.yh-venue-body {
padding: 14px 16px 16px;
}
.yh-venue-name {
margin: 0 0 4px;
font-size: 18px;
line-height: 1.25;
font-weight: 700;
color: #212121;
}
.yh-venue-detail {
margin: 0;
font-size: 14px;
line-height: 1.45;
color: #1a73e8;
font-weight: 600;
}
.yh-venue-detail-label {
display: block;
color: #555;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.04em;
font-size: 11px;
}  .yh-venue--no-photo {
background: var(--yh-venue-bg, #3b4d55);
border-color: transparent;
min-height: 220px;
justify-content: flex-end;
}
.yh-venue--no-photo .yh-venue-name,
.yh-venue--no-photo .yh-venue-detail,
.yh-venue--no-photo .yh-venue-detail-label {
color: #fff;
}
@media (max-width: 991px) {
.yh-venues { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
.yh-venues { grid-template-columns: 1fr; }
.yh-venue-name { font-size: 17px; }
}