/* Budapest Pictures Webshop — vásárlói felület (váz).
   Arculat: türkiz #0E9895 → mélylila #53366C, sötét #211D2B. */

.bpw-shop{max-width:640px;margin:0 auto;font-family:Roboto,system-ui,sans-serif;text-align:center}
.bpw-title{font-family:'Roboto Slab',Georgia,serif;color:#211D2B;font-size:26px;margin-bottom:6px}
.bpw-lead{color:#7A7A85;font-size:15px;margin-bottom:20px}
.bpw-error{background:#fdecec;border:1px solid #f3c2c2;color:#b02a2a;border-radius:10px;padding:10px 16px;font-size:14px}

.bpw-school{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(33,29,43,.07);padding:20px 22px;margin-bottom:14px;text-align:left}
.bpw-school-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px;flex-wrap:wrap}
.bpw-school-head b{font-family:'Roboto Slab',Georgia,serif;font-size:16px;color:#211D2B}
.bpw-deadline{font-size:12px;font-weight:700;color:#b0731a;background:#fdf3e2;padding:5px 12px;border-radius:99px;white-space:nowrap}

.bpw-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.bpw-tile{border:1.5px solid #E6E7EC;border-radius:12px;background:#fff;transition:.15s}
.bpw-tile:hover{border-color:#0E9895}
.bpw-tile summary{cursor:pointer;padding:15px 10px;text-align:center;font-family:'Roboto Slab',Georgia,serif;font-weight:800;font-size:16px;color:#211D2B;list-style:none}
.bpw-tile summary::-webkit-details-marker{display:none}
.bpw-tile[open]{grid-column:1/-1;border-color:#0E9895}

.bpw-tile.bpw-open{margin:0}
.bpw-tile.bpw-open button{display:block;width:100%;padding:15px 10px;text-align:center;font-family:'Roboto Slab',Georgia,serif;font-weight:800;font-size:16px;color:#211D2B;background:none;border:none;cursor:pointer}
.bpw-tile.bpw-open button:hover{color:#0E9895}

.bpw-passform{display:flex;gap:8px;padding:0 14px 14px}
.bpw-passform input{flex:1;border:2px solid #E6E7EC;border-radius:10px;padding:11px 14px;font-size:15px;text-align:center;letter-spacing:.1em;min-width:0}
.bpw-passform input:focus{border-color:#0E9895;outline:none}
.bpw-passform button{background:linear-gradient(135deg,#0E9895,#53366C);color:#fff;border:none;border-radius:10px;padding:11px 22px;font-weight:700;font-size:14px;cursor:pointer}
.bpw-passform button:hover{filter:brightness(1.1)}

@media(max-width:520px){.bpw-tiles{grid-template-columns:repeat(2,1fr)}}

/* ---- Galéria (belépés után) ---- */
.bpw-gallery{max-width:1100px}
.bpw-fcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:20px}
.bpw-fcard{background:#fff;border:1.5px solid #E6E7EC;border-radius:12px;padding:12px 14px;cursor:pointer;text-align:left;transition:.15s;font-family:Roboto,system-ui,sans-serif}
.bpw-fcard b{display:block;font-size:14px;color:#211D2B}
.bpw-fcard small{color:#7A7A85;font-size:12px}
.bpw-fcard:hover{border-color:#0E9895;transform:translateY(-2px)}
.bpw-fcard.on{border-color:#0E9895;background:#f0faf9;outline:2px solid #0E9895}

.bpw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;text-align:left}
.bpw-photo{margin:0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(33,29,43,.07);cursor:zoom-in;transition:.15s}
.bpw-photo:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(33,29,43,.16)}
.bpw-photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.bpw-photo figcaption{padding:8px 10px;font-size:12px;color:#7A7A85;display:flex;justify-content:space-between;gap:8px;align-items:center}
.bpw-photo figcaption span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bpw-photo figcaption b{color:#0E9895;font-size:11.5px;white-space:nowrap}

.bpw-note{background:#f0faf9;border:1px solid #c8e9e8;border-radius:10px;padding:10px 16px;font-size:13px;color:#0b7472;margin-top:20px}

/* ---- Rendelési ablak ---- */
.bpw-overlay{position:fixed;inset:0;background:rgba(33,29,43,.62);z-index:99999;display:flex;align-items:center;justify-content:center;padding:14px}
.bpw-modal{position:relative;background:#fff;border-radius:16px;max-width:min(880px,96vw);width:100%;max-height:94vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.4);font-family:Roboto,system-ui,sans-serif}
.bpw-modal-img{background:#211D2B;display:flex;align-items:center;justify-content:center;min-height:260px;max-height:94vh}
.bpw-modal-img img{width:100%;height:100%;max-height:94vh;object-fit:contain;display:block}
.bpw-modal-opts{padding:24px 24px 20px;overflow-y:auto;max-height:94vh;min-width:0;text-align:left}
.bpw-modal-opts h3{font-family:'Roboto Slab',Georgia,serif;font-size:18px;color:#211D2B;margin:0 0 2px}
.bpw-modal-sub{color:#7A7A85;font-size:13px;margin:0 0 14px}
.bpw-modal-close{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.92);border:none;width:34px;height:34px;border-radius:50%;font-size:15px;cursor:pointer;color:#211D2B;z-index:5}
.bpw-sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.bpw-size{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1.5px solid #E6E7EC;border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer;font-size:13.5px;font-family:inherit;text-align:left;min-width:0}
.bpw-size span{color:#211D2B;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bpw-size b{color:#53366C;white-space:nowrap}
.bpw-size:hover{border-color:#A169D2}
.bpw-size.on{border-color:#0E9895;background:#f0faf9;outline:1.5px solid #0E9895}
.bpw-retus{display:flex;gap:10px;align-items:flex-start;border:1.5px dashed #E6E7EC;border-radius:10px;padding:11px 13px;cursor:pointer;margin-bottom:14px}
.bpw-retus input{margin-top:3px}
.bpw-retus b{font-size:13.5px;color:#211D2B;display:block}
.bpw-retus small{color:#7A7A85;font-size:12px}
.bpw-qty{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.bpw-qty button{width:34px;height:34px;border-radius:9px;border:1.5px solid #E6E7EC;background:#fff;font-size:17px;cursor:pointer;color:#211D2B}
.bpw-qty-n{font-size:16px;font-weight:700;min-width:22px;text-align:center}
.bpw-total{margin-left:auto;font-size:17px;color:#53366C}
.bpw-add{display:block;width:100%;background:linear-gradient(135deg,#0E9895,#53366C);color:#fff;border:none;border-radius:10px;padding:13px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit}
.bpw-add:hover{filter:brightness(1.1)}
.bpw-add:disabled{opacity:.6;cursor:wait}

/* ---- Kosársáv + toast ---- */
#bpw-cartbar{position:fixed;right:22px;bottom:22px;z-index:99990;background:#211D2B;color:#fff;text-decoration:none;border-radius:99px;padding:13px 22px;font-size:14px;font-family:Roboto,system-ui,sans-serif;box-shadow:0 12px 34px rgba(33,29,43,.35);transition:.15s}
#bpw-cartbar:hover{transform:translateY(-2px);color:#fff}
#bpw-cartbar b{color:#4fd8c9}
#bpw-toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(20px);background:#211D2B;color:#fff;padding:11px 22px;border-radius:12px;font-size:14px;font-family:Roboto,system-ui,sans-serif;opacity:0;transition:.25s;z-index:99995;pointer-events:none}
#bpw-toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

.bpw-info{margin:0 0 14px;font-size:12.5px;color:#7A7A85;border:1px solid #E6E7EC;border-radius:10px;padding:9px 13px;background:#fafafc}
.bpw-info summary{cursor:pointer;color:#0E9895;font-weight:700;font-size:13px}
.bpw-info ul{margin:8px 0 2px;padding-left:18px;line-height:1.55}
.bpw-info li{margin-bottom:4px}

@media(max-width:700px){
	.bpw-overlay{padding:8px}
	.bpw-modal{grid-template-columns:1fr;max-height:96vh;overflow-y:auto}
	.bpw-modal-img{min-height:160px;max-height:36vh}
	.bpw-modal-img img{max-height:36vh}
	.bpw-modal-opts{max-height:none;overflow:visible;padding:18px 16px 16px}
	.bpw-sizes{grid-template-columns:repeat(2,minmax(0,1fr))}
	.bpw-size{padding:9px 10px;font-size:12.5px}
	#bpw-cartbar{right:12px;bottom:12px;left:12px;text-align:center}
}
