/* ===========================================================
   Espressimo — My Account (login + order history)
   =========================================================== */
.elementor-widget-espressimo_account_proto_v1,
.elementor-widget-espressimo_account_proto_v1 .elementor-widget-container {
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}

.esp-acct {
    font-family: 'Dialect PM', sans-serif;
    color: #522c25;
    max-width: 980px;
    margin: 0 auto;
    padding: 48px 24px;
}

.esp-acct__title { font-size: 32px; font-weight: 700; margin: 0 0 16px; color: #522c25; }
.esp-acct__sub   { font-size: 22px; font-weight: 700; margin: 28px 0 12px; color: #522c25; }

/* ── Auth (logged out) ── */
.esp-acct__auth { max-width: 420px; margin: 0 auto; background: #fff9f2; border: 1px solid #e6dad4; border-radius: 16px; padding: 28px; }
.esp-acct__auth .login-username,
.esp-acct__auth .login-password { margin: 0 0 14px; }
.esp-acct__auth label { display: block; font-size: 16px; margin-bottom: 6px; color: #522c25; }
.esp-acct__auth input[type="text"],
.esp-acct__auth input[type="password"] {
    width: 100%; box-sizing: border-box; background: #fff9f2; border: 1px solid #e6dad4;
    border-radius: 8px; padding: 11px 14px; font: inherit; font-size: 17px; color: #522c25; outline: none;
}
.esp-acct__auth input:focus { border-color: #c46500; }
.esp-acct__auth .login-remember { font-size: 15px; margin: 4px 0 14px; }
.esp-acct__auth .login-submit input[type="submit"] {
    width: 100%; background: #8B3A00; color: #fff; border: 0; border-radius: 10px;
    padding: 12px; font: inherit; font-size: 18px; cursor: pointer; transition: background-color .2s;
}
.esp-acct__auth .login-submit input[type="submit"]:hover { background: #a34500; }
.esp-acct__auth-links { margin-top: 16px; text-align: center; font-size: 16px; }
.esp-acct__auth-links a { color: #8B3A00; text-decoration: none; }
.esp-acct__auth-links a:hover { text-decoration: underline; }
.esp-acct__sep { opacity: .4; margin: 0 6px; }

/* ── Account (logged in) ── */
.esp-acct__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.esp-acct__hello { margin: 4px 0 0; font-size: 18px; opacity: .75; }
.esp-acct__logout {
    flex-shrink: 0; border: 1px solid #e6dad4; border-radius: 8px; padding: 8px 16px;
    color: #522c25; text-decoration: none; font-size: 16px; transition: border-color .2s, color .2s;
}
.esp-acct__logout:hover { border-color: #c46500; color: #8B3A00; }

.esp-acct__empty { opacity: .6; font-size: 18px; padding: 12px 0; }

.esp-acct__orders { overflow-x: auto; border: 1px solid #e6dad4; border-radius: 12px; }
.esp-acct__table { width: 100%; border-collapse: collapse; background: #fff9f2; }
.esp-acct__table th, .esp-acct__table td { text-align: right; padding: 14px 16px; border-bottom: 1px solid #e6dad4; font-size: 17px; }
.esp-acct__table th { background: #f6ede3; font-weight: 700; color: #522c25; }
.esp-acct__table tr:last-child td { border-bottom: 0; }
.esp-acct__order-id { font-weight: 700; }
.esp-acct__order-items { display: block; font-size: 14px; opacity: .55; margin-top: 2px; }
.esp-acct__pay { color: #b00; font-weight: 600; }
.esp-acct__pay.is-paid { color: #2e7d32; }

@media (max-width: 560px) {
    .esp-acct { padding: 32px 16px; }
    .esp-acct__title { font-size: 26px; }
    .esp-acct__table th, .esp-acct__table td { padding: 10px 12px; font-size: 15px; }
}
