/* Componente Biserica Donații — programare, caritate, pangar, cookie. Paletă „Scholarly Contemplativ". */
:root { --bsm-ink:#2d2a24; --bsm-gold:#9a7d3e; --bsm-aub:#3a2840; --bsm-cream:#fbf7ee; --bsm-line:#e6dcc4; }

/* Programare */
.bsm-prog { max-width: 760px; margin: 0 auto; background:#fff; border:1px solid var(--bsm-line); border-radius:12px; padding:2rem; }
.bsm-prog-intro h3 { font-family:'Cormorant Infant',Georgia,serif; font-size:1.6rem; color:var(--bsm-aub); margin:0 0 .5rem; }
.bsm-prog-intro p { color:#545049; line-height:1.6; }
.bsm-prog-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.25rem; }
.bsm-prog-field { display:flex; flex-direction:column; }
.bsm-prog-full { grid-column:1/-1; }
@media(max-width:560px){ .bsm-prog-grid{grid-template-columns:1fr;} }
.bsm-prog-field label { font-size:.82rem; font-weight:600; color:var(--bsm-ink); margin-bottom:.3rem; }
.bsm-prog-field input, .bsm-prog-field textarea { padding:.6rem .7rem; border:1.5px solid var(--bsm-line); border-radius:6px; font:inherit; font-size:.95rem; }
.bsm-prog-field input:focus, .bsm-prog-field textarea:focus { outline:none; border-color:var(--bsm-gold); }
.bsm-prog-types { display:flex; gap:.6rem; }
.bsm-prog-type { flex:1; padding:.7rem; border:1.5px solid var(--bsm-line); background:#fff; border-radius:8px; font:inherit; font-weight:600; cursor:pointer; color:var(--bsm-ink); }
.bsm-prog-type.selected { background:var(--bsm-aub); color:#fff; border-color:var(--bsm-aub); }
.bsm-prog-msg { text-align:center; font-size:.9rem; color:#545049; margin-top:.75rem; font-style:italic; }

/* Caritate */
.bsm-cauze { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:1.5rem; max-width:1100px; margin:0 auto; }
.bsm-cauza { background:#fff; border:1px solid var(--bsm-line); border-radius:12px; overflow:hidden; box-shadow:0 4px 14px rgba(45,42,36,.08); display:flex; flex-direction:column; }
.bsm-cauza-img img { width:100%; height:200px; object-fit:cover; display:block; }
.bsm-cauza-body { padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.bsm-cauza-body h3 { font-family:'Cormorant Infant',Georgia,serif; font-size:1.4rem; color:var(--bsm-aub); margin:0 0 .5rem; }
.bsm-cauza-desc { color:#545049; font-size:.95rem; line-height:1.55; flex:1; }
.bsm-cauza-bar { height:10px; background:var(--bsm-cream); border-radius:6px; overflow:hidden; margin:1rem 0 .5rem; }
.bsm-cauza-bar span { display:block; height:100%; background:linear-gradient(90deg,var(--bsm-gold),#c8a04e); }
.bsm-cauza-stats { font-size:.88rem; color:var(--bsm-ink); margin-bottom:1rem; }
.bsm-cauza-stats strong { color:var(--bsm-gold); }
.bsm-cauza-btn { display:block; text-align:center; background:var(--bsm-aub); color:#fff; padding:.8rem; border-radius:8px; text-decoration:none; font-weight:600; }
.bsm-cauza-btn:hover { background:#4a3550; color:#fff; }

/* Pangar */
.bsm-pangar { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1.25rem; max-width:1100px; margin:0 auto; }
.bsm-produs { background:#fff; border:1px solid var(--bsm-line); border-radius:10px; overflow:hidden; display:flex; flex-direction:column; }
.bsm-produs-img img { width:100%; height:200px; object-fit:cover; display:block; }
.bsm-produs-body { padding:1.1rem; display:flex; flex-direction:column; flex:1; }
.bsm-produs-body h3 { font-family:'Cormorant Infant',Georgia,serif; font-size:1.2rem; color:var(--bsm-ink); margin:0 0 .35rem; }
.bsm-produs-desc { color:#6a6459; font-size:.88rem; flex:1; }
.bsm-produs-pret { font-weight:700; color:var(--bsm-gold); font-size:1.15rem; margin:.6rem 0; }
.bsm-produs-btn { background:var(--bsm-gold); color:#fff; border:none; padding:.65rem; border-radius:7px; font:inherit; font-weight:600; cursor:pointer; }
.bsm-produs-btn:hover { background:#b08f49; }
.bsm-order-modal { position:fixed; inset:0; background:rgba(45,40,48,.7); display:none; align-items:center; justify-content:center; z-index:9999; padding:1rem; }
.bsm-order-modal.show { display:flex; }
.bsm-order-box { background:#fff; border-radius:12px; padding:2rem; max-width:440px; width:100%; max-height:90vh; overflow:auto; }
.bsm-order-box h3 { font-family:'Cormorant Infant',Georgia,serif; color:var(--bsm-aub); margin:0 0 .25rem; }
.bsm-order-line { color:var(--bsm-gold); font-weight:600; margin-bottom:1rem; }
.bsm-order-box .bsm-prog-field { margin-bottom:.75rem; }
.bsm-order-close { background:none; border:none; color:#8a8378; cursor:pointer; width:100%; margin-top:.5rem; font:inherit; text-decoration:underline; }

/* Cookie banner */
.bsm-cookie { position:fixed; bottom:0; left:0; right:0; background:var(--bsm-aub); color:#f0e9dd; padding:1rem 1.5rem; display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; justify-content:center; z-index:10000; box-shadow:0 -4px 20px rgba(0,0,0,.2); }
.bsm-cookie-text { font-size:.9rem; max-width:720px; line-height:1.5; }
.bsm-cookie-text a { color:#d8b96a; }
.bsm-cookie-actions { display:flex; gap:.6rem; }
.bsm-cookie-ok { background:#d8b96a; color:#2d2030; border:none; padding:.6rem 1.4rem; border-radius:6px; font:inherit; font-weight:600; cursor:pointer; }
.bsm-cookie-no { background:transparent; color:#f0e9dd; border:1px solid #6a5570; padding:.6rem 1.2rem; border-radius:6px; font:inherit; cursor:pointer; }
