:root{--dm-red:#DA3832;--dm-ink:#1d1d1f;--dm-mute:#6b6b70;--dm-bg:#faf7f5;--dm-line:#eee5e1}
.dms{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--dm-ink);max-width:1120px;margin:0 auto;padding:16px}
.dms h1{font-size:clamp(28px,6vw,48px);line-height:1.1;margin:.2em 0;font-weight:800;letter-spacing:-.02em}
.dms h2{font-size:20px;margin:0 0 12px;font-weight:700}
.dms a{color:var(--dm-red)}
.dms-hero{background:linear-gradient(135deg,#fff 0%,var(--dm-bg) 100%);border:1px solid var(--dm-line);border-radius:20px;padding:24px 20px;margin-bottom:16px}
.dms-hero-sm h1{font-size:clamp(26px,5vw,40px)}
.dms-eyebrow{font-size:14px;color:var(--dm-mute);margin:0}.dms-eyebrow a{color:var(--dm-mute);text-decoration:none}
.dms-badge{display:inline-block;font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;margin:4px 6px 4px 0;background:#eee;color:#333}
.dms-soon{background:var(--dm-red);color:#fff;letter-spacing:.08em}
.dms-closed{background:#555;color:#fff}.is-open{background:#e3f6e8;color:#13702f}.is-shut{background:#f3eeee;color:#7a3b38}
.dms-actions,.dms-links{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.dms-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;border:2px solid var(--dm-red);color:var(--dm-red)!important;background:#fff;font-weight:700;text-decoration:none!important;font-size:16px}
.dms-primary{background:var(--dm-red);color:#fff!important}
.dms-small{min-height:40px;padding:0 14px;font-size:14px;border-width:1.5px}
.dms-actions .dms-btn{flex:1 1 140px}
.dms-grid{display:grid;gap:16px;grid-template-columns:1fr}
.dms-card{background:#fff;border:1px solid var(--dm-line);border-radius:20px;padding:20px}
.dms-addr{font-size:18px;line-height:1.5;margin:0}
.dms-map{width:100%;height:240px;border:0;border-radius:14px;margin-top:14px}
.dms-hours{width:100%;border-collapse:collapse;margin:0}.dms-hours th,.dms-hours td{padding:9px 4px;border-bottom:1px solid var(--dm-line);text-align:left;font-weight:500}.dms-hours td{text-align:right}
.dms-hours .is-today{font-weight:800;color:var(--dm-red)}.dms-hours .is-today th{font-weight:800}
.dms-note{color:var(--dm-mute);font-size:14px}
.dms-about{padding:20px 4px;color:#444;line-height:1.6}
.dms-search{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.dms-search input{flex:1 1 220px;min-height:48px;border:1px solid #ddd;border-radius:12px;padding:0 14px;font-size:16px}
.dms-loc-wrap{display:grid;gap:16px}#dms-map{height:320px;border-radius:20px;border:1px solid var(--dm-line);z-index:0}
#dms-list h2{margin:20px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--dm-red)}#dms-list h2 small{color:var(--dm-mute);font-weight:500}
.dms-item{background:#fff;border:1px solid var(--dm-line);border-radius:16px;padding:16px;margin-bottom:12px}.dms-item h3{margin:0 0 6px;font-size:18px}.dms-item h3 a{color:var(--dm-ink);text-decoration:none}
.dms-item p{margin:8px 0 0}.dms-today{font-size:14px;color:var(--dm-mute)}.dms-dist{font-size:13px;color:var(--dm-mute);margin-left:4px}
@media(min-width:800px){.dms{padding:24px}.dms-hero{padding:40px}.dms-grid{grid-template-columns:1.2fr 1fr}.dms-actions .dms-btn{flex:0 0 auto;min-width:180px}
.dms-loc-wrap{grid-template-columns:1fr 1.1fr;align-items:start}#dms-map{height:calc(100vh - 140px);position:sticky;top:20px}}
.dms-closed-note{font-size:18px;margin:12px 0 0}
/* v2 store page */
.dms-store{max-width:none;padding:0}
.dms-hero2{position:relative;min-height:min(78vh,620px);display:flex;align-items:flex-end;background:#111 var(--hero) center/cover no-repeat;color:#fff}
.dms-hero2:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.85) 100%)}
.dms-hero2-in{position:relative;width:100%;max-width:1120px;margin:0 auto;padding:120px 20px 36px}
.dms-crumb{font-size:14px;opacity:.85;margin:0 0 8px}.dms-crumb a{color:#fff!important;text-decoration:underline}.dms-crumb span{opacity:.6;margin:0 4px}
.dms-hero2 h1{color:#fff;font-size:clamp(36px,8vw,68px);margin:0 0 10px;line-height:1.02}
.dms-hero2 h1 span{display:block;font-size:.42em;letter-spacing:.18em;text-transform:uppercase;color:#ffb3ae;font-weight:700;margin-bottom:6px}
.dms-hero2 .dms-badge{font-size:14px;padding:6px 14px}
.dms-hero2 .dms-closed-note{color:#fff}.dms-hero2 .dms-closed-note a{color:#ffb3ae!important}
.dms-lg{min-height:56px;font-size:18px;padding:0 30px;border-radius:14px}
.dms-primary{box-shadow:0 8px 24px rgba(218,56,50,.35)}
.dms-ghost{background:rgba(255,255,255,.12);border-color:#fff;color:#fff!important;backdrop-filter:blur(4px)}
.dms-outline{background:transparent}
.dms-info,.dms-menu,.dms-near{max-width:1120px;margin:0 auto;padding:0 20px}
.dms-info{display:grid;gap:18px;margin-top:-28px;position:relative;z-index:2}
.dms-card{box-shadow:0 10px 30px rgba(0,0,0,.06)}
.dms-row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--dm-line)}.dms-row:last-child{border-bottom:0}.dms-row h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--dm-mute);margin:2px 0 6px}
.dms-ico{flex:0 0 40px;height:40px;border-radius:12px;background:#fdeceb;display:flex;align-items:center;justify-content:center;font-size:18px}
.dms-grow{flex:1}.dms-link{font-weight:700;text-decoration:none}.dms-phone{font-size:20px;font-weight:700;text-decoration:none;color:var(--dm-ink)!important}
.dms-hours em{font-style:normal;font-size:11px;background:var(--dm-red);color:#fff;border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:middle}
.dms-hours .is-today td,.dms-hours .is-today th{background:#fff6f5}
.dms-mapcard{padding:0;overflow:hidden;min-height:320px}.dms-mapcard .dms-map{height:100%;min-height:320px;margin:0;border-radius:0;display:block}
.dms-menu{margin-top:56px}.dms-menu-head{text-align:center;max-width:640px;margin:0 auto 22px}.dms-menu-head h2{font-size:clamp(26px,4vw,36px);margin-bottom:8px}.dms-menu-head p{color:var(--dm-mute);margin:0}
.dms-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.dms-tile{position:relative;display:block;border-radius:18px;overflow:hidden;aspect-ratio:1/1;background:#eee}
.dms-tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.dms-tile:hover img{transform:scale(1.05)}
.dms-tile span{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-weight:700;font-size:16px}
.dms-center{text-align:center;margin-top:20px}
.dms-near{margin:56px auto 64px}.dms-near h2{font-size:24px}.dms-near-row{display:grid;gap:12px}
.dms-near-card{display:flex;flex-direction:column;gap:4px;text-decoration:none!important;color:var(--dm-ink)!important;transition:transform .2s}.dms-near-card:hover{transform:translateY(-2px)}
.dms-near-card span{color:var(--dm-mute);font-size:14px}.dms-near-card em{font-style:normal;color:var(--dm-red);font-size:13px;font-weight:700}
@media(min-width:800px){.dms-store{padding:0}.dms-hero2-in{padding:160px 24px 70px}.dms-info{grid-template-columns:1fr 1fr;margin-top:-50px}.dms-tiles{grid-template-columns:repeat(4,1fr)}.dms-near-row{grid-template-columns:repeat(3,1fr)}}
.dms-store .dms-actions{margin-top:20px}
.dms-hero2{width:100vw;margin-left:calc(50% - 50vw)}
body.dms-page .ast-container{max-width:100%;padding:0}body.dms-page #content{padding:0}
.dms-hours,.dms-hours th,.dms-hours td{border:0!important}
.dms-hours tr{border-bottom:1px solid var(--dm-line)}.dms-hours tr:last-child{border-bottom:0}
.dms-hours th,.dms-hours td{padding:10px 8px;font-size:15px;white-space:nowrap}
.dms-btn{white-space:nowrap}
@media(max-width:799px){.dms-ico{flex-basis:34px;height:34px;font-size:15px}.dms-row{gap:10px}.dms-store .dms-actions .dms-btn{flex:1 1 auto;padding:0 16px;font-size:16px}
.dms-hero2{min-height:420px}.dms-hours th,.dms-hours td{font-size:14px;padding:9px 4px}.dms-card{padding:16px}.dms-mapcard{padding:0}}

/* v1.0.6 alignment */
.dms-details .dms-row{display:grid!important;grid-template-columns:40px 1fr;column-gap:14px;align-items:start}
.dms-details .dms-row>div{min-width:0}
.dms-details .dms-ico{width:40px;height:40px;border-radius:12px;background:#fdeceb;color:#DA3832;display:flex;align-items:center;justify-content:center;font-size:0}
.dms-details .dms-row h2{line-height:40px;margin:0!important;height:40px}
.dms-details .dms-addr,.dms-details .dms-phone{display:block;margin:0 0 6px;padding:0}
.dms-details .dms-hours{margin:0!important}
.dms-details .dms-hours th,.dms-details .dms-hours td{padding-left:0!important;padding-right:0!important}
.dms-details .dms-hours .is-today th{padding-left:0!important}
.dms-details .dms-hours .is-today th,.dms-details .dms-hours .is-today td{background:none}
@media(max-width:799px){.dms-details .dms-row{grid-template-columns:36px 1fr;column-gap:12px}.dms-details .dms-ico{width:36px;height:36px}.dms-details .dms-row h2{line-height:36px;height:36px}}

/* v1.0.8 equal buttons + hiring link */
.dms-store .dms-actions{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:12px;max-width:460px}
.dms-store .dms-actions:has(>.dms-btn:only-child){grid-template-columns:auto;max-width:none;justify-content:start}
.dms-store .dms-actions .dms-btn{width:100%;min-width:0;box-sizing:border-box;height:52px;padding:0 18px!important;font-size:16px!important;font-weight:700;display:flex;align-items:center;justify-content:center;white-space:nowrap;border-width:2px;border-style:solid;margin:0!important}
.dms-store .dms-actions:has(>.dms-btn:only-child) .dms-btn{width:auto;min-width:200px}
.dms-hire{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:#fff;font-size:14px;font-weight:600;text-decoration:none;opacity:.92;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px}
.dms-hire:hover{opacity:1;color:#fff;border-bottom-color:#fff}
@media(max-width:799px){.dms-store .dms-actions{max-width:none}.dms-store .dms-actions:has(>.dms-btn:only-child){grid-template-columns:1fr}.dms-store .dms-actions:has(>.dms-btn:only-child) .dms-btn{width:100%}}
.dms-store .dms-actions .dms-primary{border-color:var(--dm-red)}
.dms-store a.dms-hire,.dms-store a.dms-hire:visited,.dms-store a.dms-hire:hover{color:#fff!important}.dms-store a.dms-hire{margin-bottom:8px}

/* v1.0.10 finder */
.dms-near-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;color:#fff!important}
.dms-near-btn svg{flex:0 0 18px;display:block;stroke:#fff}
@media(min-width:800px){.dms-loc-wrap{grid-template-columns:1.3fr 1fr!important}#dms-map{height:min(640px,calc(100vh - 140px))!important}}

/* v1.0.11 popup + compact list buttons */
.dms-pop-h{font-weight:800;font-size:15px;line-height:1.3;color:#222;padding:12px 0 0 2px}
.gm-style .gm-style-iw-c{padding:0 12px 12px!important;border-radius:14px!important}
.gm-style .gm-style-iw-d{overflow:auto!important;padding:0!important}
.gm-style .gm-style-iw-chr{align-items:flex-start}
.dms-pop{font-size:13px;line-height:1.4;max-width:230px}.dms-pop .dms-badge{display:inline-block;margin:6px 0 4px;font-size:12px;padding:3px 9px}
.dms-pop-a{margin:2px 0 8px;color:#555}.dms-pop-l{display:flex;align-items:center;gap:12px;margin:0}
.dms-xs{min-height:32px!important;padding:0 14px!important;font-size:13px!important;border-radius:10px;display:inline-flex;align-items:center}
.dms-pop-sp{font-weight:700;color:#DA3832!important;text-decoration:none;font-size:13px}
.dms-tel{display:inline-flex;align-items:center;gap:5px}.dms-tel svg{flex:0 0 14px}
@media(max-width:480px){.dms-links{gap:6px!important;flex-wrap:wrap}.dms-links .dms-small{min-height:36px;padding:0 10px;font-size:13px}
.dms-links .dms-sp{border:0!important;background:none!important;padding:0 4px!important;color:#DA3832!important;text-decoration:underline;box-shadow:none}}
.dms-pop-logo{display:block;height:24px;width:auto;margin:0 0 4px -4px}

.dms-rnote{background:#fff6f5;border:1px solid #f5c9c6;color:#a3261f;border-radius:12px;padding:10px 14px;margin:10px 0;font-size:14px}
@media(max-width:799px){.dms-search{flex-wrap:wrap}.dms-search #dms-q{flex:1 1 100%}}
@media(max-width:480px){#dms-list .dms-links{gap:5px!important;flex-wrap:wrap}#dms-list .dms-links .dms-btn{min-height:34px!important;padding:0 8px!important;font-size:12.5px!important;min-width:0!important;letter-spacing:0}
#dms-list .dms-links .dms-tel{gap:4px}#dms-list .dms-links .dms-tel svg{width:12px;height:12px;flex-basis:12px}
#dms-list .dms-links .dms-sp{border:0!important;background:none!important;padding:0 2px!important;color:#DA3832!important;text-decoration:underline;box-shadow:none!important}}
.dms-pop-logo{height:30px!important;margin:0 0 2px -6px!important}
#dms-near,#dms-near:hover,#dms-near:focus,#dms-near:active{background:#DA3832!important;color:#fff!important;border-color:#DA3832!important}#dms-near:hover{filter:brightness(.95)}
@media(max-width:480px){#dms-list .dms-links{gap:4px!important}#dms-list .dms-links .dms-btn{font-size:12px!important;padding:0 7px!important}#dms-list .dms-links .dms-sp{padding:0 1px!important}}
@media(max-width:799px){#dms-map{height:420px!important}.dms-pop-h{font-size:14px;padding-top:8px}.dms-pop-logo{height:24px!important}.gm-style .gm-style-iw-d{max-height:none!important}}

/* v1.0.35 allergy notice */
.dms-allergy{display:flex;align-items:center;gap:12px;background:var(--dm-red);color:#fff;border-radius:14px;padding:14px 18px;margin:14px 0 16px;box-shadow:0 2px 10px rgba(218,56,50,.18)}.dms-allergy svg{flex:none}.dms-allergy p{margin:0!important;color:#fff!important;font-size:16px;line-height:1.45;font-weight:600}.dms-allergy strong{background:#fff;color:var(--dm-red);padding:1px 8px;border-radius:6px;white-space:nowrap}.dmx-cta .dmx-cta-allergy{font-size:14px;margin-top:6px!important;opacity:1;font-weight:600}
