/* Ambitious Impact's look, from ambitiousimpact.com and the AIM brand kit: cream background, Alan Sans, burgundy and
   amber, flat cards and 4px corners. Loaded after style.css when THEME=aim. */
@import url('https://fonts.googleapis.com/css2?family=Alan+Sans:wght@400;500;600;700&display=swap');

:root {
  --ink: #0b0f0e;
  --muted: #4f4945;
  --faint: #8f8780;
  --bg: #fff8f1;
  --paper: #ffffff;
  --field: #ffffff;
  --burgundy: #8b0a2f;
  --amber: #ffb100;
  --green: #f6e0e6;   /* available and preferred times: a light burgundy */
  --most: #e7b9c6;    /* times everyone prefers: a deeper burgundy */
  --yellow: #ffedc2;  /* extra availability: a light amber */
  --blue: #f4e9de;
  --peach: #fde6cf;
  --pink: #fbdde3;
  --tape: transparent;
  --line: rgba(11, 15, 14, 0.12);
  --edge: #e6d8cb;
  --shadow: 0 1px 2px rgba(70, 30, 20, 0.05), 0 12px 32px rgba(70, 30, 20, 0.07);
}

/* AIM's heading font, Morland, as uploaded to the AIM website (loaded from there, not copied here). */
@font-face {
  font-family: 'Morland';
  src: url('https://file.squarespace-cdn.com/content/v2/namespaces/fonts/libraries/6a7b6ec9232ada48cb5910ab/assets/2ba79413-5221-4e51-94fc-437782eb01b8/font.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}

body { background-image: none; font-family: 'Alan Sans', system-ui, sans-serif; }
h3, .when, .brand { font-family: 'Alan Sans', system-ui, sans-serif; font-weight: 600; letter-spacing: -0.01em; }
/* Page titles in Morland, regular weight, as on ambitiousimpact.com */
h1, h2 { font-family: 'Morland', 'Alan Sans', Georgia, serif; font-weight: 400; letter-spacing: 0; }
a { color: var(--burgundy); }
.linkish { color: var(--burgundy); }
.tape { display: none; }

/* The logo, centred above each page */
.brandbar { max-width: 1000px; margin: 0 auto; padding: 32px 16px 0; text-align: center; }
.brand-logo { display: inline-block; }
.brand-logo img { display: block; height: 56px; width: auto; }
.brandbar + .wrap { padding-top: 28px; }

/* Cards and boxes: flat, with a soft edge */
.card { border: 1px solid var(--edge); border-radius: 10px; }
.notice { border: 1px solid #f1cf7a; border-radius: 6px; background: var(--yellow); }
.error { border: 1px solid var(--burgundy); border-radius: 6px; background: var(--pink); }
.empty { border: 1px dashed var(--edge); border-radius: 8px; }
dialog.confirm { border: 1px solid var(--edge); border-radius: 10px; }

/* Buttons: amber for the main action, burgundy outline otherwise (as on the website) */
.btn, .btn.sm, .btn.big {
  border: 2px solid var(--burgundy); border-radius: 4px; background: transparent; color: var(--burgundy);
  box-shadow: none; font-weight: 700;
}
.btn:hover, .btn.sm:hover { transform: none; box-shadow: none; background: rgba(139, 10, 47, 0.06); }
.btn:active, .btn:disabled { transform: none; box-shadow: none; }
.btn.green, .btn.yellow { background: var(--amber); border-color: var(--amber); color: var(--ink); }
.btn.green:hover, .btn.yellow:hover { background: #f2a600; border-color: #f2a600; }
.btn.pink, .btn.danger { background: transparent; }
.btn.round { border-radius: 50%; }
.chipbtn { border: 2px solid var(--burgundy); color: var(--burgundy); }
.chipbtn.on { background: var(--burgundy); border-color: var(--burgundy); color: #fff; }

/* Tags */
.chip { background: #f4ebe2; }
.chip.blue { background: #f4e9de; }

/* Tabs */
.seg { border: 2px solid var(--burgundy); border-radius: 6px; box-shadow: none; }
.seg span { background: var(--paper); color: var(--burgundy); }
.seg label + label span { border-left: 2px solid var(--burgundy); }
.seg input:checked + span { background: var(--burgundy); color: #fff; }

/* Form fields */
input[type=text], input[type=email], input[type=number], input[type=time], textarea, select.input, .tz select, .trip-row select {
  border: 1.5px solid #cdbdae; border-radius: 4px;
}
input:focus, textarea:focus, select:focus { border-color: var(--burgundy); box-shadow: 0 0 0 3px rgba(139, 10, 47, 0.14); }
.check input { accent-color: var(--burgundy); }

/* Booking page: calendar days and the day view */
.picker { border-top: 1px solid var(--edge); }
.day.free { border: 1.5px solid var(--burgundy); background: var(--green); box-shadow: none; }
.day.free:hover { transform: none; box-shadow: none; background: #efcdd7; }
.day.on { background: var(--burgundy); border-color: var(--burgundy); color: #fff; }
.day.free.extra:not(.on) { background: var(--yellow); border-color: #d99a00; }
.dv-scroll { border: 1px solid var(--edge); border-radius: 8px; }
.dv-pick { background: var(--burgundy); color: #fff; }
.dv-ghost { border-color: var(--burgundy); }
.dv-extra.dv-most, .dv-key .swatch.dark { background: var(--most); }
.done-mark { background: var(--green); color: var(--burgundy); }

/* Working-hours grid and week picture */
.wg-frame { border: 1px solid var(--edge); border-radius: 8px; }
.wg-copy { border-color: var(--edge); color: var(--burgundy); }
.wg-copybar { border: 1px solid #f1cf7a; border-radius: 6px; }
.wg-step.fine { background: var(--yellow); }
.wk-mini-btn { border: 1px solid var(--edge); border-radius: 8px; box-shadow: none; }
.wk-mini-btn:hover { transform: none; box-shadow: 0 0 0 3px rgba(139, 10, 47, 0.12); }

/* Selected length: burgundy, like the selected day */
.lengths-pick .btn.on { background: var(--burgundy); border-color: var(--burgundy); color: #fff; }
