/* ── General ─────────────────────────────────────────── */
.woocommerce-MyAccount-content > p:first-of-type { display: none; }

/* ── Layout ─────────────────────────────────────────── */
.ep-portal { background:#fff; padding:0; margin-bottom:2rem; font-family: inherit; }
.ep-portal h2 { color:#1a2332; font-size:2.2rem; margin-bottom:.5rem; font-weight:900; }
.ep-portal h3 { color:#1a2332; font-size:1.3rem; margin-bottom:1rem; font-weight:700; }
.ep-portal p  { line-height:1.6; color:#2c3e50; font-size:1rem; margin-bottom:1rem; }

/* ── Welcome banner ─────────────────────────────────── */
.ep-welcome {
    background: linear-gradient(135deg,#1a2332 0%,#2d3e50 100%);
    color:#fff; padding:2rem; border-radius:12px; margin-bottom:2.5rem;
    box-shadow:0 4px 20px rgba(0,0,0,.15);
}
.ep-welcome h3 { color:#fff; font-size:1.8rem; margin-bottom:.3rem; }
.ep-welcome p  { color:rgba(255,255,255,.85); margin:0; font-size:1rem; }
.ep-welcome-meta { display:flex; gap:1rem; flex-wrap:wrap; margin-top:1rem; align-items:center; }

/* ── Status pill (colours set via inline style in PHP) ── */
.ep-status-pill {
    display:inline-block; padding:.35rem 1rem; border-radius:20px;
    font-size:.85rem; font-weight:700; color:#fff;
    background: #6c757d; /* default — overridden by inline style */
}

/* ── Membership badge ───────────────────────────────── */
.ep-badge {
    display:inline-block;
    background:linear-gradient(135deg,#00d4a1,#00b88d);
    color:#fff; padding:.6rem 1.8rem; border-radius:30px;
    font-weight:700; font-size:1rem;
    box-shadow:0 4px 15px rgba(0,212,161,.3);
}

/* ── Cards ──────────────────────────────────────────── */
.ep-section {
    background:#DAF5E9; padding:2rem; border-radius:12px;
    margin:1.5rem 0; border-left:5px solid #00d4a1;
    box-shadow:0 2px 10px rgba(0,0,0,.05);
    transition:box-shadow .3s, transform .3s;
}
.ep-section:hover { box-shadow:0 4px 20px rgba(0,0,0,.1); transform:translateY(-2px); }

/* ── Feature list ───────────────────────────────────── */
.ep-features { list-style:none; padding:0; margin:1rem 0 1.5rem; }
.ep-features li {
    padding:.7rem 0 .7rem 2rem; position:relative;
    font-size:1rem; color:#2c3e50; border-bottom:1px solid rgba(0,212,161,.2);
}
.ep-features li:last-child { border-bottom:none; }
.ep-features li::before {
    content:'✓'; position:absolute; left:0;
    color:#00d4a1; font-weight:bold; font-size:1.2rem;
}

/* ── Buttons ────────────────────────────────────────── */
.ep-btn {
    display:inline-block; background:#00d4a1; color:#fff !important;
    padding:.85rem 2rem; border-radius:30px; text-decoration:none;
    font-weight:700; margin:.5rem .5rem 0 0; transition:all .3s;
    font-size:.95rem; box-shadow:0 4px 15px rgba(0,212,161,.3);
    line-height:1.4;
}
.ep-btn br { display:none; }
.ep-btn:hover { background:#00b88d; transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,212,161,.4); }
.ep-btn-outline {
    background:transparent; border:2px solid #1a2332;
    color:#1a2332 !important; box-shadow:none;
}
.ep-btn-outline:hover { background:#1a2332; color:#fff !important; }
.ep-btn-danger {
    background:transparent; border:2px solid #dc3545;
    color:#dc3545 !important; box-shadow:none;
}
.ep-btn-danger:hover { background:#dc3545; color:#fff !important; }

/* ── Alert boxes ────────────────────────────────────── */
.ep-alert { padding:1.2rem 1.5rem; border-radius:8px; margin:1rem 0; }
.ep-alert p { margin:0; font-size:.95rem; }
.ep-alert-warning { background:#fff3cd; border-left:5px solid #ffc107; }
.ep-alert-warning p { color:#856404; }
.ep-alert-info    { background:#d1ecf1; border-left:5px solid #0dcaf0; }
.ep-alert-info p  { color:#0c5460; }
.ep-alert-danger  { background:#f8d7da; border-left:5px solid #dc3545; }
.ep-alert-danger p { color:#721c24; }

/* ── No membership CTA ──────────────────────────────── */
.ep-upgrade { text-align:center; padding:2.5rem; }
.ep-upgrade h3 { font-size:1.6rem; }

/* ── Date meta ──────────────────────────────────────── */
.ep-meta-row { font-size:.9rem; color:#6c757d; margin:.3rem 0 1rem; }
.ep-meta-row strong { color:#2c3e50; }

/* ── Responsive ─────────────────────────────────────── */
@media(max-width:768px){
    .ep-portal h2 { font-size:1.7rem; }
    .ep-section   { padding:1.4rem; }
    .ep-btn       { display:block; width:100%; text-align:center; margin-right:0; }
    .ep-welcome-meta { flex-direction:column; }
}

/* ── Membership Summary ──────────────────────────────────── */
.ep-summary-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.ep-badge-large {
    font-size: 0.95rem;
    padding: 0.5rem 1.5rem;
    white-space: nowrap;
}

.ep-summary-meta {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-top: 0.75rem;
}

.ep-summary-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.ep-summary-label {
    font-size: 0.85rem;
    color: #6c757d;
    font-weight: 600;
    min-width: 120px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ep-summary-value {
    font-size: 0.95rem;
    color: #1a2332;
    font-weight: 700;
}

.ep-summary-divider {
    border: none;
    border-top: 1px solid rgba(0, 212, 161, 0.3);
    margin: 1.5rem 0;
}

.ep-summary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

@media (max-width: 768px) {
    .ep-summary-header { flex-direction: column; }
    .ep-badge-large { align-self: flex-start; }
    .ep-summary-label { min-width: 100px; }
    .ep-summary-actions .ep-btn { width: 100%; text-align: center; margin: 0; }
}