/* Customer app extras on top of /book/styles.css + /c/mock.css (brand from design/bes-app/mockups) */
.sample { display: none !important; }
main.m { max-width: 640px; margin: 0 auto; }
.m-titlebar { max-width: 640px; margin: 0 auto; }
.m-bar a.m-back:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.card h3 { margin: 0 0 10px; }
.choice-grid.three { grid-template-columns: 1fr 1fr 1fr; }
.size-grid .choice span { flex-direction: column; align-items: flex-start; }
.size-grid .choice strong { display: block; }
.size-grid .choice em { font-style: normal; font-size: 13px; color: var(--muted); display: block; }
.link-box { display: flex; gap: 8px; align-items: center; background: #fbfbfb; border: 1.5px dashed var(--border); border-radius: 8px; padding: 10px 12px; font-size: 14px; overflow-wrap: anywhere; margin: 8px 0 10px; }
.ph-grid img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 6px; display: block; background: #ddd; }
.ph-grid figure { margin: 0; }
.ph-grid figcaption { font-size: 12px; color: var(--muted); margin-top: 3px; line-height: 1.25; }
.empty-state { text-align: center; padding: 18px 10px; color: var(--muted); font-size: 15px; }
.empty-state .ic { font-size: 34px; display: block; margin-bottom: 6px; }
.doc-card + .doc-card { margin-top: 10px; }
.btn-primary.btn-sm, .btn-secondary.btn-sm { margin: 0; }
.lb { position: fixed; inset: 0; background: rgba(0,0,0,.92); display: flex; align-items: center; justify-content: center; z-index: 50; flex-direction: column; padding: 16px; }
.lb img { max-width: 100%; max-height: 80vh; border-radius: 6px; }
.lb p { color: #eee; font-size: 14px; margin: 10px 0 0; text-align: center; }
.lb button { position: absolute; top: 10px; right: 14px; background: none; border: 0; color: #fff; font-size: 34px; line-height: 1; cursor: pointer; }
.fine a, .note a { color: var(--link); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
/* reply notifications opt-in on the tracker */
.push-opt{margin:10px 0 0;font-size:14px;color:#555;line-height:1.4}
.push-opt .btn-secondary{width:auto;display:inline-flex;padding:0 16px}
.push-opt .linkbtn{background:none;border:0;padding:0;color:#4054b2;font-weight:600;text-decoration:underline;cursor:pointer;font-size:14px}
.mini-foot .g-review-btn{display:block;margin:0 auto 12px;max-width:320px;padding:12px 16px;border-radius:10px;background:#fff;color:#1a73e8;border:2px solid #1a73e8;font-weight:700;text-decoration:none;text-align:center;font-size:15px}
