.alborz-course-grid,
.alborz-account-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.alborz-course-card,
.alborz-account-card { padding: 20px; border: 1px solid #e6ece8; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgb(3 36 24 / 8%); }
.alborz-course-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.alborz-course-card h3,
.alborz-account-card h3 { margin: 12px 0 4px; }
.alborz-account-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 26px; }
.alborz-account-heading .eyebrow { margin-bottom: 6px; }
.alborz-account-heading p { margin: 4px 0 0; color: #6c7a72; font-size: 14px; }
.alborz-account-title { margin: 0; color: #032418; font-size: 28px; }
.alborz-account-card { overflow: hidden; padding: 0; }
.account-card-image { width: 100%; height: 170px; object-fit: cover; }
.account-card-image-placeholder { display: grid; place-items: center; color: #ffd200; background: linear-gradient(135deg, #032418, #0b3023); font-size: 30px; font-weight: 700; }
.account-card-body { padding: 18px; }
.account-card-kicker { color: #078d8e; font-size: 12px; font-weight: 700; }
.account-card-body h3 { margin: 4px 0 12px; color: #032418; font-size: 18px; }
.account-card-body h3 a:hover { color: #078d8e; }
.account-card-facts,
.ticket-card-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
.account-card-facts div,
.ticket-card-meta div { padding: 8px 10px; background: #f1f5f3; border-radius: 8px; }
.account-card-facts dt,
.ticket-card-meta dt { color: #6c7a72; font-size: 11px; }
.account-card-facts dd,
.ticket-card-meta dd { margin: 2px 0 0; color: #173126; font-size: 12px; font-weight: 600; }
.account-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 14px; }
.account-card-footer a { color: #078d8e; font-size: 12px; font-weight: 700; }
.alborz-enrollment-status { color: #064b2c; background: #dcf8e7; border-radius: 20px; padding: 3px 9px; font-size: 11px; font-weight: 700; }
.woocommerce-account .alborz-account-card.alborz-ticket-card { display: flex; flex-direction: column; align-items: stretch; min-height: 100%; padding: 24px !important; text-align: center; }
.ticket-card-top { display: flex; justify-content: space-between; align-items: center; width: 100%; margin-bottom: 20px; }
.alborz-ticket-card .account-card-kicker { display: block; margin-top: 2px; }
.alborz-ticket-card h3 { margin: 8px 0 20px; color: #032418; font-size: 21px; letter-spacing: .04em; direction: ltr; }
.ticket-card-expiry { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border-radius: 10px; background: #f1f5f3; color: #6c7a72; font-size: 12px; text-align: right; }
.ticket-card-expiry strong { color: #173126; font-size: 14px; }
.woocommerce-account .ticket-qr-button,
.woocommerce-account .alborz-account-heading .button-primary { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; color: #fff !important; background: linear-gradient(135deg, #078d8e, #056d70) !important; border: 1px solid #056d70 !important; border-radius: 9px; box-shadow: 0 6px 14px rgb(5 109 112 / 20%); font-weight: 800; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.woocommerce-account .ticket-qr-button { display: flex; width: 100%; margin-top: 22px !important; text-align: center; }
.woocommerce-account .ticket-qr-button:hover,
.woocommerce-account .alborz-account-heading .button-primary:hover { color: #fff; background: linear-gradient(135deg, #056d70, #04585a); box-shadow: 0 8px 18px rgb(5 109 112 / 28%); transform: translateY(-1px); }
.woocommerce-account .ticket-qr-button:active,
.woocommerce-account .alborz-account-heading .button-primary:active { transform: translateY(1px); box-shadow: 0 3px 8px rgb(5 109 112 / 20%); }
.ticket-card-icon { display: grid; place-items: center; width: 38px; height: 38px; background: #fff3bf; border-radius: 10px; font-size: 20px; }
.alborz-empty-state { grid-column: 1 / -1; padding: 44px 20px; text-align: center; background: #fff; border: 1px dashed #cbdad1; border-radius: 14px; }
.alborz-empty-icon { display: block; margin-bottom: 8px; color: #078d8e; font-size: 30px; }
.alborz-empty-state h3 { margin: 0 0 5px; color: #032418; font-size: 20px; }
.alborz-empty-state p { margin: 0 0 18px; color: #6c7a72; font-size: 14px; }
.alborz-ticket-status { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 700; }
.alborz-ticket-valid { color: #064b2c; background: #dcf8e7; }
.alborz-ticket-used { color: #6e2b2b; background: #fbe1e1; }
.alborz-ticket-expired { color: #765b00; background: #fff3bf; }
.alborz-ticket-qr-page { max-width: 560px; margin: 0 auto; padding: 8px 0 32px; }
.ticket-back-button { display: inline-flex; margin-bottom: 16px; color: #078d8e; }
.alborz-ticket-qr-card { padding: 28px 24px; border: 1px solid #e6ece8; border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgb(3 36 24 / 10%); text-align: center; }
.alborz-ticket-qr-card h2 { margin: 8px 0 4px; color: #032418; font-size: 26px; }
.ticket-qr-product { margin: 0 0 14px; color: #6c7a72; font-size: 14px; }
.ticket-qr-image-wrap { display: grid; place-items: center; margin: 24px auto 18px; padding: 16px; width: min(100%, 300px); aspect-ratio: 1; border: 1px solid #edf1ee; border-radius: 14px; background: #fff; }
.ticket-qr-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.alborz-ticket-qr-card h3 { margin: 0 0 8px; color: #032418; direction: ltr; letter-spacing: .06em; font-size: 22px; }
.ticket-qr-help { margin: 0 0 20px; color: #6c7a72; font-size: 13px; }
.ticket-qr-meta { margin-bottom: 20px; }
.ticket-back-full-button { display: block; width: 100%; text-align: center; }
@media (max-width: 800px) { .alborz-course-grid, .alborz-account-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .alborz-account-heading { align-items: stretch; flex-direction: column; } }
@media (max-width: 520px) { .alborz-course-grid, .alborz-account-grid { grid-template-columns: 1fr; } }
