/* Buggy Smart: shared layout (header, footer and skip link live in bs-header.css) for the parent-facing pages (home, My places, shared lists). */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: 'Inter', system-ui, sans-serif; background: #FBF7F4; color: #2A1433; line-height: 1.55; -webkit-font-smoothing: antialiased; }
h1, h2, h3 { font-family: 'Schibsted Grotesk', system-ui, sans-serif; line-height: 1.15; margin: 0; text-wrap: balance; }
a { color: #4A1F5C; }
img { max-width: 100%; }
[hidden] { display: none !important; }

.bs-section { padding: 2rem 0; }
.bs-section h2 { font-size: 1.45rem; font-weight: 900; margin-bottom: .35rem; }
.bs-sub { color: #5E5263; margin: 0 0 1rem; }

.bs-grid { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.bs-card { position: relative; background: #fff; border: 1px solid #E7DDE4; border-radius: 14px; min-width: 0; }
.bs-card-main { display: block; padding: .9rem 3.6rem .9rem 1rem; color: inherit; text-decoration: none; }
.bs-card-main:hover h3 { color: #4A1F5C; }
.bs-card h3 { font-size: 1.05rem; font-weight: 800; margin: .4rem 0 .15rem; }
.bs-card p { margin: .35rem 0 .5rem; font-size: .88rem; color: #4A3A52; }
.bs-card-where { font-size: .8rem; color: #5E5263; }
.bs-card-heart { position: absolute; top: .55rem; right: .55rem; }
.bs-badge { display: inline-block; font: 700 .72rem 'Inter', sans-serif; padding: .2rem .55rem; border-radius: 100px; }
.bs-badge--g { background: #DDF3E4; color: #17602F; }
.bs-badge--a { background: #FDEFD2; color: #774500; }
.bs-badge--r { background: #FBE2DE; color: #9B2C1E; }
.bs-badge--u { background: #ECE8E4; color: #4A3A52; }
.bs-conf { display: inline-block; margin-left: .4rem; font-size: .72rem; font-weight: 600; color: #774500; }

.bs-empty { background: #fff; border: 1.5px dashed #E7DDE4; border-radius: 14px; padding: 1.5rem; text-align: center; color: #5E5263; }
