:root {
--sd-bg: #ffffff;
--sd-fg: #333333;
--sd-accent: #F8E100;
--sd-accent-light: rgba(248, 225, 0, 0.1);
--sd-border: #e1e1e1;
--sd-shadow: rgba(0, 0, 0, 0.1);
--sd-radius: 12px;
--sd-spacing: 16px;
--sd-transition: 0.3s ease;
--sd-icon-size: 1.2rem;
} *,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: 'Segoe UI', sans-serif;
color: var(--sd-fg);
background: #f8f9fa;
}
.sd-store-wrap {
max-width: 1200px;
margin: 0 auto;
padding: var(--sd-spacing);
} .sd-store-controls {
display: flex;
flex-wrap: wrap;
gap: var(--sd-spacing);
margin-bottom: calc(var(--sd-spacing) * 2);
}
.sd-store-controls select,
.sd-store-controls input[type="search"] {
flex: 1 1 200px;
padding: 0.75em 1em;
border: 1px solid var(--sd-border);
border-radius: var(--sd-radius);
background: #fff;
transition: border-color var(--sd-transition);
}
.sd-store-controls select:focus,
.sd-store-controls input[type="search"]:focus {
border-color: var(--sd-accent);
outline: none;
} .sd-store-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: calc(var(--sd-spacing) * 1.5);
}
.sd-store-card {
position: relative;
background: var(--sd-bg);
border-radius: var(--sd-radius);
overflow: hidden;
box-shadow: 0 6px 20px var(--sd-shadow);
transition: transform var(--sd-transition), box-shadow var(--sd-transition);
cursor: pointer;
display: flex;
flex-direction: column;
}
.sd-store-card::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
height: 4px;
width: 0;
background: var(--sd-accent);
transition: width var(--sd-transition);
}
.sd-store-card:hover {
transform: translateY(-6px);
box-shadow: 0 12px 28px var(--sd-shadow);
}
.sd-store-card:hover::after {
width: 100%;
}
.sd-card-logo {
background: var(--sd-accent-light);
padding: var(--sd-spacing);
text-align: center;
}
.sd-card-logo img {
max-height: 100px;
object-fit: contain;
transition: transform var(--sd-transition);
}
.sd-store-card:hover .sd-card-logo img {
transform: scale(1.05);
}
.sd-card-body {
padding: var(--sd-spacing);
flex: 1;
display: flex;
flex-direction: column;
}
.sd-card-body h3 {
margin-bottom: 0.5em;
font-size: 1.25rem;
position: relative;
}
.sd-card-body h3::after {
content: "";
position: absolute;
bottom: -4px;
left: 0;
height: 2px;
width: 0;
background: var(--sd-accent);
transition: width var(--sd-transition);
}
.sd-store-card:hover .sd-card-body h3::after {
width: 40px;
}
.sd-card-body p {
flex: 1;
margin-bottom: 1em;
font-size: 0.95rem;
line-height: 1.5;
color: #555;
}
.sd-btn-see-more {
align-self: flex-start;
background: var(--sd-accent);
color: #333;
padding: 0.6em 1.2em;
border-radius: var(--sd-radius);
text-decoration: none;
font-size: 0.9rem;
transition: background var(--sd-transition), transform var(--sd-transition);
}
.sd-btn-see-more:hover {
background: #e6d600;
transform: translateY(-2px);
} .sd-store-modal {
display: none;
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.6);
z-index: 9999;
align-items: center;
justify-content: center;
}
.sd-store-modal.open {
display: flex;
}
.sd-modal-backdrop {
position: absolute;
inset: 0;
} .sd-modal-inner {
position: relative;
display: grid;
grid-template-columns: 1fr 1fr;
background: var(--sd-bg);
border-radius: var(--sd-radius);
box-shadow: 0 12px 32px var(--sd-shadow);
width: 90vw;
max-width: 1400px;
max-height: 90vh;
overflow-y: auto;
margin: var(--sd-spacing);
padding: var(--sd-spacing);
} .sd-modal-close {
position: absolute;
top: var(--sd-spacing);
right: var(--sd-spacing);
background: none;
border: none;
font-size: 1.5rem;
cursor: pointer;
color: var(--sd-fg);
z-index: 10;
} .sd-modal-left {
padding-right: var(--sd-spacing);
border-right: 1px solid var(--sd-border);
}
.sd-modal-logo {
display: block;
margin: 0 auto var(--sd-spacing);
max-width: 120px;
border-radius: var(--sd-radius);
} .sd-modal-logo + .sd-desc-scroll::before {
content: "";
display: block;
height: 1px;
background: var(--sd-border);
margin-bottom: var(--sd-spacing);
}
.sd-desc-scroll {
max-height: calc(90vh - 260px);
overflow-y: auto;
font-size: 1rem;
line-height: 1.7;
color: #444;
padding-right: 0.5em;
}
.sd-desc-scroll::-webkit-scrollbar {
width: 6px;
}
.sd-desc-scroll::-webkit-scrollbar-thumb {
background: var(--sd-accent);
border-radius: 3px;
}
.sd-map-embed iframe {
width: 100%;
height: 200px;
border: 0;
border-radius: var(--sd-radius);
margin-top: var(--sd-spacing);
} .sd-modal-right {
padding-left: var(--sd-spacing);
display: flex;
flex-direction: column;
}
.sd-slider-nav,
.sd-prev,
.sd-next {
display: none !important;
}
.sd-slider img {
width: 100%;
display: none;
border-radius: var(--sd-radius);
}
.sd-slider img.active-slide {
display: block;
max-height: 100%;
object-fit: cover;
}
.sd-thumbs {
display: flex;
gap: 8px;
margin-bottom: var(--sd-spacing);
list-style: none;
padding: 0;
}
.sd-thumbs li {
width: 80px;
height: 80px;
border: 2px solid var(--sd-border);
border-radius: var(--sd-radius);
overflow: hidden;
transition: border-color var(--sd-transition), transform var(--sd-transition);
cursor: pointer;
}
.sd-thumbs li.active-thumb,
.sd-thumbs li:hover {
border-color: var(--sd-accent);
transform: translateY(-2px);
}
.sd-thumbs img {
width: 100%;
height: 100%;
object-fit: cover;
} .sd-info-box {
display: grid;
grid-template-columns: 1fr auto;
gap: var(--sd-spacing);
background: var(--sd-bg);
border: 1px solid var(--sd-border);
border-radius: var(--sd-radius);
padding: var(--sd-spacing);
box-shadow: 0 4px 12px var(--sd-shadow);
margin-top: auto;
}
.sd-info-box p {
display: flex;
align-items: center;
margin: 0.5em 0;
font-size: 0.95rem;
}
.sd-info-box p:nth-child(2) {
justify-self: center;
align-self: center;
}
.sd-info-box a {
color: var(--sd-fg);
text-decoration: none;
}
.sd-info-box span.dashicons {
font-size: var(--sd-icon-size);
color: var(--sd-accent);
margin-right: 8px;
}
.sd-info-box a:hover {
text-decoration: underline;
}  @media (max-width: 1024px) {
.sd-store-grid {
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.sd-modal-inner {
grid-template-columns: 1fr;
width: 95vw;
max-height: 95vh;
}
.sd-modal-left {
border-right: none;
border-bottom: 1px solid var(--sd-border);
}
.sd-modal-right {
padding-top: var(--sd-spacing);
}
} @media (max-width: 600px) {
.sd-store-controls {
flex-direction: column;
}
.sd-store-controls select,
.sd-store-controls input[type="search"] {
flex: 1 1 100%;
}
.sd-store-grid {
grid-template-columns: 1fr;
}
.sd-modal-inner {
grid-template-columns: 1fr;
width: 100vw;
height: 100vh;
margin: 0;
border-radius: 0;
padding: var(--sd-spacing);
}
.sd-modal-close {
top: 8px;
right: 8px;
}
.sd-map-embed iframe {
height: 180px;
}
}