/* Grenaa Golf Box – bookingkalender v2 (samme farver og typografi som forsiden) */
.ggbb{--navy:#131736;--green:#5c784d;--green-d:#4d6841;--green-l:#8fb07c;--sand:#f5f3ee;--line:#e4e1d9;--muted:#5d6475;
  font-family:'Open Sans',Arial,sans-serif;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:22px;
  box-shadow:0 20px 50px rgba(19,23,54,.08);padding:22px 22px 18px;max-width:1180px;margin:0 auto}
.ggbb *{box-sizing:border-box}
.ggbb button{font:inherit;cursor:pointer}

.ggbb-toolbar{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;margin-bottom:16px}
.ggbb-nav{display:flex;gap:6px}
.ggbb-icon,.ggbb-today{height:40px;border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;font-weight:700;transition:background .15s,border-color .15s}
.ggbb-icon{width:40px;font-size:22px;line-height:1;padding:0 0 3px}
.ggbb-today{padding:0 18px;font-size:14px}
.ggbb-icon:hover:not(:disabled),.ggbb-today:hover{background:var(--sand);border-color:#d6d2c7}
.ggbb-icon:disabled{opacity:.35;cursor:default}
.ggbb-label{font:600 22px/1.2 Oswald,'Open Sans',sans-serif;text-transform:uppercase;letter-spacing:.02em}
.ggbb-count{margin-left:auto;background:rgba(92,120,77,.12);color:var(--green-d);border-radius:999px;padding:7px 14px;font-size:14px;white-space:nowrap}
.ggbb-count b{font-weight:800}

.ggbb-grid{display:grid;grid-template-columns:54px repeat(var(--cols),1fr);grid-template-rows:auto calc(var(--row) * var(--rows));border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ggbb-corner{border-bottom:1px solid var(--line);background:var(--sand)}
.ggbb-dayhead{border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:var(--sand);text-align:center;padding:8px 4px}
.ggbb-dayhead span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.ggbb-dayhead b{font:600 20px/1.1 Oswald,sans-serif}
.ggbb-dayhead.is-today{background:var(--navy);color:#fff}
.ggbb-dayhead.is-today span{color:var(--green-l)}
.ggbb-dayhead.is-past{opacity:.5}
.ggbb-times{grid-column:1;display:grid;grid-template-rows:repeat(var(--rows),var(--row));background:#fff}
.ggbb-times div{font-size:12px;color:var(--muted);text-align:right;padding:4px 8px 0 0;border-top:1px solid #f1efe9}
.ggbb-times div:first-child{border-top:0}
.ggbb-col{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--row) - 1px),#f1efe9 calc(var(--row) - 1px),#f1efe9 var(--row))}
.ggbb-past{position:absolute;left:0;right:0;top:0;background:repeating-linear-gradient(135deg,#f6f5f1 0,#f6f5f1 6px,#efede7 6px,#efede7 12px);z-index:0}

.ggbb-slot{position:absolute;left:3px;right:3px;margin-top:2px;border:0;border-radius:8px;background:rgba(92,120,77,.10);color:var(--green-d);
  font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:1;height:calc(var(--row) - 4px)!important;transition:background .15s,color .15s,transform .15s}
.ggbb-slot span:before{content:'+ '}
.ggbb-slot:hover,.ggbb-slot:focus-visible{background:var(--green);color:#fff;outline:none;transform:scale(1.02)}
.ggbb-ev{position:absolute;left:3px;right:3px;background:var(--navy);color:#fff;border-radius:8px;padding:5px 8px;overflow:hidden;z-index:2;font-size:12px;line-height:1.25}
.ggbb-ev b{display:block;font-weight:700}
.ggbb-ev span{opacity:.75}
.ggbb-ev.is-past{background:#5f6377}   /* mørk nok til hvid tekst (WCAG 4,5:1) */
.ggbb-ev.is-past span{opacity:.92}
.ggbb-now{position:absolute;left:0;right:0;height:2px;background:#e0533d;z-index:3}
.ggbb-now:before{content:'';position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#e0533d}

.ggbb-foot{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;justify-content:space-between;margin-top:14px;font-size:13.5px;color:var(--muted)}
.ggbb-legend{display:flex;gap:18px;flex-wrap:wrap}
.ggbb-legend span{display:inline-flex;align-items:center;gap:7px}
.ggbb-legend i{width:16px;height:16px;border-radius:5px;display:inline-block}
.lg-free{background:rgba(92,120,77,.25)}
.lg-busy{background:var(--navy)}
.ggbb-updated a{color:var(--green);font-weight:700}
.ggbb-noscript{padding:16px;background:var(--sand);border-radius:12px}

/* Mobil: én dag ad gangen med faneblade for ugens dage */
.ggbb-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}
.ggbb-tabs button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:6px 0;color:var(--navy)}
.ggbb-tabs button span{display:block;font-size:11px;text-transform:uppercase;color:var(--muted)}
.ggbb-tabs button b{font:600 17px/1.1 Oswald,sans-serif}
.ggbb-tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.ggbb-tabs button.on span{color:var(--green-l)}
.ggbb-tabs button.past{opacity:.35;cursor:default}
@media (max-width:767px){
  .ggbb{padding:16px 12px 14px;border-radius:18px}
  .ggbb-label{font-size:18px;order:3;width:100%}
  .ggbb-count{margin-left:auto}
  .ggbb-grid{grid-template-columns:52px 1fr;grid-template-rows:calc(var(--row) * var(--rows))}
  .ggbb-slot{font-size:14px}
  .ggbb-slot span:after{content:' · Book'}
  .ggbb-ev{font-size:13px}
}
