body.gb-physical-store-page { background:#000; color:#eee; }
body.gb-physical-store-page main.site-main { width:100%; max-width:none; padding:0; margin:0; background:#000; }
body.gb-physical-store-page main .page-content { margin:0; padding:0; }
.gb-store-visit { --gb-store-green:#39ff14; box-sizing:border-box; max-width:1240px; padding:52px 24px 72px; margin:0 auto; color:#ddd; font:18px/1.65 Abel,Arial,sans-serif; }
.gb-store-visit * { box-sizing:border-box; }
.gb-store-visit .gb-store-visit-hero { max-width:830px; margin:0 auto 38px; text-align:center; }
.gb-store-visit .gb-store-visit-eyebrow { margin:0 0 13px; color:var(--gb-store-green); font-size:13px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; }
body.gb-physical-store-page main .gb-store-visit h1 { display:flex; align-items:center; justify-content:center; gap:22px; width:100%; max-width:none; margin:0 0 22px; color:#fff; text-align:center; font:400 clamp(31px,4vw,48px)/1.3 "Permanent Marker",cursive; }
body.gb-physical-store-page main .gb-store-visit h1::before,body.gb-physical-store-page main .gb-store-visit h1::after { content:""; display:block; position:static; height:2px; flex:1 1 45px; min-width:18px; max-width:100px; background:var(--gb-store-green); }
.gb-store-visit .gb-store-visit-hero p:last-child { max-width:660px; margin:12px auto 0; color:#bbb; }
.gb-store-visit .gb-store-visit-lead { margin:0; color:#fff; font-size:24px; line-height:1.5; }
.gb-store-visit .gb-store-visit-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:24px; align-items:stretch; }
.gb-store-visit .gb-store-visit-card { background:#080808; border:1px solid #454545; border-radius:16px; padding:34px; min-width:0; }
.gb-store-visit .gb-store-visit-heading { display:flex; align-items:center; gap:17px; margin-bottom:24px; }
.gb-store-visit .gb-store-visit-icon { display:grid; place-items:center; width:56px; height:56px; flex:0 0 56px; color:var(--gb-store-green); border:1px solid #454545; border-radius:12px; }
.gb-store-visit .gb-store-visit-icon svg { width:29px; height:29px; }
.gb-store-visit .gb-store-visit-kicker { margin:0 0 6px; color:var(--gb-store-green); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1.9px; }
body.gb-physical-store-page main .gb-store-visit h2 { display:block; width:auto; max-width:none; margin:0; padding:0; color:#fff; text-align:left; font:400 clamp(22px,2.3vw,28px)/1.45 "Permanent Marker",cursive; }
body.gb-physical-store-page main .gb-store-visit h2::before,body.gb-physical-store-page main .gb-store-visit h2::after { content:none; display:none; }
.gb-store-visit .gb-store-visit-address { display:flex; flex-direction:column; margin:0 0 18px; padding:0 0 0 20px; border-left:2px solid var(--gb-store-green); font-style:normal; font-size:23px; line-height:1.65; }
.gb-store-visit .gb-store-visit-address strong { color:#fff; font-size:27px; font-weight:700; }
.gb-store-visit .gb-store-visit-location-note { margin:0 0 22px; color:#bbb; }
.gb-store-visit .gb-store-visit-actions { display:flex; flex-wrap:wrap; gap:12px; }
body.gb-physical-store-page main .gb-store-visit .gb-store-visit-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:12px 20px; border:1px solid var(--gb-store-green); border-radius:5px; color:var(--gb-store-green); font:700 18px/1.35 Abel,Arial,sans-serif; text-decoration:none; text-align:center; }
body.gb-physical-store-page main .gb-store-visit .gb-store-visit-primary { color:#000; background:var(--gb-store-green); }
body.gb-physical-store-page main .gb-store-visit .gb-store-visit-primary:hover { color:#000; background:#72ff58; border-color:#72ff58; }
body.gb-physical-store-page main .gb-store-visit .gb-store-visit-secondary { color:var(--gb-store-green); background:transparent; }
body.gb-physical-store-page main .gb-store-visit .gb-store-visit-secondary:hover { background:#151515; }
.gb-store-visit .gb-store-visit-map-note { margin:12px 0 0; color:#999; font-size:14px; }
.gb-store-visit .gb-store-visit-days { margin:0 0 18px; color:#fff; font-size:21px; }
.gb-store-visit .gb-store-visit-times { display:flex; flex-direction:column; gap:14px; margin:0 0 22px; }
.gb-store-visit .gb-store-visit-times > div { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-bottom:14px; border-bottom:1px solid #353535; }
.gb-store-visit .gb-store-visit-times dt { color:#bbb; font-weight:400; }
.gb-store-visit .gb-store-visit-times dd { margin:0; color:#fff; font-weight:700; font-size:25px; white-space:nowrap; }
.gb-store-visit .gb-store-visit-closed { display:flex; align-items:center; gap:10px; margin:0 0 8px; color:#ddd; }
.gb-store-visit .gb-store-visit-closed > span { width:7px; height:7px; border:1px solid #999; border-radius:50%; flex:0 0 7px; }
.gb-store-visit .gb-store-visit-small { margin:0; color:#999; font-size:15px; }
.gb-store-visit .gb-store-visit-contact { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr); gap:28px; align-items:center; margin-top:24px; }
.gb-store-visit .gb-store-visit-contact-intro p:last-child { margin:14px 0 0; color:#bbb; }
.gb-store-visit .gb-store-visit-contact-links { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:16px; }
body.gb-physical-store-page main .gb-store-visit .gb-store-visit-contact-links > a { display:flex; flex-direction:column; justify-content:center; min-height:140px; gap:8px; padding:22px; border:1px solid #454545; border-radius:12px; color:#fff; text-decoration:none; overflow-wrap:anywhere; }
.gb-store-visit .gb-store-visit-contact-links > a:hover { border-color:var(--gb-store-green); background:#10150f; }
.gb-store-visit .gb-store-visit-contact-label { color:#aaa; font-size:15px; }
.gb-store-visit .gb-store-visit-contact-links strong { color:#fff; font-size:clamp(18px,1.8vw,24px); line-height:1.45; font-weight:400; }
.gb-store-visit .gb-store-visit-contact-action { color:var(--gb-store-green); font-size:16px; }
.gb-store-visit .gb-store-visit-online { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:30px; padding:28px 10px 0; border-top:1px solid #353535; }
.gb-store-visit .gb-store-visit-online h2 { font-size:25px; }
.gb-store-visit .gb-store-visit-online p:last-child { margin:10px 0 0; color:#bbb; }
.gb-store-visit .gb-store-visit-online > a { flex:0 0 auto; }
.gb-store-visit a:focus-visible { outline:2px solid var(--gb-store-green); outline-offset:5px; }
@media(max-width:1024px) {
 .gb-store-visit { padding:36px 24px 54px; }
 .gb-store-visit .gb-store-visit-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; }
 .gb-store-visit .gb-store-visit-card { padding:27px; }
 .gb-store-visit .gb-store-visit-heading { gap:12px; align-items:flex-start; }
 .gb-store-visit .gb-store-visit-icon { width:45px; height:45px; flex-basis:45px; }
 .gb-store-visit .gb-store-visit-icon svg { width:25px; height:25px; }
 .gb-store-visit .gb-store-visit-contact { grid-template-columns:minmax(0,1fr); gap:22px; }
 .gb-store-visit .gb-store-visit-contact-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .gb-store-visit .gb-store-visit-times dd { font-size:22px; }
}
@media(max-width:700px) {
 .gb-store-visit { padding:28px 16px 42px; }
 .gb-store-visit .gb-store-visit-hero { margin-bottom:28px; }
 body.gb-physical-store-page main .gb-store-visit h1 { gap:12px; font-size:clamp(27px,8vw,36px); }
 .gb-store-visit .gb-store-visit-lead { font-size:22px; }
 .gb-store-visit .gb-store-visit-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .gb-store-visit .gb-store-visit-card { padding:24px 20px; }
 .gb-store-visit .gb-store-visit-heading { margin-bottom:22px; align-items:center; }
 .gb-store-visit .gb-store-visit-address { font-size:21px; padding-left:16px; }
 .gb-store-visit .gb-store-visit-address strong { font-size:25px; }
 .gb-store-visit .gb-store-visit-actions { flex-direction:column; }
 .gb-store-visit .gb-store-visit-actions a { width:100%; }
 .gb-store-visit .gb-store-visit-times dd { font-size:26px; }
 .gb-store-visit .gb-store-visit-contact { margin-top:18px; }
 .gb-store-visit .gb-store-visit-contact-links { grid-template-columns:minmax(0,1fr); gap:12px; }
 .gb-store-visit .gb-store-visit-contact-links > a { min-height:118px; padding:18px; }
 .gb-store-visit .gb-store-visit-contact-links strong { font-size:22px; }
 .gb-store-visit .gb-store-visit-online { flex-direction:column; align-items:stretch; padding:26px 4px 0; gap:20px; }
}
@media(max-width:360px) { .gb-store-visit .gb-store-visit-times dd { font-size:23px; } }
/* Greenbass contact page */
.gb-contact-page .gb-contact-channels { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gb-contact-page .gb-contact-channels > .gb-store-visit-card { display:flex; flex-direction:column; align-items:flex-start; }
.gb-contact-page .gb-contact-value { margin:0 0 14px; color:#fff; font-size:32px; line-height:1.4; overflow-wrap:anywhere; }
body.gb-physical-store-page main .gb-contact-page .gb-contact-value a { color:#fff; text-decoration:none; }
.gb-contact-page .gb-contact-email { font-size:clamp(22px,2.3vw,29px); }
.gb-contact-page .gb-contact-description { margin:0 0 20px; color:#bbb; }
.gb-contact-page .gb-contact-hours,.gb-contact-page .gb-contact-message-tip { display:flex; flex-direction:column; gap:5px; margin:0 0 25px; padding:15px 0 15px 17px; border-left:2px solid #39ff14; color:#bbb; font-size:17px; }
.gb-contact-page .gb-contact-hours strong,.gb-contact-page .gb-contact-message-tip strong { color:#fff; font-weight:400; }
.gb-contact-page .gb-contact-channels .gb-store-visit-button { margin-top:auto; }
.gb-contact-page .gb-contact-location { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-top:24px; }
.gb-contact-page .gb-contact-location address { display:flex; flex-direction:column; gap:2px; margin:17px 0 12px; font-style:normal; color:#ddd; font-size:20px; }
.gb-contact-page .gb-contact-location address strong { color:#fff; font-size:23px; }
.gb-contact-page .gb-contact-location .gb-store-visit-actions { flex-direction:column; flex:0 0 225px; }
.gb-contact-page .gb-contact-help { margin:30px 0 0; padding:26px 0 0; border-top:1px solid #353535; text-align:center; }
.gb-contact-page .gb-contact-help > p:first-child { margin:0 0 10px; font-size:21px; color:#fff; }
body.gb-physical-store-page main .gb-contact-page .gb-contact-help a { color:#39ff14; text-underline-offset:4px; }
.gb-contact-page .gb-contact-help .gb-store-visit-small { margin-top:20px; color:#aaa; }
@media(max-width:700px) {
 .gb-contact-page .gb-contact-channels { grid-template-columns:minmax(0,1fr); }
 .gb-contact-page .gb-contact-value { font-size:29px; }
 .gb-contact-page .gb-contact-email { font-size:clamp(21px,6vw,25px); }
 .gb-contact-page .gb-contact-channels .gb-store-visit-button { width:100%; }
 .gb-contact-page .gb-contact-location { flex-direction:column; align-items:stretch; gap:23px; margin-top:18px; }
 .gb-contact-page .gb-contact-location .gb-store-visit-actions { flex:0 0 auto; }
}