:root{--gmb-black:#111;--gmb-cream:#f2efe7;--gmb-gold:#d8b654;--gmb-muted:#777;--gmb-line:#d8d3c7}.gmb-launch{width:100%}.gmb-book-button{width:100%;background:var(--gmb-black);color:#fff;border:0;padding:22px 24px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;text-align:left;cursor:pointer}.gmb-book-button span{font:800 20px/1.1 Arial,sans-serif;letter-spacing:.04em}.gmb-book-button small{grid-column:1;color:#aaa;margin-top:4px}.gmb-book-button b{grid-column:2;grid-row:1/3;align-self:center;font-size:26px;color:var(--gmb-gold)}
.gmb-crew{font-family:Arial,sans-serif}.gmb-crew-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.gmb-crew-heading span{font-size:40px;font-weight:900}.gmb-crew-heading small{color:#777}.gmb-crew-track{display:flex;gap:18px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.gmb-barber-card{min-width:290px;background:#fff;scroll-snap-align:start;border:1px solid #dedad0}.gmb-barber-photo{height:360px;background:#242424 center/cover no-repeat;position:relative;display:grid;place-items:center}.gmb-initial{font-size:120px;font-weight:900;color:rgba(255,255,255,.14)}.gmb-live-badge{position:absolute;right:14px;top:14px;background:#111;color:#fff;padding:9px 11px;font-size:10px;letter-spacing:.08em}.gmb-barber-card-body{padding:18px;display:flex;justify-content:space-between;gap:15px;align-items:end}.gmb-barber-card h3{margin:0;font-size:25px}.gmb-barber-card p{margin:4px 0 0;color:#777}.gmb-barber-card button{border:0;background:var(--gmb-gold);padding:12px 14px;font-size:11px;font-weight:800;cursor:pointer}
.gmb-modal{position:fixed;inset:0;background:rgba(0,0,0,.84);display:none;z-index:999999;padding:24px;font-family:Arial,sans-serif}.gmb-modal.open{display:flex;align-items:center;justify-content:center}.gmb-modal-panel{width:min(1060px,100%);max-height:92vh;overflow:auto;background:var(--gmb-cream);box-shadow:0 30px 90px rgba(0,0,0,.35)}.gmb-modal-panel>header{position:sticky;top:0;z-index:5;background:#111;color:white;padding:24px 28px;display:flex;justify-content:space-between;align-items:center}.gmb-modal-panel header small{color:var(--gmb-gold);font-size:10px;letter-spacing:.14em}.gmb-modal-panel h2{margin:4px 0 0;font-size:30px}.gmb-close{background:none;border:0;color:#fff;font-size:34px;cursor:pointer}.gmb-steps{height:4px;background:linear-gradient(90deg,var(--gmb-gold) var(--progress,18%),#ddd var(--progress,18%))}.gmb-modal-body{padding:28px}.gmb-kicker{font-size:11px;font-weight:800;letter-spacing:.13em;color:#7c7055;margin-bottom:8px}.gmb-heading{font-size:36px;line-height:1;margin:0 0 10px}.gmb-copy{color:#666;margin:0 0 24px}.gmb-day-strip{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:8px;overflow:auto;padding-bottom:8px}.gmb-day{min-width:105px;border:1px solid var(--gmb-line);background:#fff;padding:16px 10px;text-align:center;cursor:pointer}.gmb-day:hover,.gmb-day.active{background:#111;color:#fff;border-color:#111}.gmb-day.full{opacity:.45;cursor:not-allowed}.gmb-day .dow{font-size:11px;font-weight:800;letter-spacing:.08em}.gmb-day .num{display:block;font-size:26px;font-weight:900;margin:5px 0}.gmb-day .availability{font-size:10px;color:#7e7259}.gmb-day.active .availability{color:var(--gmb-gold)}
.gmb-choice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gmb-choice{background:#fff;border:1px solid var(--gmb-line);padding:18px;text-align:left;cursor:pointer}.gmb-choice:hover{border-color:#111}.gmb-choice h3{margin:0;font-size:22px}.gmb-choice p{margin:5px 0 0;color:#777}.gmb-avatar{width:55px;height:55px;border-radius:50%;background:#222 center/cover no-repeat;display:grid;place-items:center;color:#fff;font-weight:900;margin-bottom:14px}.gmb-service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.gmb-service{background:#fff;border:1px solid var(--gmb-line);padding:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left}.gmb-service strong{font-size:17px}.gmb-service small{display:block;color:#777;margin-top:5px}.gmb-price{font-size:20px;font-weight:900}.gmb-slot-grid{display:flex;flex-wrap:wrap;gap:9px}.gmb-slot{background:#fff;border:1px solid #bbb;padding:12px 16px;cursor:pointer;font-weight:800}.gmb-slot:hover,.gmb-slot.selected{background:var(--gmb-gold);border-color:var(--gmb-gold)}.gmb-summary{background:#111;color:#fff;padding:20px;margin-bottom:18px;display:grid;grid-template-columns:1fr auto;gap:10px}.gmb-summary strong{color:var(--gmb-gold);font-size:24px}.gmb-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gmb-fields label{font-size:11px;font-weight:800;letter-spacing:.06em}.gmb-fields input{width:100%;box-sizing:border-box;margin-top:6px;padding:13px;border:1px solid #c9c4b8;background:#fff}.gmb-fields .wide{grid-column:1/-1}.gmb-confirm{margin-top:16px;width:100%;padding:16px;border:0;background:var(--gmb-gold);font-weight:900;cursor:pointer}.gmb-back{background:none;border:0;padding:0;margin:0 0 20px;text-decoration:underline;cursor:pointer}.gmb-week{display:grid;gap:9px}.gmb-week-row{background:#fff;border:1px solid var(--gmb-line);padding:14px}.gmb-week-row strong{display:block;margin-bottom:10px}.gmb-success{text-align:center;padding:30px 10px}.gmb-success .tick{width:70px;height:70px;border-radius:50%;background:var(--gmb-gold);display:grid;place-items:center;margin:0 auto 18px;font-size:34px}.gmb-loading{padding:35px;text-align:center;color:#777}
@media(max-width:760px){.gmb-modal{padding:0}.gmb-modal.open{align-items:flex-end}.gmb-modal-panel{max-height:96vh;border-radius:18px 18px 0 0}.gmb-modal-panel>header{padding:18px 20px}.gmb-modal-body{padding:20px}.gmb-heading{font-size:29px}.gmb-day-strip{display:flex}.gmb-choice-list,.gmb-service-list{grid-template-columns:1fr}.gmb-fields{grid-template-columns:1fr}.gmb-fields .wide{grid-column:auto}.gmb-crew-heading span{font-size:32px}.gmb-crew-heading small{display:none}.gmb-barber-card{min-width:82vw}.gmb-barber-photo{height:390px}}

/* v0.4.2: lock the public booking UI to the Goodmans visual system.
   This deliberately overrides theme/Elementor button and heading styles. */
.gmb-modal,
.gmb-modal *,
.gmb-crew,
.gmb-crew * {
    font-family:'DM Sans',Arial,Helvetica,sans-serif !important;
    box-sizing:border-box;
}
.gmb-modal button,
.gmb-modal a,
.gmb-modal input,
.gmb-crew button,
.gmb-crew a {
    font-family:'DM Sans',Arial,Helvetica,sans-serif !important;
}
.gmb-modal .gmb-modal-panel > header {
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:20px 24px !important;
    background:#111 !important;
}
.gmb-modal .gmb-modal-panel h2,
.gmb-modal .gmb-heading,
.gmb-modal h1,
.gmb-modal h2,
.gmb-modal h3,
.gmb-modal h4 {
    font-family:'DM Sans',Arial,Helvetica,sans-serif !important;
    font-style:normal !important;
    letter-spacing:-.03em;
}
.gmb-modal .gmb-heading {
    font-weight:700 !important;
    color:#111 !important;
}
.gmb-service,
.gmb-choice,
.gmb-day,
.gmb-slot,
.gmb-back {
    -webkit-appearance:none !important;
    appearance:none !important;
    text-decoration:none !important;
}
.gmb-service,
.gmb-service strong,
.gmb-service .gmb-price,
.gmb-choice,
.gmb-choice h3,
.gmb-day,
.gmb-slot,
.gmb-back {
    color:#111 !important;
}
.gmb-service:hover,
.gmb-service:focus-visible,
.gmb-choice:hover,
.gmb-choice:focus-visible {
    border-color:var(--gmb-gold) !important;
    box-shadow:inset 4px 0 0 var(--gmb-gold);
}
.gmb-service:hover strong,
.gmb-service:focus-visible strong,
.gmb-service:hover .gmb-price,
.gmb-service:focus-visible .gmb-price {
    color:#111 !important;
}
.gmb-service small,
.gmb-copy,
.gmb-choice p {
    color:#6f6c65 !important;
}
.gmb-confirm,
.gmb-book-button,
.gmb-view-availability {
    background:#111 !important;
    color:#fff !important;
    border-radius:0 !important;
}
.gmb-confirm:hover,
.gmb-book-button:hover,
.gmb-view-availability:hover {
    background:var(--gmb-gold) !important;
    color:#111 !important;
}
.gmb-slot:hover,
.gmb-slot.selected,
.gmb-day.active {
    background:var(--gmb-gold) !important;
    border-color:var(--gmb-gold) !important;
    color:#111 !important;
}
.gmb-day.active .availability { color:#111 !important; }
.gmb-barber-card-body {
    display:block !important;
}
.gmb-barber-actions {
    display:flex;
    gap:8px;
    margin-top:16px;
}
.gmb-barber-actions .gmb-view-availability {
    flex:1;
    padding:13px 14px;
    border:0;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    cursor:pointer;
}
.gmb-instagram-btn {
    width:48px;
    min-width:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff !important;
    color:#111 !important;
    border:1px solid #cfc9bc !important;
    text-decoration:none !important;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
}
.gmb-instagram-btn:hover {
    background:var(--gmb-gold) !important;
    border-color:var(--gmb-gold) !important;
}
.gmb-live-badge {
    left:auto !important;
    right:14px !important;
    top:14px !important;
    background:#111 !important;
    color:var(--gmb-gold) !important;
    font-weight:800;
}
@media(max-width:760px){
    .gmb-modal .gmb-modal-panel > header { padding:18px 20px !important; }
    .gmb-modal-panel h2 { font-size:20px !important; }
    .gmb-heading { font-size:32px !important; line-height:1.05 !important; }
    .gmb-service { padding:18px 16px !important; }
    .gmb-service strong { font-size:18px !important; line-height:1.2 !important; }
    .gmb-price { font-size:20px !important; white-space:nowrap; }
    .gmb-copy { font-size:16px !important; line-height:1.45 !important; }
}

/* v0.4.3 custom HTML crew integration */
[data-gmb-crew]{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:20px}
[data-gmb-crew]::-webkit-scrollbar{display:none}
[data-gmb-crew] .barber-card{min-width:340px;background:#fff;scroll-snap-align:start;border:0}
[data-gmb-crew] .barber-photo{height:460px;background:#222 center/cover no-repeat;position:relative;display:grid;place-items:center}
[data-gmb-crew] .barber-status{position:absolute;top:20px;right:20px;left:auto;background:#111!important;color:var(--gmb-gold)!important;padding:9px 13px;text-transform:uppercase;font:800 11px/1.25 'DM Sans',Arial,sans-serif!important;letter-spacing:1px;text-align:right;max-width:calc(100% - 40px)}
[data-gmb-crew] .barber-status.is-unavailable{color:#bbb!important}
[data-gmb-crew] .barber-info{padding:25px}
[data-gmb-crew] .barber-name{font:800 26px/1.05 'DM Sans',Arial,sans-serif!important;text-transform:uppercase;color:#111!important}
[data-gmb-crew] .barber-role{color:#777!important;margin-top:5px;font-family:'DM Sans',Arial,sans-serif!important}
[data-gmb-crew] .barber-actions{display:flex;gap:10px;margin-top:25px}
[data-gmb-crew] .availability-btn{font:800 11px/1 'DM Sans',Arial,sans-serif!important;text-transform:uppercase;letter-spacing:.5px;text-decoration:none!important;display:flex;align-items:center;justify-content:center;min-height:46px;cursor:pointer;border-radius:0!important}
[data-gmb-crew] button.availability-btn{flex:1;background:#111!important;color:#fff!important;border:1px solid #111!important}
[data-gmb-crew] button.availability-btn:hover{background:var(--gmb-gold)!important;color:#111!important;border-color:var(--gmb-gold)!important}
[data-gmb-crew] .barber-instagram{width:52px;min-width:52px;background:transparent!important;color:var(--gmb-gold)!important;border:1px solid var(--gmb-gold)!important;font-size:0!important;line-height:0!important}
[data-gmb-crew] .barber-instagram-icon{display:block!important;width:22px!important;height:22px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;pointer-events:none!important}
[data-gmb-crew] .barber-instagram:hover{background:var(--gmb-gold)!important;color:#111!important;border-color:var(--gmb-gold)!important}
.gmb-html-initial{font:900 120px/1 'DM Sans',Arial,sans-serif;color:rgba(255,255,255,.13)}
@media(max-width:600px){[data-gmb-crew] .barber-card{min-width:85vw}[data-gmb-crew] .barber-photo{height:420px}[data-gmb-crew] .barber-status{top:14px;right:14px;font-size:10px}}

/* v0.4.4 - keep Instagram action visible even before a URL is configured */
.gmb-instagram-btn.is-disabled,
[data-gmb-crew] .barber-instagram.is-disabled {
    opacity:1 !important;
    color:var(--gmb-gold) !important;
    border-color:var(--gmb-gold) !important;
    cursor:not-allowed !important;
    pointer-events:none !important;
}

/* v0.5.1 - customer booking management */
.gmb-manage-list{display:grid;gap:14px;margin-top:22px}
.gmb-manage-card{border:1px solid #d8d3c6;background:#fff;padding:20px;display:flex;justify-content:space-between;gap:20px;align-items:center}
.gmb-manage-card>div:first-child{display:grid;gap:4px}
.gmb-manage-card strong{font-size:18px}
.gmb-manage-card span{color:#6e6b65}
.gmb-manage-card b{margin-top:5px}
.gmb-manage-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.gmb-manage-actions button,.gmb-manage-actions a{appearance:none;border:0;background:#111;color:#fff!important;text-decoration:none!important;padding:12px 15px;font:700 12px/1 'DM Sans',Arial,sans-serif;letter-spacing:.5px;cursor:pointer}
.gmb-manage-actions a{background:#f0eee7;color:#111!important;border:1px solid #cfc9ba}
.gmb-locked-note{max-width:230px;font-size:12px!important;line-height:1.45;color:#8a7250!important}
.gmb-form-error,.gmb-email-warning{background:#fff1ef;border-left:4px solid #b83228;padding:13px 15px;margin-top:14px;color:#5e1712!important}
.gmb-email-ok{background:#f2f5ec;border-left:4px solid #71834a;padding:13px 15px;margin-top:14px;color:#34411f!important}
.gmb-empty-state{padding:22px;background:#fff;border:1px solid #d8d3c6;margin-top:18px}
@media(max-width:640px){.gmb-manage-card{display:block}.gmb-manage-actions{justify-content:flex-start;margin-top:16px}.gmb-manage-actions button,.gmb-manage-actions a{flex:1;text-align:center}.gmb-locked-note{max-width:none}}

/* Anti-bot field: intentionally invisible to customers, but present in the DOM for bot detection. */
.gmb-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.gmb-turnstile-wrap{margin:14px 0 4px;min-height:1px}
