/* Amedium Tidsbokning – kundens bokningsruta (samma färger som den tidigare bokningen: mörk botten, korallröd accent) */
.amb-bokning{
  --amb-bg:#1b1f25; --amb-yta:#242a32; --amb-yta2:#2c333d; --amb-linje:#39414d;
  --amb-text:#f4f1ee; --amb-dampad:#b9b3ad; --amb-accent:#e45f59; --amb-accent2:#c54b46; --amb-accent-text:#ffffff;
  --amb-ok:#8fd3a8; --amb-fel:#ffb3ad;
  max-width:760px;margin:0 auto 2em;font-size:16px;line-height:1.5;color:var(--amb-text);
}
.amb-bokning *{box-sizing:border-box}
.amb-bokning .amb-kort{background:var(--amb-bg);border-radius:18px;padding:clamp(18px,4vw,34px);display:flex;flex-direction:column;gap:18px;box-shadow:0 10px 30px rgb(0 0 0 / .18)}
.amb-bokning h3{margin:0;font-size:1.2em;font-weight:600;color:var(--amb-text);line-height:1.3}
.amb-bokning p{margin:0}
.amb-bokning .amb-laddar,.amb-bokning .amb-hint{color:var(--amb-dampad);font-size:.92em}
.amb-bokning .amb-fel{color:var(--amb-fel);font-weight:600;font-size:.95em}
.amb-bokning .amb-steg{display:flex;align-items:center;gap:12px;margin-top:6px}
.amb-bokning .amb-nr{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--amb-accent2);color:var(--amb-accent-text);display:inline-flex;align-items:center;justify-content:center;font-size:.85em;font-weight:700}
.amb-bokning button{font:inherit;cursor:pointer;margin:0;text-transform:none;letter-spacing:normal;line-height:1.3}
.amb-bokning button:focus-visible,.amb-bokning input:focus-visible,.amb-bokning textarea:focus-visible{outline:2px solid var(--amb-accent);outline-offset:2px}

.amb-bokning .amb-tjanster{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.amb-bokning .amb-tjanst{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;background:var(--amb-yta);color:var(--amb-text);border:1px solid var(--amb-linje);border-radius:12px;padding:14px 16px;min-width:0}
.amb-bokning .amb-tjanst:hover{border-color:var(--amb-accent)}
.amb-bokning .amb-tjanst.vald{border-color:var(--amb-accent);box-shadow:inset 0 0 0 1px var(--amb-accent);background:var(--amb-yta2)}
.amb-bokning .amb-tnamn{font-weight:600;font-size:1.05em}
.amb-bokning .amb-tmeta{color:var(--amb-accent);font-size:.88em;font-weight:600}
.amb-bokning .amb-tbesk{color:var(--amb-dampad);font-size:.88em;overflow-wrap:anywhere}

.amb-bokning .amb-kalender{background:var(--amb-yta);border:1px solid var(--amb-linje);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}
.amb-bokning .amb-khuvud{display:flex;align-items:center;justify-content:space-between;gap:10px}
.amb-bokning .amb-manad{font-weight:600;text-transform:capitalize}
.amb-bokning .amb-pil{width:38px;height:38px;border-radius:50%;border:1px solid var(--amb-linje);background:transparent;color:var(--amb-text);font-size:1.3em;padding:0}
.amb-bokning .amb-pil:disabled{opacity:.3;cursor:default}
.amb-bokning .amb-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.amb-bokning .amb-vd{text-align:center;font-size:.75em;color:var(--amb-dampad);text-transform:uppercase;letter-spacing:.06em;padding:4px 0}
.amb-bokning .amb-dag{aspect-ratio:1/1;max-width:100%;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--amb-dampad);opacity:.45;font-variant-numeric:tabular-nums;padding:0}
.amb-bokning .amb-dag.ledig{opacity:1;color:var(--amb-text);background:var(--amb-yta2);border-color:var(--amb-linje)}
.amb-bokning .amb-dag.ledig:hover{border-color:var(--amb-accent)}
.amb-bokning .amb-dag.idag{text-decoration:underline;text-underline-offset:3px}
.amb-bokning .amb-dag.vald{background:var(--amb-accent);border-color:var(--amb-accent);color:var(--amb-accent-text)}
.amb-bokning .amb-dag:disabled{cursor:default}

.amb-bokning .amb-tider{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.amb-bokning .amb-tid{background:var(--amb-yta);color:var(--amb-text);border:1px solid var(--amb-linje);border-radius:10px;padding:10px 0;font-variant-numeric:tabular-nums}
.amb-bokning .amb-tid:hover{border-color:var(--amb-accent)}
.amb-bokning .amb-tid.vald{background:var(--amb-accent);border-color:var(--amb-accent);color:var(--amb-accent-text);font-weight:600}

.amb-bokning .amb-form{display:flex;flex-direction:column;gap:12px}
.amb-bokning .amb-sammanf{background:var(--amb-yta);border-left:3px solid var(--amb-accent);border-radius:8px;padding:10px 14px}
.amb-bokning .amb-rad{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.amb-bokning .amb-falt{display:flex;flex-direction:column;gap:5px;min-width:0}
.amb-bokning label{font-size:.88em;color:var(--amb-dampad)}
.amb-bokning input[type=text],.amb-bokning input[type=tel],.amb-bokning input[type=email],.amb-bokning textarea{width:100%;background:var(--amb-yta);color:var(--amb-text);border:1px solid var(--amb-linje);border-radius:10px;padding:11px 12px;font:inherit;margin:0}
.amb-bokning input:focus,.amb-bokning textarea:focus{border-color:var(--amb-accent)}
.amb-bokning .amb-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.amb-bokning .amb-samtycke{display:flex;gap:10px;align-items:flex-start;color:var(--amb-text);font-size:.92em;cursor:pointer}
.amb-bokning .amb-samtycke input{margin-top:3px;accent-color:var(--amb-accent);width:18px;height:18px;flex:0 0 auto}
.amb-bokning .amb-knapp{align-self:flex-start;background:var(--amb-accent);color:var(--amb-accent-text);border:0;border-radius:999px;padding:13px 28px;font-weight:700;font-size:1em}
.amb-bokning .amb-knapp:hover{background:var(--amb-accent2)}
.amb-bokning .amb-knapp:disabled{opacity:.6;cursor:default}
.amb-bokning .amb-lank{align-self:flex-start;background:none;border:0;padding:0;color:var(--amb-accent);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.amb-bokning .amb-klar{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.amb-bokning .amb-bock{width:48px;height:48px;border-radius:50%;background:var(--amb-ok);color:#12301f;display:flex;align-items:center;justify-content:center;font-size:1.5em;font-weight:700}
@media (max-width:520px){.amb-bokning .amb-rad{grid-template-columns:1fr}.amb-bokning .amb-grid{gap:3px}.amb-bokning .amb-dag{border-radius:8px;font-size:.92em}}
@media (prefers-reduced-motion:no-preference){.amb-bokning .amb-tjanst,.amb-bokning .amb-tid,.amb-bokning .amb-dag{transition:border-color .15s,background .15s}}
