/* Blue House Bakery — shared brand styling for the order shop.
   Confirmed brand: light sky blue #89c1ef, deep blue #0489cb, heading font Antic.
   Change these here once and every page updates. */
@import url('https://fonts.googleapis.com/css2?family=Antic&family=Nunito:wght@400;600;700&display=swap');
:root {
  --bg:        #FFFFFF;   /* white page background (Liz's live-test feedback, was warm cream) */
  --surface:   #FFFFFF;   /* cards */
  --ink:       #283142;   /* main text (deep slate) */
  --muted:     #837B6D;   /* secondary text (warm grey) */
  --sky:       #89c1ef;   /* light brand blue (Blue House) — soft accents / tints */
  --blue:      #0489cb;   /* deep brand blue — buttons, links, primary actions (white text needs this, not the light one) */
  --blue-deep: #0370a8;   /* hover/active */
  --accent:    #0489cb;   /* on-brand accent (folded into the deep blue) */
  --line:      #ECE5D8;   /* warm hairline borders */
  --ok:        #2F7A52;
  --warn:      #9A6B16;
  --radius:    14px;
  --shadow:    0 1px 2px rgba(40,49,66,.06), 0 6px 20px rgba(40,49,66,.06);
  --serif: "Antic", Georgia, "Times New Roman", serif;
  --sans:  "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg); color: var(--ink);
  font-family: var(--sans); line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.wrap { max-width: 660px; margin: 0 auto; padding: 1.25rem 1.1rem 7rem; }
.wrap.narrow { max-width: 460px; }

/* Header / brand lockup */
.brand { text-align: center; padding: .5rem 0 1rem; }
.brand img { height: 76px; width: auto; }
.brand .name { font-family: var(--serif); font-size: 1.7rem; font-weight: 600; margin: .4rem 0 0; letter-spacing: .2px; color: var(--blue); }
.brand .tag { color: var(--muted); font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; margin-top: .15rem; }

h1, h2, h3 { font-family: var(--serif); font-weight: 600; color: var(--ink); }
h1 { font-size: 1.5rem; margin: .2rem 0 .5rem; }
h2 { font-size: 1.15rem; margin: 1.6rem 0 .6rem; }
.lead { color: var(--muted); margin: 0 0 1rem; }
.muted { color: var(--muted); }
.center { text-align: center; }

/* Cards */
/* Blue borders on all boxes/cards (Liz): light brand blue — the deep blue reads too heavy en masse. */
.card { background: var(--surface); border: 1px solid var(--sky); border-radius: var(--radius);
        box-shadow: var(--shadow); padding: 1rem 1.1rem; margin-bottom: 1rem; }

/* Forms */
label { display: block; font-size: .85rem; font-weight: 700; margin: .9rem 0 .3rem; }
input[type=text], input[type=email], input[type=tel], input[type=date], textarea {
  width: 100%; font: inherit; font-size: 1rem; padding: .62rem .75rem;
  border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); }
input:focus, textarea:focus { outline: 2px solid var(--blue); outline-offset: 1px; border-color: var(--blue); }

/* Buttons */
.btn { display: inline-block; font: inherit; font-weight: 700; cursor: pointer;
       border: 1px solid var(--blue); background: var(--blue); color: #fff;
       padding: .7rem 1.3rem; border-radius: 999px; text-decoration: none; transition: background .15s; }
.btn:hover { background: var(--blue-deep); border-color: var(--blue-deep); }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.btn.ghost { background: #fff; color: var(--blue); }
.btn.ghost:hover { background: #f3f1ea; }

/* Bits */
.tag { display: inline-block; font-size: .68rem; font-weight: 700; letter-spacing: .03em;
       background: rgba(8,137,203,.12); color: var(--accent); border-radius: 999px;
       padding: .08rem .5rem; margin-left: .4rem; vertical-align: middle; }
.divider { border: 0; border-top: 1px solid var(--line); margin: 1.4rem 0; }
.foot { text-align: center; color: var(--muted); font-size: .78rem; letter-spacing: .04em; padding: 2rem 0 .5rem; }

/* Sticky action bar */
.bar { position: fixed; left: 0; right: 0; bottom: 0; background: rgba(255,255,255,.96);
       backdrop-filter: saturate(1.1) blur(6px); border-top: 1px solid var(--sky);
       padding: .75rem 1.1rem; display: flex; gap: 1rem; align-items: center; justify-content: space-between; }
.bar .inner { max-width: 660px; margin: 0 auto; width: 100%; display: flex; gap: 1rem; align-items: center; justify-content: space-between; }
.bar .sub { font-family: var(--serif); font-size: 1.15rem; font-weight: 600; }
