/* NYRVA LIFE – additions needed by the dynamic (PHP) pages.  Loaded AFTER style.css */

/* Flash messages */
.flash-wrap { margin-top: 18px; display: grid; gap: 10px; }
.flash { padding: 13px 18px; border-radius: 10px; font-size: .94rem; font-weight: 600; border: 1.5px solid; line-height: 1.5; }
.flash-success { background: #edf7ed; border-color: #86c28a; color: #1e5a1e; }
.flash-error   { background: #fdeceb; border-color: #e5a29d; color: #9b1c14; }
.flash-info    { background: #fff8e1; border-color: #e6c866; color: #6d5410; }

/* Header: logout as a button that looks like the other nav links */
.nav-logout-form { display: inline-flex; margin: 0; }
.nav-logout-btn { background: none; border: 0; cursor: pointer; font-family: inherit; }

/* Form errors under inputs / list of errors */
.form-errors { background: #fdeceb; border: 1.5px solid #e5a29d; color: #9b1c14; border-radius: 10px; padding: 12px 18px; margin-bottom: 18px; font-size: .92rem; }
.form-errors ul { margin: 6px 0 0 18px; }

/* Shop: category pills + search */
.shop-filter-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin: 0 0 30px; }
.cat-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.cat-pill { padding: 8px 18px; border-radius: 999px; border: 1.5px solid var(--border-gold); background: #fff; color: var(--green-dark); font-weight: 700; font-size: .88rem; text-decoration: none; transition: .2s; }
.cat-pill:hover { background: var(--cream); }
.cat-pill.active { background: var(--green-dark); color: #fff; border-color: var(--green-dark); }
.shop-search { display: flex; gap: 8px; }
.shop-search input { padding: 9px 14px; border: 1.5px solid var(--border-light); border-radius: 999px; font: inherit; font-size: .9rem; min-width: 210px; }
.shop-search button { padding: 9px 18px; border-radius: 999px; border: 0; background: var(--gold); color: #1c1c14; font-weight: 700; cursor: pointer; }
.shop-empty { text-align: center; padding: 50px 20px; background: var(--cream-soft); border: 1px dashed var(--border-gold); border-radius: 14px; color: var(--muted); }

/* Product page: pack-size chips, thumbs */
.variant-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 16px; }
.variant-chip { padding: 9px 18px; border-radius: 10px; border: 1.5px solid var(--border-gold); background: #fff; color: var(--green-dark); font-weight: 700; text-decoration: none; font-size: .92rem; }
.variant-chip small { display: block; font-weight: 600; color: var(--muted); font-size: .75rem; }
.variant-chip.active { background: var(--green-dark); color: #fff; border-color: var(--green-dark); }
.variant-chip.active small { color: #e6c866; }
.variant-chip.oos { opacity: .5; text-decoration: line-through; }
.thumb-row { display: flex; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.thumb-row button { width: 70px; height: 70px; padding: 4px; border: 1.5px solid var(--border-gold); border-radius: 10px; background: #fff; cursor: pointer; }
.thumb-row button img { width: 100%; height: 100%; object-fit: contain; }
.stock-low { color: #b45309 !important; }
.stock-out { color: #b3261e !important; }

/* Cart: form buttons inside quantity control */
.cart-qty-form { display: contents; }
.cart-qty-btn, .cart-item-remove-btn { font-family: inherit; }
.cart-item-issue { color: #b3261e; font-size: .84rem; font-weight: 700; margin-top: 6px; }
.btn[disabled], button.btn:disabled { opacity: .55; cursor: not-allowed; }

/* Cancelled status + payment status chips */
.badge-status.cancelled { background: #fdeceb; color: #9b1c14; border: 1px solid #e5a29d; }
.badge-status.cancelled::before { background: #b3261e; }
.pay-chip { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: .78rem; font-weight: 800; }
.pay-chip.paid { background: #edf7ed; color: #1e5a1e; }
.pay-chip.pending { background: #fff3d6; color: #7a5a06; }
.pay-chip.failed, .pay-chip.refunded { background: #fdeceb; color: #9b1c14; }

/* Payment page radios are real form inputs now */
.payment-method-radio { position: absolute; opacity: 0; pointer-events: none; }
.checkout-actions { margin-top: 22px; }
.pay-demo-note { font-size: .82rem; color: var(--muted); margin-top: 8px; }

/* Misc */
.link-button { background: none; border: 0; padding: 0; font: inherit; color: var(--green-deep, #1e5a1e); text-decoration: underline; cursor: pointer; }
.account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 800px) { .account-grid { grid-template-columns: 1fr; } .shop-search input { min-width: 0; width: 100%; } }
